WorkManager
- неправильный способ доступа к базе данных Room
. Причина в том, что:
WorkManager
предназначен для использования отложенной , гарантированной фоновой асинхронной работы, когда выполняются ограничения работы
Итак, есть пара WorkManager
обработок, которые вы не можете сопоставить с доступом к Room
базе данных или любой другой базе данных, вообще говоря:
- Первое: вам нужно мгновенное доступ к базе данных, но
WorkManager
можно отключить. - Второе: в большинстве случаев вам нужен доступ к базе данных Room без ограничений, но
WorkManager
запускается, когда ограничения удовлетворены.
Вместо этого есть другие способы, например Thread
, Executors
, Kotlin Coroutines , а также LiveData
обеспечивает асинхронный доступ к запросам к базе данных.
Посмотрите другие ссылки на документацию: Concurrent и Threading