进入房间数据库的正确方法是什么?

问题描述 投票:0回答:1

希望你能帮帮我。

我是一个新的工作与Android Jetpack,具体与房间组件。正如他们在文档中提到的,在主线程中访问数据库是一种不好的做法,所以我想知道我们如何访问数据库。我们需要创建一个 "Worker "和一个 "WorkRequest",然后用WorkManager在后台线程中进行查询?还是有更好的方法?

java android android-room android-jetpack
1个回答
1
投票

我是 WorkManager 不是正确的访问方式 Room 数据库。原因是,。

WorkManager 是用来运行 延期,保证后台异步工作时,工作的。 限制 满意

所以,有几个 WorkManager 的处理方式,你不符合访问 Room 数据库或一般来说任何数据库。

  • 首先,你需要即时访问数据库,但是... WorkManager是可以推迟的。
  • 第二:在大多数情况下,你需要在没有约束的情况下访问Room数据库,但 WorkManager 满足约束条件时运行。

相反,还有其他方法,比如 Thread, Executors, Kotlin CoroutinesLiveData 提供对数据库查询的异步访问。

请看一下其他文档链接。并发线程


0
投票

你需要创建一个新的线程来运行Room查询。

如果你使用的是Kotlin,那么Coroutines将是你多线程的最佳选择我建议你关注这个课程。google代码实验室。

如果你熟悉反应式编程,也可以使用RxJava进行多线程。

© www.soinside.com 2019 - 2024. All rights reserved.