我想在我的 Android 应用程序中将数千行数据添加到 sqlite room 数据库表
sales
。下面是我在 App Inspection 中运行的一个示例查询,用于将一行数据添加到数据库中的 sales
表中。
INSERT INTO sales VALUES (1, 'Lollipop sweets', 'Food', 'Other', 2, 10, 1680574354950)
我有数千行要添加到
sales
表中。在 SQL 中,通常可以用分号 (;) 分隔多个查询,并且它们都会一个接一个地执行。使用 App Inspection 查询时,房间数据库是否有等效的数据库?
是否可以使用 App Inspection 查询一次添加所有行?
如果这是不可能的。添加数据的更好方法是什么?
是否可以使用 App Inspection 查询一次性添加所有行?
应用程序检查仅允许执行单个查询。
此外,通过 App Inspection 填充数据库将仅填充通过 Android Studio 使用的设备上的数据库。它不适合公开发布的应用程序。
使用 App Inspection 查询时,房间数据库是否有等效项?
并非专门用于 Room 或通过 Android Studio。
添加数据的更好方法是什么?
可能使用预先填充的数据库,可以通过 SQLite 工具创建和/或维护,例如 -
这些都允许以某种形式从外部数据导入(至少 CSV)
但是,应该注意的是,Room 是 SQLite 的受限形式,并且具有真正的要求的期望。建议您
@Entity
带注释的类(即表格)开始,然后@Database
带注释的抽象类,其中包含所有 @Entity
带注释的类,然后@Database
注释的类同名但后缀为 _Impl
的类,然后createAllTables
方法(函数),
6 将创建表的 SQL(忽略 room_master 表)复制到您选择的 SQLite 工具中,然后.createFromAsset
方法时添加 .databaseBuilder
方法。当数据库不存在时,应用程序会将文件从资产复制到预期位置。如果应用程序已分发,则该文件是包的一部分,因此将被分发。