nullpointerexception - Android PreferenceManager NullPointException -


i'm struggling understand why i'm getting null point exception when using preferencemanager.

i'm using button within current activity call activity named location

    /** location selection */     blocation = (button) findviewbyid(r.id.blocation);     blocation.setonclicklistener(new view.onclicklistener() {         public void onclick(view v) {              loc = new location();             loc.locationselection();         }     }); 

// button above calls class below

public class location extends activity {      networkconnection nc;     sharedpreferences prefs;     sharedpreferences sharedprefs;     networkconnection netconnect;     options opts;      public void locationselection(){          try{             sharedprefs = preferencemanager.getdefaultsharedpreferences(getapplicationcontext());             if (sharedprefs.contains("location")){                 log.d("if", "if");             }else{                 log.d("if", "else");              }          }catch(exception e){             log.d("exception", "location selection " + e);         }     } } 

edit:

//entire options class class location class.

public class options extends activity {      /** include classes */     sharedpreferences sharedprefs;     preferences prefs;     location loc;     locationsql locsql;     networkconnection netconnect;      /** declare buttons */     button blocation;     button brefresh;      public void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.options);          sharedprefs = preferencemanager.getdefaultsharedpreferences(options.this);          /** set location user */         setlocationpref();          /** refresh selection */         brefresh = (button) findviewbyid(r.id.brefresh);         brefresh.setonclicklistener(new view.onclicklistener() {             public void onclick(view v) {               }         });          /** location selection */         blocation = (button) findviewbyid(r.id.blocation);         blocation.setonclicklistener(new view.onclicklistener() {             public void onclick(view v) {                  loc = new location();                 loc.locationselection();             }         });     } 

//entire log cat

06-10 13:56:03.015: d/androidruntime(27310): >>>>>>>>>>>>>> androidruntime start <<<<<<<<<<<<<< 06-10 13:56:03.015: d/androidruntime(27310): checkjni on 06-10 13:56:03.135: d/androidruntime(27310): --- registering native functions --- 06-10 13:56:03.685: d/dalvikvm(249): gc_explicit freed 88 objects / 4296 bytes in 43ms 06-10 13:56:03.726: d/packageparser(59): scanning package: /data/app/vmdl72287.tmp 06-10 13:56:03.845: i/packagemanager(59): removing non-system package:com.swiftdrink 06-10 13:56:03.845: i/activitymanager(59): force stopping package com.swiftdrink uid=10036 06-10 13:56:03.855: i/process(59): sending signal. pid: 26952 sig: 9 06-10 13:56:03.865: i/usagestats(59): unexpected resume of com.android.launcher while resumed in com.swiftdrink 06-10 13:56:03.875: i/windowmanager(59): win death: window{44f77270 com.swiftdrink/com.swiftdrink.swiftdrinkmain paused=false} 06-10 13:56:03.905: w/inputmanagerservice(59): got remoteexception sending setactive(false) notification pid 26952 uid 10036 06-10 13:56:04.016: w/iinputconnectionwrapper(114): showstatusicon on inactive inputconnection 06-10 13:56:04.205: d/packagemanager(59): scanning package com.swiftdrink 06-10 13:56:04.205: i/packagemanager(59): package com.swiftdrink codepath changed /data/app/com.swiftdrink-1.apk /data/app/com.swiftdrink-2.apk; retaining data , using new 06-10 13:56:04.215: i/packagemanager(59): /data/app/com.swiftdrink-2.apk changed; unpacking 06-10 13:56:04.225: d/installd(34): dexinv: --- begin '/data/app/com.swiftdrink-2.apk' --- 06-10 13:56:04.435: d/dalvikvm(27317): dexopt: load 36ms, verify 99ms, opt 2ms 06-10 13:56:04.445: d/installd(34): dexinv: --- end '/data/app/com.swiftdrink-2.apk' (success) --- 06-10 13:56:04.445: w/packagemanager(59): code path pkg : com.swiftdrink changing /data/app/com.swiftdrink-1.apk /data/app/com.swiftdrink-2.apk 06-10 13:56:04.445: w/packagemanager(59): resource path pkg : com.swiftdrink changing /data/app/com.swiftdrink-1.apk /data/app/com.swiftdrink-2.apk 06-10 13:56:04.455: d/packagemanager(59):   activities: com.swiftdrink.splashscreen com.swiftdrink.swiftdrinkmain com.swiftdrink.deals com.swiftdrink.events com.swiftdrink.featured com.swiftdrink.options com.swiftdrink.sortby com.swiftdrink.networkconnection com.swiftdrink.constents com.swiftdrink.getsetlocation com.swiftdrink.location com.swiftdrink.dbadapter com.swiftdrink.json com.swiftdrink.preferences 06-10 13:56:04.465: i/activitymanager(59): force stopping package com.swiftdrink uid=10036 06-10 13:56:04.565: i/installd(34): move /data/dalvik-cache/data@app@com.swiftdrink-2.apk@classes.dex -> /data/dalvik-cache/data@app@com.swiftdrink-2.apk@classes.dex 06-10 13:56:04.565: d/packagemanager(59): new package installed in /data/app/com.swiftdrink-2.apk 06-10 13:56:04.685: i/activitymanager(59): force stopping package com.swiftdrink uid=10036 06-10 13:56:04.835: d/dalvikvm(114): gc_explicit freed 1024 objects / 58032 bytes in 140ms 06-10 13:56:04.845: d/dalvikvm(59): gc_explicit freed 12088 objects / 692712 bytes in 141ms 06-10 13:56:05.015: w/recognitionmanagerservice(59): no available voice recognition services found 06-10 13:56:05.235: d/dalvikvm(59): gc_explicit freed 4804 objects / 260184 bytes in 94ms 06-10 13:56:05.255: d/dalvikvm(148): gc_explicit freed 2567 objects / 129888 bytes in 540ms 06-10 13:56:05.265: i/installd(34): unlink /data/dalvik-cache/data@app@com.swiftdrink-1.apk@classes.dex 06-10 13:56:05.276: d/androidruntime(27310): shutting down vm 06-10 13:56:05.285: d/dalvikvm(27310): debugger has detached; object registry had 1 entries 06-10 13:56:05.305: i/dalvikvm(27310): jni: attachcurrentthread (from ???.???) 06-10 13:56:05.305: i/androidruntime(27310): note: attach of thread 'binder thread #3' failed 06-10 13:56:05.786: d/androidruntime(27322): >>>>>>>>>>>>>> androidruntime start <<<<<<<<<<<<<< 06-10 13:56:05.786: d/androidruntime(27322): checkjni on 06-10 13:56:05.895: d/androidruntime(27322): --- registering native functions --- 06-10 13:56:06.466: i/activitymanager(59): starting activity: intent { act=android.intent.action.main cat=[android.intent.category.launcher] flg=0x10000000 cmp=com.swiftdrink/.splashscreen } 06-10 13:56:06.505: i/activitymanager(59): start proc com.swiftdrink activity com.swiftdrink/.splashscreen: pid=27328 uid=10036 gids={3003, 1015} 06-10 13:56:06.535: d/androidruntime(27322): shutting down vm 06-10 13:56:06.535: d/dalvikvm(27322): debugger has detached; object registry had 1 entries 06-10 13:56:06.575: i/androidruntime(27322): note: attach of thread 'binder thread #3' failed 06-10 13:56:07.445: d/dalvikvm(27328): gc_external_alloc freed 858 objects / 59096 bytes in 175ms 06-10 13:56:07.815: i/activitymanager(59): displayed activity com.swiftdrink/.splashscreen: 1333 ms (total 1333 ms) 06-10 13:56:08.155: i/activitymanager(59): starting activity: intent { act=com.swiftdrink.swiftdrinkmain cmp=com.swiftdrink/.swiftdrinkmain } 06-10 13:56:08.275: v/one(27328): locationselection 06-10 13:56:08.585: i/activitymanager(59): displayed activity com.swiftdrink/.swiftdrinkmain: 428 ms (total 428 ms) 06-10 13:56:11.646: d/sntpclient(59): request time failed: java.net.socketexception: address family not supported protocol 06-10 13:56:16.886: d/dalvikvm(114): gc_explicit freed 970 objects / 55696 bytes in 124ms 06-10 13:56:20.166: d/exception(27328): location selection java.lang.nullpointerexception 06-10 13:56:21.906: d/dalvikvm(260): gc_explicit freed 66 objects / 3040 bytes in 128ms 

edit 2: //network connection class

public class networkconnection extends activity {     /** called when activity first created. */      public boolean isnetworkconnavail(context context) {          connectivitymanager connmgr = (connectivitymanager)              context.getsystemservice(context.connectivity_service);         networkinfo networkinfo = connmgr.getactivenetworkinfo();         if (networkinfo != null)             return networkinfo.isconnected();          return false;     } } 

//print statment

06-10 14:10:40.015: d/androidruntime(27731): >>>>>>>>>>>>>> androidruntime start <<<<<<<<<<<<<< 06-10 14:10:40.015: d/androidruntime(27731): checkjni on 06-10 14:10:40.145: d/androidruntime(27731): --- registering native functions --- 06-10 14:10:40.535: d/dalvikvm(27670): gc_explicit freed 1408 objects / 74352 bytes in 898ms 06-10 14:10:40.645: d/androidruntime(27731): shutting down vm 06-10 14:10:40.645: d/dalvikvm(27731): debugger has detached; object registry had 1 entries 06-10 14:10:40.665: i/androidruntime(27731): note: attach of thread 'binder thread #3' failed 06-10 14:10:41.045: d/androidruntime(27739): >>>>>>>>>>>>>> androidruntime start <<<<<<<<<<<<<< 06-10 14:10:41.045: d/androidruntime(27739): checkjni on 06-10 14:10:41.166: d/androidruntime(27739): --- registering native functions --- 06-10 14:10:41.655: i/activitymanager(59): starting activity: intent { act=android.intent.action.main cat=[android.intent.category.launcher] flg=0x10000000 cmp=com.swiftdrink/.splashscreen } 06-10 14:10:41.695: d/androidruntime(27739): shutting down vm 06-10 14:10:41.695: d/dalvikvm(27739): debugger has detached; object registry had 1 entries 06-10 14:10:41.775: i/dalvikvm(27739): jni: attachcurrentthread (from ???.???) 06-10 14:10:41.775: i/androidruntime(27739): note: attach of thread 'binder thread #3' failed 06-10 14:10:42.465: i/activitymanager(59): displayed activity com.swiftdrink/.splashscreen: 799 ms (total 799 ms) 06-10 14:10:42.845: i/activitymanager(59): starting activity: intent { act=com.swiftdrink.swiftdrinkmain cmp=com.swiftdrink/.swiftdrinkmain } 06-10 14:10:42.895: v/one(27670): locationselection 06-10 14:10:43.186: i/activitymanager(59): displayed activity com.swiftdrink/.swiftdrinkmain: 337 ms (total 337 ms) 06-10 14:10:45.185: d/exception(27670): location selection java.lang.nullpointerexception 06-10 14:10:45.185: w/system.err(27670): java.lang.nullpointerexception 06-10 14:10:45.205: w/system.err(27670):    @ android.content.contextwrapper.getapplicationcontext(contextwrapper.java:100) 06-10 14:10:45.205: w/system.err(27670):    @ com.swiftdrink.location.locationselection(location.java:39) 06-10 14:10:45.205: w/system.err(27670):    @ com.swiftdrink.options$2.onclick(options.java:73) 06-10 14:10:45.205: w/system.err(27670):    @ android.view.view.performclick(view.java:2408) 06-10 14:10:45.205: w/system.err(27670):    @ android.view.view$performclick.run(view.java:8816) 06-10 14:10:45.205: w/system.err(27670):    @ android.os.handler.handlecallback(handler.java:587) 06-10 14:10:45.216: w/system.err(27670):    @ android.os.handler.dispatchmessage(handler.java:92) 06-10 14:10:45.216: w/system.err(27670):    @ android.os.looper.loop(looper.java:123) 06-10 14:10:45.216: w/system.err(27670):    @ android.app.activitythread.main(activitythread.java:4627) 06-10 14:10:45.216: w/system.err(27670):    @ java.lang.reflect.method.invokenative(native method) 06-10 14:10:45.216: w/system.err(27670):    @ java.lang.reflect.method.invoke(method.java:521) 06-10 14:10:45.216: w/system.err(27670):    @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:868) 06-10 14:10:45.216: w/system.err(27670):    @ com.android.internal.os.zygoteinit.main(zygoteinit.java:626) 06-10 14:10:45.226: w/system.err(27670):    @ dalvik.system.nativestart.main(native method) 06-10 14:10:48.366: d/dalvikvm(114): gc_explicit freed 239 objects / 11320 bytes in 128ms 

you create instance of location class using loc = new location(); location class extending activity, , not launching normal activities (via intents, example), oncreate() never called. due this, getapplicationcontext() return null, activity hasn't been instantiated expected.

to fix this, can add constructor class this:

//new global variable  context context;  public location (context arg) { context = arg; } 

also, you'll need change sharedpreferences initialization use context variable instead of getapplicationcontext().

and assign loc using:

loc = new location(getapplicationcontext()); 

this should solve @ least nullpointerexception.

your socketexception seems occurring because of unsupported address type, code you've posted, don't seem using address @ all.


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 -