Skip to content Skip to sidebar Skip to footer

What Is The Best Way To Not Use Allowmainthreadqueries() Using Android Room?

I always use allowmainthreadqueries() in Android Room. But many people say it is not recommend to do it. With this function, Room is very easy to use. But if i should change my app

Solution 1:

Yes, It is not a good approach to query DB on Main Thread. There are different ways, to keep the DB operation off the main(UI) thread, Mainly

  1. Kotlin Coroutines. https://developer.android.com/codelabs/kotlin-android-training-coroutines-and-room#0
  2. RxJava(RxAndroid) https://medium.com/androiddevelopers/room-rxjava-acb0cd4f3757
  3. LiveData https://developer.android.com/codelabs/android-training-livedata-viewmodel#0
  4. Executors
  5. AsycTask

Out of the above, the best option would always depend upon what is your use case. But the first three are the best options to use. since they provide a callback on the result of a query.

Post a Comment for "What Is The Best Way To Not Use Allowmainthreadqueries() Using Android Room?"