我正在构建一个需要在本地使用数据库的 Android 测验应用程序。 SQLite 似乎是我需要的。
数据库将包含问题和答案(由我手动输入,而不是使用应用程序输入),以及一些存储用户分数、进度等的表格。
我的问题是如何手动创建表并将数据从其他来源(或使用 INSERT INTO 查询插入)导入到 Android 的嵌入式 SQLite 中?在线教程只教我如何从头开始并通过应用程序界面进行...
最佳答案
有多种方法可以做到这一点。
您可以创建包含问题和答案的数据库作为 Assets 文件夹中的 Assets 。这个预先存在的数据库然后被复制一次,可能利用 SQLiteAssetHelper管理数据库的副本。
有许多可用的 SQLite 管理类型工具,例如 SQlite studio、DB Browser for SQlite、Navicat,可用于创建数据库和加载数据。然后,您只需将保存的文件复制到 assets 文件夹中(请注意,对于 SQLiteAssethelper,该文件需要位于 assets/databases 文件夹中)。
限制/复杂性/缺点是问题和答案是否会随着时间的推移而改变(例如,添加了更多的问题和答案)。
另一种方法是定义数据库结构并将问题作为外部文件提供,而不是读取并用于将问题插入数据库的预先存在的数据库(作为 Assets )。通过一些考虑/规划,这可以相对简单地处理持续存在的问题。
另一种方法是将问题放在集中式服务器上(Firebase 可能适合此问题)而不是 Assets 文件。该应用程序将连接到服务器并将问题加载到数据库中。
关于android - 手动创建数据并将其插入 SQLite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52380821/