Как получить содержимое файла SharedPreferences и перезаписать его? - PullRequest
1 голос
/ 02 марта 2012

Я довольно новичок в разработке Android. Я просматриваю API здесь http://developer.android.com/reference/android/content/SharedPreferences.html

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

У меня есть этот код для получения объекта SharedPreferences:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences( MyClassName.this);

но в этом случае я получаю ссылку на sharedPreferences, а не соединение с моим файлом, в котором хранятся данные настроек.

Может быть, я не правильно понимаю API, но как мне получить ссылку на файл и прочитать / записать его?

Спасибо!

Ответы [ 3 ]

1 голос
/ 02 марта 2012

но в этом случае я получаю ссылку на sharedPreferences, а не соединение с моим файлом, в котором хранятся данные настроек.

Объект SharedPreferences имеет «соединение» с файлом, в котором хранятся данные о предпочтениях.

Может быть, я не правильно понимаю API, но как мне получить ссылку на файл и прочитать / записать его?

Чтобы прочитать настройки, используйте методы получения на SharedPreferences (например, getString()). Чтобы написать предпочтения самостоятельно:

  • Получите SharedPreferences.Editor, позвонив edit() на SharedPreferences объект
  • Используйте сеттеры на Editor (например, putString())
  • Позвоните apply() (где это возможно) или commit() на Editor, чтобы сохранить изменения

Кроме того, вы можете (и во многих случаях должны) также использовать PreferenceActivity, чтобы позволить пользователям напрямую просматривать и изменять свои предпочтения.

1 голос
/ 02 марта 2012

Если вы хотите получить значения из ваших SharedPreferneces, которые вы должны использовать (этот пример работает со строками, но вы также можете вызвать getBoolean, getInt и т. Д.)

prefs.getString("myString", "defaultValue"); // "defaultValue" will be returned in case "myString" wasn't saved on the SharedPreferences

для хранения некоторых значений вы можете сделать это так:

prefs.edit()
.putString("myString", "newValue")
.putBoolean("working", true)
.commit();

Как видите, вы можете редактировать более одного значения одновременно ..

1 голос
/ 02 марта 2012

edit () вернет вам редактор, который вы должны использовать для изменения файла sharedpreferences, а когда вы закончите редактировать его, вызовите commit(), чтобы внести изменения навсегда

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...