Reputation: 391
I want to generate number in first entry and save and use for anytime.I used SharedPreference
.
When application started for once(first entry), the code generated a number.but if not first entry, Random number
didn't save.
How to generate number in first entry and use it?
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"
}
Upvotes: 0
Views: 171
Reputation: 17401
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"
}
Upvotes: 1
Reputation: 132982
Use SharedPreferences.contains to check if key is already present in SharedPreferences
before calling prefs.getBoolean
. if not then store it first time and if present then get value from SharedPreferences :
if(prefs.contains("firstTime")){
// generate random number first time
// first time store random number
}else{
// already present get value from SharedPreferences
}
Upvotes: 3