Я использую SharedPreference для хранения данных между действиями (это ничего не связано с настройками, просто данные пользователя).Создать SharedPreference из xml
Я создал эти статические методы в 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);
}
У меня есть следующие вопросы:
- Если я сделаю это путь, когда создается файл предпочтений «ФАЙЛ»? Создается ли это при установке приложения или только при вызове первого метода сохранения или загрузки? Это xml?
- Что делать, если я хочу, чтобы убедиться, что
- Общий файл настроек называется «FILE» создается при установке приложения.
- Внутри этого файла объявить список постоянных ключей (больше не будет добавлено больше ключей позже), и все они будут установлены в значения по умолчанию.
Как я могу это сделать? Я слышал, что создание общего предпочтения XML может помочь, но после прочтения андроида api кажется, что подобный общий предпочтение относится к «настройкам» только в Android.
Я знаю, что вы можете «своего рода» установить значение по умолчанию, как этот
String username = prefs.getString("username_key", "DefaultUsername");
Но я не хочу этого, так как все мои методы чтения являются универсальными. Кроме того, мне не нравится эта причина, и я не знаю, что происходит под капотом. Не похоже, что значение по умолчанию действительно установлено в файле предпочтений, оно может просто вернуть значение по умолчанию, если значение еще не установлено.
спасибо, но я использую genymotion, и хотя я пробовал, я никогда не мог подключить его к Android-менеджеру устройств, поэтому я не вижу, что на самом деле находится в эмуляторе ... –