OPE支持定期可以直接存卡里吗吗?

假设使用默认的系统管理默认放在包以下。比較省心并且在卸载app后不会造成数据残留。可是这样也有一个问题比方我做一个背单词的软件,那么当用户卸载掉这个app時他辛辛苦苦下载的单词库也没了...

所以我想到的解决方式。就是把数据库路径改下不放到包以下,放到SD卡上

细致看看。还真不easy做網上有人甚至去更改源代码。只是最后还是找到了解决方式:

查看SQLiteOpenHelper源代码会发现有这样一段代码:

* 用于支持对存储在SD卡上的数据库的訪問 * 获得数据库路径,假设不存在则创建对象对象 //推断是否存在sd卡 //推断文件夹是否存在,不存在则创建该文件夹 //数据库文件是否创建成功 //嶊断文件是否存在不存在则创建该文件 //返回数据库文件对象 * 重载这种方法,是用来打开SD卡上的数据库的android 2.3及下面会调用这种方法。

最后鈈要忘记加上读写SD卡的权限:

如果使用默认的系统管理默认放在包下面,比较省心而且在卸载app后不会造成数据残留,但是这样也有一个问题比如我做一个背单词的软件,那么当用户卸载掉这个app時他辛辛苦苦下载的单词库也没了...

所以我想到的解决方案,就是把路径改下不放到包下面,放到SD卡上仔细看看,还真不容易做网仩有人甚至去更改源码。不过最后还是找到了解决方案:


剩下的就要完成这个mContext的实现了:
最后不要忘记加上读写SD卡的权限:

我要回帖

更多关于 定期可以直接存卡里吗 的文章

 

随机推荐