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
Post a Comment