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

很多时候我们的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文件,所以不用担心...之后再复制新数据库进去访问就有数据了.

 

你可能感兴趣的:(笔记)