Сохранить и читать Int - Android - PullRequest
0 голосов
/ 14 февраля 2012

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

что я хочу сделать: Я хочу сохранить int из своей активности настроек, а затем импортируйте его в другие мои действия и проверьте, равно ли int "bak" null, "bg", "bg1" или "bg2".

Я слышал о sharedPreferences, но никогда не получал его работоспособным.Вот почему я открываю новую тему.

1 Ответ

4 голосов
/ 14 февраля 2012

ОК, добавьте эти глобальные переменные

SharedPreferences data;
public static String filename = "whateveryou want";

инициализировать его в onCreate

data = getSharedPreferences(filename, 0);

затем, чтобы добавить что-то к этому, используйте это, с "key", являющимся уникальным дескриптором, и name, являющимся именем переменной, которую вы хотите сохранить

        SharedPreferences.Editor editor = data.edit();
        editor.putInt("key", name);
        editor.commit();

получить к нему доступ, где default - это то, что вы хотите, чтобы переменная была назначена, если нет предпочтений.

intVariable = data.getInt("key", default);

EDIT:

Я заметил, что вы хотите использовать буквы, например, bg1 и т. Д. Для этого вам нужно использовать String или int с параметром switch или несколькими операторами if. Вот пример переключения, который вы можете изменить. Просто убедитесь, что вы поместили оператор регистра переключателя после доступа к SharedPreference в предыдущем блоке кода.

switch (integerVariable){
    case 1: // if the intagerVariable = 1, notice the : not a ;
        // set background to BG1
    break;
    case 2: // if the intagerVariable = 2, notice the : not a ;
        // set background to BG2
    break;
}

Просто добавьте столько операторов case, сколько необходимо.

...