猿问

使用数据库发送应用程序

使用数据库发送应用程序

如果您的应用程序需要数据库并且它带有内置数据,那么运送该应用程序的最佳方式是什么?我是不是该:

  1. 预先创建SQLite数据库并将其包含在.apk

  2. 在应用程序中包含SQL命令并让它创建数据库并在首次使用时插入数据?

我看到的缺点是:

  1. 可能的SQLite版本不匹配可能会导致问题,我目前不知道数据库应该去哪里以及如何访问它。

  2. 在设备上创建和填充数据库可能需要很长时间。

有什么建议?关于任何问题的文档的指针将不胜感激。


慕容森
浏览 700回答 4
4回答

HUX布斯

我刚刚ReignDesign blog在一篇名为“ 在Android应用程序中使用您自己的SQLite数据库 ”的文章中找到了一种方法。基本上,您可以预先创建数据库,将其放在apk中的assets目录中,然后首先使用copy to /data/data/YOUR_PACKAGE/databases/directory。

缥缈止盈

该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);     }}
随时随地看视频慕课网APP

相关分类

MySQL
Android
我要回答