问题标签 [android-room]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
entity - Room Android:实体和 Pojos 必须有一个可用的公共构造函数
实体和 Pojos 必须有一个可用的公共构造函数。您可以有一个空的构造函数或参数与字段匹配的构造函数(按名称和类型)
我正在将房间整合到我现有的项目中。在使用 @Entity 标记注释实现 Parcelable 的 POJO 并进行必要的更改时,出现此错误。我已经有一个空的构造函数。任何帮助,将不胜感激。
kotlin - Android Room + Kotlin 模式
Android Room 文档说我们在实例化 AppDatabase 对象时应该遵循单例设计模式。
我正在考虑它,我想知道是否建议将 AppDatabase 类放在我的 Application 类中。或者,如果我可以为此使用 Kotlin 单例。
假设我有一个名为 CarroDAO 的 DAO 和作为 RoomDatabase 的类 CarrosDatabase。
可以使用 Kotlin 对象/单例创建 DatabaseManager 类吗?
所以我可以像这样得到DAO类:
android - 无法访问主线程上的数据库 - Android Room - 使用 ThreadPoolExecutor
我遇到了那个著名的错误"Cannot access database on the main thread since it may potentially lock the UI for a long periods of time"
但是据我了解,我没有在主线程中访问数据库,因为我正在由 ThreadPoolExecutor 执行的 Runnable 中执行调用。我究竟做错了什么?
在下面的方法中,我使用一个 runnable 从网络获取数据并将其存储在本地数据库中。
数据源.save:
执行者定义为:
我得到的错误:
java - Room 如何通知 UI 数据已更改?
我有这个查询:
这是我的视图模型:
在我的活动的 onCreate 中,我调用:
在JobService 中,我下载了一个 Json 并将其转换为Room对象并调用
但什么也没发生:-(
我必须手动触发房间刷新还是会自动为我触发房间刷新?我错过了什么吗?
编辑:
我添加了一些注销,这是到目前为止按此顺序发生的情况:
MainActivityViewModel
创建并调用db.movieDao().getAll()
- Activity 观察 ViewModel
viewModel.getData().observe(this, adapter::setMovies)
setMovies
用 0 个数据调用- 几秒钟后 JobService 已启动,加载数据并调用
db.movieDao().insertAll(movies.results)
在这一点上,我期待来自 Room 的刷新调用,因为数据库数据已更改但没有任何反应。
android - 在 DAO 类 Room 持久化方法中传入的自定义对象
我正在尝试用Room persistence
我有一个接受自定义对象并返回该行的 id 在数据库中的方法替换我的数据库
我想用 Room persistence DAO 方法替换这个方法
该场景的查询是什么?
android - Room 不能选择一个构造函数,因为多个构造函数是合适的错误
我尝试在我的 android kotlin 项目中实现持久库,但在编译时发现此错误:
错误:房间不能选择一个构造函数,因为多个构造函数是合适的。尝试使用 @Ignore 注释不需要的构造函数。
错误代码:
java - Android 架构组件:如何观察数据库中的单个更改
我有几个问题,请看下面的问题:
守则。
道
D b
模型视图
实体(科特林)
实时数据
问题一:
使用上面的代码,我的理解是我应该使用viewModel
. 我想使用 ViewModel,但在“观察”时没有得到任何数据,我该如何解决这个问题?
但这不会返回任何数据,而以下效果很好:
问题2 :
如果我使用这个:
如何观察数据库中的单个更改,例如删除行或添加新行?
android - Android Room FOREIGN KEY 约束失败
我正在尝试借助 Google 在 I/O 2017 中引入的 Android Room Persistence(一种 ORM)在 Android SQLite 中设计和实现文件夹树结构。在我的设计中,一个文件夹可以包含另一个文件夹和文件。这是我的文件夹和文件代码:
文件模型:
这是文件夹代码:
在它自己的 ID 列上有一个外键作为父级。
这是FolderDAO:
但是当我创建一个文件夹对象并尝试插入它时:
得到这个错误:
FOREIGN KEY 约束失败
有谁知道我的项目表有什么问题或建议另一种设计?
android - 尝试使用 Android 房间库缓存 HashSet 时出错
我愿意尝试来自 Android 的新 Room Library,但遇到了以下错误:
错误:(19, 29) 错误:无法弄清楚如何将此字段保存到数据库中。您可以考虑为其添加类型转换器。
此错误涉及以下类成员:
我有以下课程:
此外,还有一个相对的 DAO 类:
由于我正在努力成为一名非常优秀的开发人员,因此我编写了一个单元测试如下:
我应该在这里做什么?