问题标签 [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.
android - Android Room:使用 Room 插入关系实体
我已经使用Relation在 Room 中添加了一对多关系。我参考这篇文章为 Room 中的关系编写了以下代码。
该帖子讲述了如何从数据库中读取值,但将实体存储到数据库中导致userId
为空,这意味着这两个表之间没有关系。
我不确定在有价值的同时进入数据库的理想insert
方式User
是List of Pet
什么userId
。
1) 用户实体:
2) 宠物实体:
3) UserWithPets POJO:
现在要从数据库中获取记录,我们使用以下命令DAO
:
编辑
我在问题跟踪器上创建了这个问题https://issuetracker.google.com/issues/62848977 。希望他们会为此做点什么。
android - Room 和 Kotlin - 得到“查询中的每个绑定变量都必须有一个匹配的方法参数。”
我收到此错误:
当像这样尝试 Room 和 Kotlin 时:
但我正在传递和使用这个参数。任何人都知道问题是什么,或者可以指出我在 Kotlin 中使用 Room 的工作示例?
android - 如何在首次运行时填充 Android Room 数据库表?
有SQLiteOpenHelper
一种onCreate(SQLiteDatabase ...)
方法,我用来用一些初始数据填充数据库表。
有没有办法在第一次运行应用程序时将一些数据插入到 Room 数据库表中?
android - 如何在 RoomDatabase 中存储枚举的 ArrayList
我的问题是如何存储
在 RoomDatabase 中,到目前为止我没有找到答案。
android - Android Room 数据库事务
使用 Android 中的新房间数据库,我需要执行两个顺序操作:
如果我运行它,我会看到(在检查数据库时)缺少一些行 - 我假设它们在插入后被删除。即。第一个操作与第二个操作并行运行。
如果我使用这样的事务块,那么一切都很好 - 第一个操作似乎在执行第二个操作之前完成:
如果我在中间休息一下也可以:
Room 似乎没有太多文档,并且想知道当我要完成顺序操作时是否应该使用上述事务块,或者有没有更好的方法。
编辑:@CommonsWare 指出后,@Query
是异步的,而@Insert
和@Delete
是同步的。鉴于此,我将如何获得一个删除异步行的查询:
根据我得到的构建输出Deletion methods must either return void or return int (the number of deleted rows)
,如果我尝试将返回类型包装在Flowable
.
android - 如何在 Android Room 中存储对象?
基本上,有两件事我不明白:带有对象的对象和带有对象列表的对象
假设我从服务器收到一个对象列表。他们每个人看起来像这样:
将这两个对象作为字段:
它们比这更复杂,所以我不能像 Room 建议的那样使用 @TypeConverters:
如何将这个数据结构存储在 Room 中?
android - Room - LiveData 观察者在数据库更新时不会触发
我试图在下面的代码中找出,为什么一旦我用新数据填充数据库,Room 的 LiveData observable 不会给我新的转变。
这是放在我活动的 onCreate 方法上的:
这是 populateAdapter 方法:
我还有以下填充数据库的代码(我使用 RxJava 在 IO 线程上完成工作,因为 Room 需要在主线程之外调用它的代码):
在我开始观察我的 shiftsViewModel 后调用persistShifts 时出现的问题。我希望我的观察者(LiveData)会被所有新添加的班次触发。事实证明,观察者被触发,但返回的是一个空的班次列表。使其“工作”的唯一方法是我离开活动(因此破坏当前的 ViewModel)并再次进入。这一次,viewModel 的 LiveData 为我提供了之前坚持的所有转变,正如预期的那样。
这是其余的代码:
道:
视图模型:
为什么我没有立即获得在 observe() 回调中坚持的班次列表?
android - 带有 Android Room 的可重用通用基类 DAO
有什么方法可以使用 Android Room 创建可重用的通用基类 DAO?
在不必声明相同的接口成员并为每个子类编写查询的情况下,我无法想出任何方法来实现这一点。当处理大量类似的 DAO 时,这变得非常乏味......
kotlin - Android 房间不返回任何以 url 作为参数的内容
我正在尝试通过 Feed 的主键访问项目列表,就像这样。主键是一个 url。尝试像这样访问它会使我返回 null,而尝试加上:arg0
引号会产生 compile time error error: Unused parameter: arg0
。是否可以为此查询使用 url?
物品
喂养
所有者