android - Values in sharedpreferences are not cleared -


i developing app in need manage users session i.e when user logs in first time must see login page , once authenticated redirected home screen , tht time value set in sharedpreferences. on home screen when user clicks on logout button values in shsredpreferences must cleared , next time user opens app must directed login page.unless , until user clicks logout must not shown login page. able store values in sharedpreferences not able delete them.

here code loginpage.java

package com.sess.eg;  import android.app.activity; import android.content.intent; import android.content.sharedpreferences; import android.os.bundle; import android.preference.preferencemanager; import android.view.view; import android.widget.button; import android.widget.edittext;   public class loginpage extends activity {     /** called when activity first created. */           edittext acc,user,pin;         button login;         stringbuilder builder = new stringbuilder();         string username;          sharedpreferences.editor prefs;         @override          public void oncreate(bundle savedinstancestate) {             super.oncreate(savedinstancestate);   //            sharedpreferences prefs1  = getpreferences(mode_world_readable); //          username= prefs1.getstring("user", "abcdef"); //           //          system.out.println(username); //           //          if(username.equals("ad")) //               //            { //              system.out.println(username); //              intent i=new intent(loginpage.this,homepage.class); //              startactivity(i); //            }              setcontentview(r.layout.main);             acc = (edittext) findviewbyid(r.id.ed_login_acc);             user = (edittext) findviewbyid(r.id.ed_user_acc);             pin = (edittext) findviewbyid(r.id.ed_pin_acc);             login = (button) findviewbyid(r.id.login_button);              sharedpreferences prefs1  = getpreferences(mode_world_readable);              login.setonclicklistener(new button.onclicklistener(){                  public void onclick(view v) {                         prefs.putstring("user", "ad");                     prefs.commit();                     //system.out.println(sendjson1());                     //startservice(new intent(login.this, myservice.class));                     intent = new intent(loginpage.this, homepage.class);                     startactivity(i);                     finish();                      //system.out.println(username);                  }              });            }          @override         protected void onstart() {             sharedpreferences prefs1  = getpreferences(mode_world_readable);             username= prefs1.getstring("user", "abcdef");              system.out.println(username);              if(username.equals("ad"))               {                 system.out.println(username);                 intent i=new intent(loginpage.this,homepage.class);                 startactivity(i);                 finish();               }             super.onstart();         }     }   here code homepage.java package com.sess.eg;  import android.app.activity; import android.content.intent; import android.content.sharedpreferences; import android.os.bundle; import android.view.view; import android.widget.button;  public class homepage extends activity{      button logout;       public void oncreate(bundle savedinstancestate) {             super.oncreate(savedinstancestate);             setcontentview(r.layout.home3);              logout = (button) findviewbyid(r.id.logout);              logout.setonclicklistener(new button.onclicklistener(){              public void onclick(view v) {              sharedpreferences.editor prefs = getpreferences(mode_world_writeable).edit();               prefs.clear();  //          prefs.commit();             sharedpreferences prefs1 = getpreferences(mode_world_readable);             string username= prefs1.getstring("user", "abcdef");             system.out.println(username);             finish();                  }             });  } } 

in code:

//prefs.commit(); 

change this. remove comments.

prefs.commit(); 

commit() called save preferences changes.

"commit preferences changes editor sharedpreferences object editing. atomically performs requested modifications, replacing whatever in sharedpreferences. note when 2 editors modifying preferences @ same time, last 1 call commit wins. "

read here.


Comments

Popular posts from this blog

django - How can I change user group without delete record -

java - Need to add SOAP security token -

java - EclipseLink JPA Object is not a known entity type -