使用数据库发送应用程序如果您的应用程序需要数据库并且它带有内置数据,那么运送该应用程序的最佳方式是什么?我是不是该:预先创建SQLite数据库并将其包含在.apk?在应用程序中包含SQL命令并让它创建数据库并在首次使用时插入数据?我看到的缺点是:可能的SQLite版本不匹配可能会导致问题,我目前不知道数据库应该去哪里以及如何访问它。在设备上创建和填充数据库可能需要很长时间。有什么建议?关于任何问题的文档的指针将不胜感激。
4 回答
HUX布斯
TA贡献1876条经验 获得超6个赞
我刚刚ReignDesign blog
在一篇名为“ 在Android应用程序中使用您自己的SQLite数据库 ”的文章中找到了一种方法。基本上,您可以预先创建数据库,将其放在apk中的assets目录中,然后首先使用copy to /data/data/YOUR_PACKAGE/databases/
directory。
缥缈止盈
TA贡献2041条经验 获得超4个赞
该SQLiteAssetHelper
库使这项任务非常简单。
它很容易添加为gradle依赖项(但是一个Jar也可用于Ant / Eclipse),并且可以在以下文档中找到它们的文档:https:
//github.com/jgilfelt/android-sqlite-asset-helper
注意:此项目不再按照Github链接上的说明进行维护。
如文档中所述:
将依赖项添加到模块的gradle构建文件中:
dependencies { compile 'com.readystatesoftware.sqliteasset:sqliteassethelper:+'}
将数据库复制到assets目录中的一个子目录中
assets/databases
。例如:assets/databases/my_database.db
(可选地,您可以使用zip文件压缩数据库,例如
assets/databases/my_database.zip
。这不是必需的,因为APK已经整体压缩了。)创建一个类,例如:
public class MyDatabase extends SQLiteAssetHelper { private static final String DATABASE_NAME = "my_database.db"; private static final int DATABASE_VERSION = 1; public MyDatabase(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); }}
添加回答
举报
0/150
提交
取消