2013-10-08 3 views
1

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

Класс 1

переменных класса Уровень:

String PREFS_NAME = "Login"; 
SharedPreferences sp; 

Установка значения в SharedPreference

public void savePref(String key, boolean value) { 
     SharedPreferences sp = getSharedPreferences(PREFS_NAME,0); 
     Editor edit = sp.edit(); 
     edit.putBoolean("loggdin", value); 
     edit.commit(); 
     Toast.makeText(getApplicationContext(), "Login = " + value, 
       Toast.LENGTH_LONG).show(); 

    } 

класса 2

Переменные уровня Класс:

SharedPreferences sp; 
String PREFS_NAME = "Login"; 

В OnCreate: (Пожалуйста, проверьте также комментарии)

SharedPreferences sp = getSharedPreferences(PREFS_NAME,0); 
     boolean channel = (sp.getBoolean("loggdin", true));// I get the value true or false depending on what I pass as a second argument here, pretty confused! 
     if (channel == true){ 
      Toast.makeText(getApplicationContext(), "true"+channel, 10000).show(); 
     }else { 
      Toast.makeText(getApplicationContext(), "false"+channel, 10000).show(); 
     } 

Невозможно понять, где я неправильно, какие-то намеки?

+0

второй параметр является значением по умолчанию для получения, если в вашем общем предпочтении нет значения, что означает, что вы не можете установить логическое значение в редакторе – KDeogharkar

+0

Да, как указано выше, я объявляю PREFS_NAME как в классах, так и в присваивать ему точно такую ​​же строку. – User3

+0

что тост показывает? – KDeogharkar

ответ

1

Вы пытались проверить путем отладки приложения?

+0

Эй, я никогда не использовал отладки, как вы это делаете? pardon am new для Android и java. – User3

+0

Я думаю, что проблема в другом месте. Можете ли вы опубликовать код всей акативности? –

+0

Эй, я исправил его, на самом деле мой микромакс-телефон действовал странно, тестировался на эмуляторе, и он работал превосходно :) Мне все еще интересно узнать, как работает отладка. – User3

0

Попробуйте это мой рабочий код ..

public static boolean getBooleanFromSP(String key) { 
// TODO Auto-generated method stub 
    SharedPreferences preferences = getApplicationContext().getSharedPreferences(" SHARED_PREFERENCES_NAME ", android.content.Context.MODE_PRIVATE); 
    return preferences.getBoolean(key, false); 
}//getPWDFromSP() 


public static void saveBooleanInSP(String key, boolean value){ 
    SharedPreferences preferences = getApplicationContext().getSharedPreferences(" SHARED_PREFERENCES_NAME ", android.content.Context.MODE_PRIVATE); 
    SharedPreferences.Editor editor =  preferences.edit(); 
    editor.putBoolean(key, value); 
    editor.commit(); 
}//savePWDInSP() 
+0

Эй, Бриджеш, было бы очень приятно, если бы вы могли объяснить, что не так в моем коде. – User3

+0

Не находите что-то не так с вашим кодом, вы должны отлаживать его только таким образом, что может возникнуть проблема с кодом. –

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