2016-11-17 2 views
0

Я использую 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); 
    } 

У меня есть следующие вопросы:

  1. Если я сделаю это путь, когда создается файл предпочтений «ФАЙЛ»? Создается ли это при установке приложения или только при вызове первого метода сохранения или загрузки? Это xml?
  2. Что делать, если я хочу, чтобы убедиться, что
    • Общий файл настроек называется «FILE» создается при установке приложения.
    • Внутри этого файла объявить список постоянных ключей (больше не будет добавлено больше ключей позже), и все они будут установлены в значения по умолчанию.

Как я могу это сделать? Я слышал, что создание общего предпочтения XML может помочь, но после прочтения андроида api кажется, что подобный общий предпочтение относится к «настройкам» только в Android.

Я знаю, что вы можете «своего рода» установить значение по умолчанию, как этот

String username = prefs.getString("username_key", "DefaultUsername"); 

Но я не хочу этого, так как все мои методы чтения являются универсальными. Кроме того, мне не нравится эта причина, и я не знаю, что происходит под капотом. Не похоже, что значение по умолчанию действительно установлено в файле предпочтений, оно может просто вернуть значение по умолчанию, если значение еще не установлено.

ответ

0

Вы можете просмотреть sharedPreference.xml. Используйте Android Studio -> tools -> Android -> Android Device Monitor. image

путь к файлу /data/data/<package_name>/shared_prefs Таким образом, вы можете проверить при создании файла.

+0

спасибо, но я использую genymotion, и хотя я пробовал, я никогда не мог подключить его к Android-менеджеру устройств, поэтому я не вижу, что на самом деле находится в эмуляторе ... –

 Смежные вопросы

  • Нет связанных вопросов^_^