Friday 15 March 2013

android - Removing Shared Preferences Data -



android - Removing Shared Preferences Data -

at oncreate have productsku, want remove stored info after completion, preferences.edit().remove("productsku").commit(); putting them @ right place? when did related "content", checked logcat, stills bring me within "if (productsku != null)"

public class productactivity extends fragmentactivity implements onfocuschangelistener, onclicklistener, numberpickerdialoglistener, addedtocartdialoglistener { @override public void oncreate(bundle savedinstancestate) { log.d(getclass().getsimplename(), "oncreate"); super.oncreate(savedinstancestate); setcontentview(r.layout.activity_product); sharedpreferences preferences1 = preferencemanager.getdefaultsharedpreferences(this); content=preferences1.getstring("content", ""); sharedpreferences preferences = getsharedpreferences("mypref",mode_private); productsku=preferences.getstring("productsku", ""); log.d("productsku",productsku.tostring()); if(productsku !=null) { log.d("startproductsku","ok"); new getproductdetailstask2().execute(); preferences.edit().remove("productsku").commit(); log.d("endproductsku","ok"); } else { if(content !=null) { log.d("startcontent","ok"); new getproductdetailstask1().execute(); preferences1.edit().remove("content").commit(); } private class getproductdetailstask2 extends asynctask<string, string, void> { @override protected void onpreexecute() { layoutprogress.setvisibility(view.visible); }; @override protected void doinbackground(string... params) { if(productsku ==null) { log.d("productsku","inside"); product = product.getselected(); product.setid(productsku); jsonservice.updateproductdetails(product); } else { product=jsonservice.getproductdetails(productsku); } homecoming null; } @override protected void onpostexecute(void result) { updateui(); layoutprogress.setvisibility(view.gone); shortdescription.setvisibility(view.visible); description.setvisibility(view.visible); } }

your problem here:

sharedpreferences preferences = getsharedpreferences("mypref",mode_private); productsku=preferences.getstring("productsku", "");

the sec parameter in getstring default value (value returned if preference not found). seek doing following:

productsku=preferences.getstring("productsku", ""); log.d("productsku",productsku.tostring()); if(!productsku.equals("")) { log.d("startproductsku","ok"); new getproductdetailstask2().execute(); preferences.edit().remove("productsku").commit(); log.d("endproductsku","ok"); }

hope helps

android sharedpreferences

No comments:

Post a Comment