Android开发中, 将apk和SQLite数据库一起打包发布 (没root手机)

本文介绍了如何在Android应用开发中将SQLite数据库与apk一起打包,即使设备未root,也能正常运行。只需将数据库文件放入assets文件夹,启动时自动加载,通过adb shell命令获取/data/目录下的数据库文件,复制到sdcard,然后整合进apk。
摘要由CSDN通过智能技术生成

要把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
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值