Использование общих настроек (Android)
Я пытаюсь сохранить некоторые данные в общих настройках на Android и, как говорится на следующей странице (http://developer.android.com/guide/topics/data/data-storage.html#pref ), я должен написать некоторый код, подобный коду, показанному ниже внутри метода onCreate ():
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_tablet);
//Restore preferences
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
boolean silent = settings.getBoolean("silentMode", false);
setSilent(silent);
}
Проблема в том, что последняя строка:
setSilent(silent);
Выдает ошибку, показанную как:
Метод setSilent(boolean) не определен для типа MainActivity
Что я должен сделать, чтобы решить вот это?
Спасибо!
3 ответа:
Чтобы сохранить значение при использовании sharedpreferences:
SharedPreferences pref = this.getSharedPreferences("Test",0); Editor editor = pref.edit(); editor.putString("VALUE", value); editor.commit();
И получится вот так:
SharedPreferences prfs = getSharedPreferences("Test", Context.MODE_PRIVATE); String v= prfs.getString("VALUE", "");
Удалить следующую строку:
setSilent(silent);
Нужное вам значение уже сохранено в переменной
silent
. Приведенная выше строка предположительно была включена, чтобы продемонстрировать, что вы можете сделать с переменной
Для получения сохраненного значения с помощью SharedPreference
private String getOnPreference() { String prefName = null; try { SharedPreferences myPrefs2 = this.getSharedPreferences("myPrefs", MODE_PRIVATE); prefName = myPrefs2.getString("key",value); } catch (Exception e) { LOG.error("Get error in shared preference", e); } return prefName; }
Для установки значения с помощью общего предпочтения
private void setOnPreference(String value) { try { SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_PRIVATE); SharedPreferences.Editor prefsEditor = myPrefs.edit(); prefsEditor.putString("key", value); prefsEditor.commit(); } catch (Exception e) { LOG.error("Set error in shared preference", e); } }
Просто используйте вышеуказанные функции для получения и установки любых данных, используя общие предпочтения