android - Saving list to a sharedPref. using GSON Nullpointer error -


i have following code:

public class customgesture extends activity {  private static spinner spinner1, spinner2; private static button btn;  @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.custom_gesture);     spinner1 = (spinner) findviewbyid(r.id.spinner1);     spinner2 = (spinner) findviewbyid(r.id.spinner2);     // list.add("peepu");     // list.add("cheecki");     list<string> list = new arraylist<string>();     list.add("cheeku");     list.add("matthu");     sharedpreferences appsharedprefs = preferencemanager             .getdefaultsharedpreferences(this.getapplicationcontext());     editor prefseditor = appsharedprefs.edit();     gson gson = new gson();     string json = gson.tojson(list);     prefseditor.putstring("myobject", json);     prefseditor.commit();     arrayadapter<string> dataadapter = new arrayadapter<string>(getapplicationcontext(), android.r.layout.simple_spinner_item, list);     dataadapter             .setdropdownviewresource(android.r.layout.simple_spinner_dropdown_item);     spinner1.setadapter(dataadapter);     btn = (button) findviewbyid(r.id.btnsubmit);     btn.setonclicklistener(new onclicklistener() {         public void onclick(view v) {             new thread(new runnable() {                 @override                 public void run() {                      sharedpreferences appsharedprefs = preferencemanager                               .getdefaultsharedpreferences(getapplicationcontext());                               gson gson = new gson();                               string json = appsharedprefs.getstring("myobject", "");                               list<string> list = gson.fromjson(json, null);                     arrayadapter<string> dataadapter = new arrayadapter<string>(getapplicationcontext(), android.r.layout.simple_spinner_item, list);                     dataadapter                             .setdropdownviewresource(android.r.layout.simple_spinner_dropdown_item);                     spinner2.setadapter(dataadapter);                 }             }).start();         }     }); } 

}

the error i'm getting following :

04-13 13:50:20.066: e/androidruntime(2358): fatal exception: thread-5592 04-13 13:50:20.066: e/androidruntime(2358): java.lang.nullpointerexception 04-13 13:50:20.066: e/androidruntime(2358):     @ com.google.gson.internal.$gson$preconditions.checknotnull($gson$preconditions.java:35) 04-13 13:50:20.066: e/androidruntime(2358):     @ com.google.gson.reflect.typetoken.<init>(typetoken.java:72) 04-13 13:50:20.066: e/androidruntime(2358):     @ com.google.gson.reflect.typetoken.get(typetoken.java:296) 04-13 13:50:20.066: e/androidruntime(2358):     @ com.google.gson.gson.fromjson(gson.java:801) 04-13 13:50:20.066: e/androidruntime(2358):     @ com.google.gson.gson.fromjson(gson.java:768) 04-13 13:50:20.066: e/androidruntime(2358):     @ com.google.gson.gson.fromjson(gson.java:717) 04-13 13:50:20.066: e/androidruntime(2358):     @ com.google.gson.gson.fromjson(gson.java:689) 04-13 13:50:20.066: e/androidruntime(2358):     @ com.winacro.bsquares.customgesture$1$1.run(customgesture.java:60) 04-13 13:50:20.066: e/androidruntime(2358):     @ java.lang.thread.run(thread.java:841) 

i think error because im using null parameter in fromjson ,but use instead of null parameter think cannot use list there?

sharedprefrences used store small amount of data, such flags , static strings, went workaround store json-formatted string works small json object otherwise need use sqlite, here tutoial


Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

inno setup - TLabel or TNewStaticText - change .Font.Style on Focus like Cursor changes with .Cursor -