java - SharedPreferences not saving -


i have been trying save boolean named "first", signifies whether activity has been started first time since installing app. boolean "first" true set false after activity has been used once (i.e. value set false, right before next activity started). have tried saving boolean using sharedpreferences whenever start app after killing it, mainactivity still displayed again (this shouldn't happen if "first" false").

my mainactivity.java looks -

protected final static string intent_key = "name"; private static final string prefs_name = "savestates"; //the sharedpreferences file name. private boolean first = true; // signifies whether app started first time. sharedpreferences settings; sharedpreferences.editor editor;  @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     settings = getsharedpreferences(prefs_name, 0);     editor = settings.edit();     resetparam(); // retrieving boolean "first".     // start next activity if app has been started before.     if (!first) {         intent intent = new intent(this, displaymessageactivity.class);         startactivity(intent);     }     setcontentview(r.layout.activity_main); }  /** sends name input user next activity */ public void sendmessage(view view) {     intent intent = new intent(this, displaymessageactivity.class);     edittext edittext = (edittext) findviewbyid(r.id.edit_name);     string name = edittext.gettext().tostring();     // send name next activity if it's not empty.     if (!("".equals(name))) {         setparam(); // setting , saving "first" false.         intent.putextra(intent_key, name);         startactivity(intent);     } }  /** saving boolean "first" in sharedpreferences pref_name file */ private void setparam() {     // saving boolean "first" in sharedpreferences pref_name file.     editor.clear();     editor.putboolean("first", false);     editor.commit(); }  /** retrieving boolean "first" sharedpreferences pref_name file */ private void resetparam() {     first =  settings.getboolean("first", true); } 

when use app first time (i.e. "first" true), go next activity (i.e. "first" set false before next activity starts), kill app , come it, why start mainactivity again? why isn't "first" saved false in sharedpreferences file (prefs_name)?

you're doing wrong.

please take better on how use sharedpreferences.

i, personally, use this method:

use save values in sharedpreferences:

sharedpreferences preferences = preferencemanager.getdefaultsharedpreferences(this); sharedpreferences.editor editor = preferences.edit(); editor.putstring("name","harneet"); editor.apply(); 

use read values sharedpreferences:

sharedpreferences preferences = preferencemanager.getdefaultsharedpreferences(this); string name = preferences.getstring("name", ""); if(!name.equalsignorecase("")) {     name = name + "  sethi";  /* edit value here*/ } 

Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -