2014-01-20 120 views
0

我想在第一個條目中生成數字並隨時保存並使用。我使用了SharedPreference
當應用程序啓動一次(第一項)時,代碼生成一個數字。但如果不是第一項,Random number未保存。
如何在第一個條目中生成數字並使用它?在第一個條目中只生成一次隨機數

CODE:

int i; 
TextView tv; 

public void onCreate(){ 

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 

    if(!prefs.getBoolean("firstTime", false)) { 
     Random r=new Random(); 
     int i=r.nextInt(100); 
     SharedPreferences.Editor editor = prefs.edit(); 
     editor.putBoolean("firstTime", true); 
     editor.commit(); 
    } 

    tv.setText(i+"");//if "first run" set a number if not set "0" 
} 

回答

3

使用SharedPreferences.contains檢查關鍵是已經存在於SharedPreferences調用prefs.getBoolean之前。如果沒有,然後第一次存儲它,如果存在,然後從SharedPreferences獲得價值:

if(prefs.contains("firstTime")){ 
// generate random number first time 
// first time store random number 

}else{ 
    // already present get value from SharedPreferences 
} 
1
public void onCreate(){ 

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); 

    if(!prefs.getBoolean("firstTime", false)) { 
     Random r=new Random(); 
     i=r.nextInt(100);//<-------- don't re declare I 
     SharedPreferences.Editor editor = prefs.edit(); 
     editor.putBoolean("firstTime", true); 
     editor.commit(); 
    } 

    tv.setText(i+"");//if "first run" set a number if not set "0" 
} 
+0

我用'i'作爲隨機數。但在這裏,我替換不正確。 – Amir

+0

這不起作用。 – Amir