By default to avoid poor ui performance room doesn t allow you to issue queries on the main thread.
Room on main thread.
Dao methods can now be marked as suspending to ensure that they are not executed on the main thread.
Asynchronous queries queries that return instances of livedata or flowable are exempt from this rule because they asynchronously run the query on a background.
When room queries return livedata the queries are automatically run asynchronously on a background thread.
Room is an android library on top of sqlite which performs compile time checks on sql queries and frees you up from writing db helpers.
Room uses the dao to issue queries to its database.
Photo by cheryl zibisky photography.
Room doesn t support database access on the main thread unless you ve called allowmainthreadqueries on the builder because it might lock the ui for a long period of time.
Here an app will crash as the operation is performed on a main thread.
In threads 175 mary ray described her favorite methods for storing fabrics notions and thread in her banner elk north carolina studio.
Doing database operations insert update delete read data from the table has to be done in background thread will it was always intended to be perform on background thread but now it s mandatory.
Room takes care of mundane tasks that you used to handle with an sqliteopenhelper.
Room 2 1 adds support for kotlin coroutines.
Fixed a bug where room would perform disk i o in the main thread when subscribing and disposing from an rx return type.
Read on to see how to use this how it works under.