0

我正在使用Room在我的应用程序中管理 SQLite 数据库。问题是我正在迁移一个项目,在该项目中我从私有 Web 服务下载一些数据,最后我收到一个ContentValues对象,其中包含要保存到我的 POJO 的所有数据(比如说 UserPojo)。因为我有这个 ContentValues 对象,我最初考虑使用该SqLiteOpenHelper's insert方法,但我不知道如何从我RoomDatabase的 .

我尝试的是以下内容:

MyDatabase.getDatabaseInstance(MyApplication.getAppContext()).getOpenHelper().getWritableDatabase().insert(currentTable, CONFLICT_NONE, rowValues);

好吗?我应该从哪里调用它?ViewModel? 一个新的DAO?我该怎么做?谢谢。

4

1 回答 1

0

如果您要插入 Room,那么您将拥有一个实体,它实际上是一个带有注释的普通类,以便 Room 可以创建和访问表。

因此,您可以从 ContentValues 创建类/实体的实例(使用适当的 get 方法),然后使用 Room 插入(@Insert)。

于 2021-04-28T12:07:31.660 回答