Roomの処理をAcitivtyでしようとして「Cannot access database on the main thread since it may potentially lock the UI for a long period of time.」と出た時やったこと
#参考
Kotlin で Room を使う際に詰まったところをまとめる
非同期処理のCoroutine(コルーチン)を始めてみよう ...
(上記のonDestroyでコルーチンのJobキャンセルし忘れがなくなり、記述も簡潔に書けるようになるとの記述がとても参考になりました。)
#結果
ScopedAppActivityを作成し各々のActivityにて継承してコルーチンを使用することにしました。
open class ScopedAppActivity: AppCompatActivity(), CoroutineScope by MainScope() {
override fun onDestroy() {
super.onDestroy()
cancel()
}
}