android - how to update SharedPreference from other activity? -
i have created sharedpreference in login class , put in in method savedpreference()
login.java
public void savepreferences(string key, string value){ sharedpreferences sharedpreferences = preferencemanager.getdefaultsharedpreferences(getapplicationcontext()); sharedpreferences.editor editor = sharedpreferences.edit(); editor.putstring(key, value); editor.commit(); } now in other activity, want update or put string calling method , adding these paramaters after clicking ok button.
menu.java
ok.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { string oldpassword = oldpass.gettext().tostring(); string newpassword = newpass.gettext().tostring(); if (login.s.tostring().equals("1234")) { if (oldpassword.tostring().equals("1234")) { login.savepreferences("password",newpassword); toast.maketext(menu.this,"new password saved!",toast.length_short).show(); } else { toast.maketext(menu.this,"old password not correct",toast.length_short).show(); } } else { if (oldpassword.equals(login.realpass)){ login.savepreferences("password",newpassword); toast.maketext(menu.this,"new password saved!",toast.length_short).show(); } else{ toast.maketext(menu.this,"old password not correct",toast.length_short).show(); } } } }); but after clicking ok, app crashes , logcat shows this
02-06 13:21:55.834 6327-6327/com.secsys.gagacamaso.gagacamaso e/androidruntime: fatal exception: main process: com.secsys.gagacamaso.gagacamaso, pid: 6327 java.lang.nullpointerexception: attempt invoke virtual method 'android.content.context android.content.context.getapplicationcontext()' on null object reference @ android.content.contextwrapper.getapplicationcontext(contextwrapper.java:107) @ com.secsys.gagacamaso.gagacamaso.login.savepreferences(login.java:191) @ com.secsys.gagacamaso.gagacamaso.menu$3$1.onclick(menu.java:133) @ android.view.view.performclick(view.java:5198) @ android.view.view$performclick.run(view.java:21147) @ android.os.handler.handlecallback(handler.java:739) @ android.os.handler.dispatchmessage(handler.java:95) @ android.os.looper.loop(looper.java:148) @ android.app.activitythread.main(activitythread.java:5417) @ java.lang.reflect.method.invoke(native method) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:726) @ com.android.internal.os.zygoteinit.main(zygoteinit.java:616) login.java:191 sharedpreferences sharedpreferences = preferencemanager.getdefaultsharedpreferences(getapplicationcontext());
and menu.java:133 login.savepreferences("password",newpassword);
better pass context argument in savepreferences
public void savepreferences(string key, string value,conext mcontext){ sharedpreferences sharedpreferences = preferencemanager.getdefaultsharedpreferences(mcontext); ..... }
Comments
Post a Comment