要把SQLite数据库与apk一起打包很简单,只要把数据库导出,并放在assets文件夹中,app首次打开时加载就可以了。
但有个问题:没root的手机不能通过DDMS查看/data/的文件(数据库保存在这里)。我们只能通过adb shell来获取数据库文件了。
打开命令行,输入以下命令:
run as [package_name];
cd /data/data/[package_name]/databases
cat test.db > /mnt/sdcard/test.db
ps. [package_name]输入你的应用程序的包名。
然后就可以在sdcard里多了一个test.db文件了,将其复制到assets文件中,app首次打开时加载就好。
private static final String DATABASE_PATH = "/data/data/com.leo.test/databases/";
private static final String DATABASE_NAME = "test.db";
public void initDB() {
File fileDB = new File(DATABASE_PATH + DATABASE_NAME);
if(!fileDB.exists()) {
File file = new File(DATABASE_PATH);
if(!file.exists())
file.mkdirs();
try {
I