2015-12-26 2 views
0

Я хочу использовать sharedpreferences в своем приложении, но во всех учебниках и документации в Интернете я не могу определить, где разместить файл, который, как я полагаю, должен использовать.Где разместить файл для хранения sharedpreferences

То, что я имею в виду, при попытке получить доступ к нему, как так:

public static final String PREFS_NAME = "AOP_PREFS"; 
SharedPreferences settings = getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE); 

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

ответ

0

Я не совсем понимаю, что вы пытаетесь сделать здесь. Если ваш код находится в классе активности, вам просто нужно позвонить getSharedPreferences(int) вместо getSharedPreferences(String, int). Вы получаете предпочтения, как это:

SharedPreferences prefs = getSharedPreferences (Context.MODE_PRIVATE); 

Или вы можете использовать PreferenceManager класс, чтобы получить общие предпочтения, а также:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 

где this является Context объект.

Вы можете получить строку из настроек с помощью клавиши (В этом случае myString).

prefs.getString ("myString", ""); 

Если вы не сохранили строку с ключом myString, второй параметр будет возвращен.

Это, как вы можете сохранить строку в настройках:

prefs.edit().putString ("myString", "Some String value"); 

Первый параметр является ключевым, а второй это значение. Self-пояснительная!

СЕЙЧАС ПОМНИТЕ! Каждый раз, когда вы что-то сохраняете, звоните apply()!

prefs.edit().putString ("myString", "Some String value").apply(); 
                 ******* 

И это все, что вам нужно знать об общих предпочтениях!

0

Использование SharedPreferences файл автоматически создается в папке files во внутренней памяти вашего приложения, поэтому вам не нужно явно делать что-либо для создания файла.

Файл в этом случае будет AOP_PREFS.xml.

Вы также можете использовать общие настройки SharedPreferences по умолчанию, которые будут храниться в XML-файле с именем пакета вашего приложения.

Пример записи в SharedPreferences По умолчанию:

SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this); 
    SharedPreferences.Editor editor = sp.edit(); 
    editor.putLong("some_value", someValue); 
    editor.commit(); 

Reading:

SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this); 
    Long someVal = sp.getLong("some_value", 0); 

Обратите внимание, что если у вас есть корневое устройство, вы не сможете просматривать файлы во внутренней памяти.

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