greenDao android9升级访问外部的数据库没有数据的问题

本文探讨了在Android 9系统下,由于SQLite版本更新导致的数据访问问题。通过对比Android 6、8、9版本,发现在Android 9中,数据库除了.db文件外,还新增了.db-shm和.db-wal文件。直接替换.db文件可能导致数据无法访问。解决方法是先删除所有相关文件,重新初始化数据库,再复制新的数据库文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

很多时候我们的app有一些数据是固定的..或者是从网络下载的..这时候我们就需要把数据库从网络中下载到手机,然后复制到

"/data" + Environment.getDataDirectory().getAbsolutePath() + "/" + PACKAGE_NAME + "/databases/"

目录下面,然后再去访问数据库..很多时候我们都是直接替换掉之前的数据库即可..最近测试发现,在android9的时候由于sqlite版本升级了新版本,缓存机制不同.直接替换会导致访问查询不到数据..经过对比android 6,8,9 发现9的时候sqlite多了几个文件后缀名分别是:

.db,.db-shm,.db-wal等文件  ,很多时候都只替换.db的文件,这样就会导致访问不到数据...经过测试,只需要将.db,.db-shm,.db-wal等文件全删除,,再次初始化数据库后会自动生成.db-shm,.db-wal文件,所以不用担心...之后再复制新数据库进去访问就有数据了.

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值