Использование общих настроек (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 2

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);
                }
            }

Просто используйте вышеуказанные функции для получения и установки любых данных, используя общие предпочтения