【发布时间】:2019-04-25 10:10:06
【问题描述】:
我正在做一个地图活动, 在标记单击时,我会在文本视图上显示信息。 信息保存在 android room 数据库中,因为我需要数据持久化。
我只想查询一行,列名,标记标签
我已经搜索了很多查询一行的方法,但没有一个是针对我的问题的。
【问题讨论】:
-
是的,您可以使用 AsynTask。对于简单的执行,只需使用 Room 的 Executor 即可。
-
您需要在后台线程上进行 Room 查询。但是,
AsyncTask已过时。现代 Android 开发使用其他方法进行线程管理。例如,您的 Room DAO 可以让这个@Query方法返回LiveData或 RxJava 类型(例如,Single)。 -
@CommonsWare,你是什么意思?我确实有很多 atQuery 的 Room DAO。但是网上没有什么建议如何正确使用它来只调用一行,所有的教程都是insert/query all/delete all
-
“但是网上没有什么建议如何正确使用它来只调用一行”——嗯,这只是 SQL(例如,
SELECT ... FROM table WHERE _ID = :id)。 Room 文档显示了单实体 DAO 查询(请参阅 here)。 -
One of my books 涵盖单实体 DAO 查询。示例包括this 和this。
标签: android android-asynctask android-room android-database