我這個簡單的代碼: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(但您可以看到文件的完整權限) –