2012-05-20 5 views
0

я хочу, чтобы заставить использовать для заполнения Параметры страницы в двух случаяхандроид Shared Preferences вопрос

1), когда пользователь первый запуск приложения 2), когда версия базы данных изменения я хочу, чтобы настройки страницы должны быть заполнены, прежде чем proceding

в моем классе настройки я установить общие предпочтения «ложь», а затем я проверить его в ниже код

установку класса // основной класс Строка флаг = sharedPreferences.getString («CreatedFlag», «»);

 if(flag.equals("true")) 
     { 
      // Move to second activity 
      Intent i =new Intent(); 
      i.setClass(someclass.this,otherPage.class); 
      startActivity(i); 
      finish(); 
     } 
    else 
    { // Stay on Settings page } 

Проблема: она прекрасно работать, когда пользователь первый запуск приложения, она показывает страницу настроек и заполнить THT страницу, но когда пользовательское приложение запустить второй раз показать страницу настройки снова, сог общего предпочтения до сих пор имеют истинное значение, thn снова пользовательское приложение 3-го раза. У общего назначения есть значение обновления, которое является ложным, и показать другую страницу.

, что я хочу, это tht. Страница настройки отображается только один раз, если ее нет, определить другое, другое мудрый он переходит на главную страницу

нужна помощь,

ответ

0

Я не вижу здесь, где вы фактически сохраняете предпочтения, я предполагаю, что это происходит в другой деятельности?

Если не добавить это к первому виду деятельности

SharedPreferences prefs = this.getsharedPreferences("myApp",0); 
//check for the Created value in the shared preferences 
String createdFlag = prefs.getString("Created","false"); // set default value == false 
if(createdFlag == "false){ 
    goToSettingsPage(); // to the settings page we go... 
} 

Затем на странице настроек:

SharedPreferences prefs = this.getSharedPreferences("myApp",0); 
SharedPreferences.Editor ed = prefs.edit(); // create the editor 
ed.putString("Created","true"); // put the value to the prefs 
ed.commit(); // commit the changes 

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