logo logo
关于我们

技术分享

技术分享 SharedPreferences 存储集合数据丢失的问题

SharedPreferences 存储集合数据丢失的问题

2019-01-30

原因是从SharedPreferences获取的数据,我们操作这个数据,并不会真的改变SharedPreferences里存储的原始数据

内容:

public static void saveNo(String no,Context context){

SharedPreferences p=context.getSharedPreferences(FILENAME,Activity.MODE_PRIVATE);
Set<String> set=p.getStringSet(SETNAME, new HashSet<String>());
if(!set.contains(no)){
set.add(no);
Editor editor = p.edit();
editor.putStringSet(SETNAME, set);
boolean is=editor.commit();
System.out.println(is);
}

}

这个是Android一般调用SharedPreferences 的Set存储数据的方法,但是我发现当程序重启,关机以后数据会丢失,找了一下午找到原因,出去看了下国外网站得到提示,原来是SharedPreferences 这个类的原因,他会创立一个对象,当然这个set也是其中一个元素,当我们新建一个set的时候对新建的set的操作并不能影响到SharedPreferences 的对象的set,因此,相关代码改成Set<String> set=new HashSet<String>(p.getStringSet(SETNAME, new HashSet<String>()));就行了,这段代码只是创建了SharedPreferences 里面set的副本。

云祺备份软件,云祺容灾备份系统,虚拟机备份,数据库备份,文件备份,实时备份,勒索软件,美国,图书馆
  • 标签:
  • 容灾备份

您可能感兴趣的新闻 换一批

现在下载,可享30天免费试用

立即下载

请添加好友为您提供支持
jia7jia_7

请拨打电话
为您提供支持

400-9955-698