我这个简单的代码:SharedPreferences和模拟器
SharedPreferences settings = getSharedPreferences(Constants.USER_DETAILS, 0);
SharedPreferences.Editor editor = settings.edit();
//editor.putLong(Constants.USER_DETAILS_SIGNEDINON, registerResponse.getSignedInOn()); // signed in on
editor.putLong(Constants.USER_DETAILS_SIGNEDINON, 1); // signed in on
long test = settings.getLong(Constants.USER_DETAILS_SIGNEDINON, 2);
if (settings.edit().commit()) {
System.out.print("ok");
} else {
System.out.print("not ok");
}
,你可以看到我一直在玩弄明白是怎么回事。
所以,我检查了/数据/数据/ ...和首选项文件确实产生,但是是空的(只是地图标记)
测试长变量返回2,即使我把它到1行之前。 该提交返回true。
我错过了什么吗?
我已经设置了使用权限android:name = android.permission.WRITE_EXTERNAL_STORAGE 虽然我相信这只是在我真正做外部存储时才需要。
问候。 David。
您需要提交更改尝试读取前值。添加值(putLong) - > commit - >读取值(getLong) – Zyber
它不起作用。我有adb拉我的电脑上的文件,和XML文件是空的。我已检查过时间戳,并且该文件甚至未被Emulator触及:-rw -rw -rw-root root 2012-10-08 10:57 UserDetails.xml(但您可以看到文件的完整权限) –