我预构建了主要是字符串对象的数据库.我想知道如何放入我的apk文件,以便在用户安装数据库时已经创建了数据库.
msa*_*sal 11
我找到了一个很好的例子:在Android应用程序中使用自己的SQLite数据库
基本上,您将创建的数据库导出为sql文件并将其存储在assets-folder中.在第一个程序启动时,将文件的数据导入最终数据库.
我认为这是最好的方法,但是你的数据会在apk和db中出现两次,使用更多的存储空间.
我刚刚开始为Android开发,并且惊讶地发现捆绑静态数据库并不容易.所以我做了唯一合理的事情:创建了一个可以做到这一点的库.用法示例:
import android.database.sqlite.SQLiteDatabase;
import kiwidrew.staticdb.StaticDatabase;
public class BlahBlah extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SQLiteDatabase db = StaticDatabase.openDatabase(this, "assets/foobar.db");
// Do normal database stuff with 'db'...
}
}
Run Code Online (Sandbox Code Playgroud)
你得到一个标准的SQLiteDatabase对象,唯一的限制是它不支持写入.(明显!)
请注意,除非数据库存储在您的.apk中而不进行压缩,否则这将失败.使用aapt -0命令添加sqlite数据库或修改您build.xml的<nocompress extension="db" />标志以将标志传递给<aapt>标记...
获取http://bitbucket.org/kiwidrew/android-staticdb上的代码.
注意:我刚刚写完这篇文章,到目前为止只进行了非常基本的测试.错误报告将不胜感激!
| 归档时间: |
|
| 查看次数: |
14468 次 |
| 最近记录: |