android SharedPreferences 的问题,读不到数据。 androidSharedPreferences 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 写法有点问题,读的时候不需要edit,直接getString就行了。把Editor e = share.edit();移到 a方法的 e.putString之前 问题是我在share.getString里用了变量,就读不了了。但我的工程会有很多地方用到这个功能,不用变量不好管理。 这就是完整代码了,复制到onCreate下面,可以运行了。 用你的代码稍加修改,测试一切正常: SharedPreferences share = getSharedPreferences("name", 0); //方法a,在第一句输出的时候读不到数据。 String a = "abc_cc"; System.err.println(share.getString(a, "默认结果1"));//此句似乎没有执行,没有任何输出,错误... //但是第二次执行的时候,会正常输出。 Editor e = share.edit(); e.putString(a, "修改的结果2"); e.commit(); System.err.println(share.getString(a, "默认结果3"));//输出:修改的结果,正常 //方法b,一切正常 System.err.println(share.getString("abc_cc", "默认结果4"));//输出:默认结果,正常 e.putString("abc_cc", "修改的结果5"); e.commit(); System.err.println(share.getString("abc_cc", "默认结果6"));//输出:修改的结果,正常 你的代码确实是可以的,我自己的好像也可以(不知道为什么,发帖之前测试了一天都不行)。后来我回到工程里,再测试自己的方法,还是不行。我们的工程自己写了个helper类,那个类第一次读取的时候还是不行。不管怎样,还是谢谢你。我再研究下我们的helper类。 你的代码确实是可以的,我自己的好像也可以(不知道为什么,发帖之前测试了一天都不行)。后来我回到工程里,再测试自己的方法,还是不行。我们的工程自己写了个helper类,那个类第一次读取的时候还是不行。不管怎样,还是谢谢你。我再研究下我们的helper类。你之前的方法之所以不行是因为你, edit了,就好比如你打开了一个文件,你又想删除它,他正在被另一个进程调用一样。如果你要想实现这种操作,需要改打开文件的方式,用Mode.mult这种方式 sqlite查询600条数据就慢?? 使用自定义的SimpleAdapter,内容由数据库读取生成的listiew如何更新 线程再次start,崩? 学习android有些疑问 多个Activity使用一个系统menu的问题 自定义的静态广播没有作用怎么办? 求大神帮忙修改一下代码,关于访问网络超时的处理。 关于TextWatcher的一个问题 求助videoView,视频源的尺寸无法布满VIEW如何修改,求大神指教 Android原生集成RN 打包失败 关于百度地图API定位问题 adb发送“host:transport-any” FAIL0014unknown host service
把Editor e = share.edit();移到 a方法的 e.putString之前
但我的工程会有很多地方用到这个功能,不用变量不好管理。
这就是完整代码了,复制到onCreate下面,可以运行了。
用你的代码稍加修改,测试一切正常:
SharedPreferences share = getSharedPreferences("name", 0);
//方法a,在第一句输出的时候读不到数据。
String a = "abc_cc";
System.err.println(share.getString(a, "默认结果1"));//此句似乎没有执行,没有任何输出,错误...
//但是第二次执行的时候,会正常输出。
Editor e = share.edit();
e.putString(a, "修改的结果2");
e.commit();
System.err.println(share.getString(a, "默认结果3"));//输出:修改的结果,正常
//方法b,一切正常
System.err.println(share.getString("abc_cc", "默认结果4"));//输出:默认结果,正常
e.putString("abc_cc", "修改的结果5");
e.commit();
System.err.println(share.getString("abc_cc", "默认结果6"));//输出:修改的结果,正常
你的代码确实是可以的,我自己的好像也可以(不知道为什么,发帖之前测试了一天都不行)。
后来我回到工程里,再测试自己的方法,还是不行。
我们的工程自己写了个helper类,那个类第一次读取的时候还是不行。
不管怎样,还是谢谢你。
我再研究下我们的helper类。
你的代码确实是可以的,我自己的好像也可以(不知道为什么,发帖之前测试了一天都不行)。
后来我回到工程里,再测试自己的方法,还是不行。
我们的工程自己写了个helper类,那个类第一次读取的时候还是不行。
不管怎样,还是谢谢你。
我再研究下我们的helper类。你之前的方法之所以不行是因为你, edit了,就好比如你打开了一个文件,你又想删除它,他正在被另一个进程调用一样。
如果你要想实现这种操作,需要改打开文件的方式,用Mode.mult这种方式