2014-02-07 47 views
0

如何設置共享首選項以顯示警告框,如果它們沒有默認設置。我如何要求用戶在第一次啓動時選擇設置?

public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     /* RR - Restore Prefrences */ 
     SharedPreferences settings = 
     this.getSharedPreferences("com.sample.test",Context.MODE_PRIVATE); 
     Boolean isBackgroundWhite = settings.getBoolean("BgColor", true); 
      //triggerAlert(); 
} 

回答

4

使用SharedPreferences.contains()測試是一個偏好設置。如果沒有,請顯示您的對話框。

if(!settings.contains("BgColor")){ 

    // Make a call to your dialog code here. 
} 
+1

我希望你不介意,但我添加了一個源到你的答案。好的答案,但。 +1 –

+0

不要介意:) –

1

使用SharedPreferences.contains的檢查是SharedPreference含有鍵或不是當用戶啓動應用程序第一次爲:

 SharedPreferences settings = 
    this.getSharedPreferences("com.sample.test",Context.MODE_PRIVATE); 

    if (settings.contains("BgColor")) { 
     // means key is present in preference 
     //so no need to show settings 
     }else{ 
     // key not present in preference so 
     // store key in preference and show setting 
     } 
+0

我設法得到這種工作的變化,但設備上的這些設置存儲在哪裏。我可以從eclipse手動擦除文件,這樣我可以繼續調試嗎? – blu

+0

@blu:SharedPreference存儲在應用程序內存中,因此爲了調試,您可以清除'Settings-> App-> Your Application - > Clear Data'中的所有應用程序數據 –

0
if (this.getSharedPreferences("com.sample.test",Context.MODE_PRIVATE).getBoolean 
    ("firstLaunch", true)){ //Display your dialog settings 
    this.getSharedPreferences("com.sample.test",Context.MODE_PRIVATE).edit. 
     setBoolean ("firstLaunch", false).commit; 
} 
相關問題