0
我使用SharedPreference在活動之間存儲數據(它不是任何與設置相關的,只是用戶數據)。從xml創建SharedPreference
我創建了一個utils
類這些靜態方法來處理寫入/從共享偏好閱讀在我的應用程序的任何地方:
public static <T> void saveData(Context context, String key, T value, String typeOfValue) {
SharedPreferences sharedPreferences = context.getSharedPreferences("FILE", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
switch (typeOfValue) {
case ("String"):
editor.putString(key, (String) value);
break;
case ("int"):
editor.putInt(key, (Integer) value);
break;
case ("Boolean"):
editor.putBoolean(key, (Boolean) value);
break;
default:
break;
}
editor.commit();
}
public static <T> T loadData(Context context, String key) {
SharedPreferences sharedPreferences = context.getSharedPreferences(FILE, Context.MODE_PRIVATE);
return (T) sharedPreferences.getAll().get(key);
}
我有以下問題:
- 如果我這樣做方式,什麼時候創建首選文件「FILE」?它是在安裝應用程序時創建的,還是僅在調用第一個保存或載入方法時創建的?它是一個XML?
- 如果我想確保
- 在安裝應用程序時創建一個名爲「檔案」的共享偏好文件。
- 在該文件中,聲明一個永久密鑰列表(以後不再添加密鑰)並將它們全部設置爲默認值。
我該怎麼做?我聽說從XML創建共享偏好可能會有所幫助,但在閱讀了android api後,似乎這種共享偏好僅適用於android中的「設置」。
我知道,你可以在「還挺」設置的默認值,這樣
String username = prefs.getString("username_key", "DefaultUsername");
但我不希望這樣,因爲我所有的讀取方法都是通用的。另外,我不喜歡這個原因,我不知道底下會發生什麼。它似乎沒有將默認值實際設置到首選項文件中,但如果尚未設置值,它可能會簡單地返回默認值。
謝謝,但我使用genymotion,儘管我嘗試過,但我永遠無法將它與Android設備管理器掛鉤,因此我無法看到模擬器中實際存在的內容...... –