android - Location network service -


i developing app display details on network provider, got errors can me clear it?

logcat-file:

d/androidruntime(308): shutting down vmw/dalvikvm(308):threadid=1: thread exiting   uncaughtexception(group=0x4001d800) e/androidruntime(308): fatal exception: main e/androidruntime(308): java.lang.runtimeexception: unable instantiate activity componentinfo{com.locationtest/com.locationtest.locationtestactivity}:  java.lang.nullpointerexception e/androidruntime(308):at android.app.activitythread.performlaunchactivity(activitythread.java:2585) e/androidruntime(308):at  android.app.activitythread.handlelaunchactivity(activitythread.java:2679) e/androidruntime(308):at  android.app.activitythread.access$2300(activitythread.java:125) e/androidruntime(308):at  android.app.activitythread$h.handlemessage(activitythread.java:2033) e/androidruntime(308):at  android.os.handler.dispatchmessage(handler.java:99) e/androidruntime(308):at android.os.looper.loop(looper.java:123) e/androidruntime(308)at android.app.activitythread.main(activitythread.java:4627) e/androidruntime(308):at java.lang.reflect.method.invokenative(native method) e/androidruntime(308):at java.lang.reflect.method.invoke(method.java:521) e/androidruntime(308):at com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:868) e/androidruntime(308):at com.android.internal.os.zygoteinit.main(zygoteinit.java:626) e/androidruntime(308):at dalvik.system.nativestart.main(native  method) e/androidruntime(308): caused by: java.lang.nullpointerexception e/androidruntime(308):at android.app.activity.findviewbyid(activity.java:1637) e/androidruntime(308):at com.locationtest.locationtestactivity. <init>(locationtestactivity.java:18) e/androidruntime(308):at java.lang.class.newinstanceimpl(native method) e/androidruntime(308):at java.lang.class.newinstance(class.java:1429) e/androidruntime(308):at android.app.instrumentation.newactivity(instrumentation.java:1021) e/androidruntime(308):at android.app.activitythread.performlaunchactivity(activitythread.java:2577) e/androidruntime(308):  ... 11 more i/process(308): sending signal. pid: 308 sig: 9 

code:

public class locationtestactivity extends activity implements locationlistener { /** called when activity first created. */  locationmanager locman;  string best; location loc; textview t=(textview)findviewbyid(r.id.text);  private static final string[] = { "invalid" , "n/a" , "fine" , "coarse" };  private static final string[] p = { "invalid" , "n/a" , "low" , "medium" ,  "high" };  private static final string[] s = { "out of service" ,  "temporarily unavailable" , "available" };  @override  public void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.main);    locman =(locationmanager)getsystemservice(location_service);      log("location providers");     dumpproviders();     criteria criteria=new criteria();     best=locman.getbestprovider(criteria,true);     log("bestproviders"+best);     log("starting last known location");     loc=locman.getlastknownlocation(best);     dumplocation(loc);   } protected void onresume() {    super.onpause(); locman.requestlocationupdates(best, 15000,1,this); }  protected void onpause()  {     super.onpause();     locman.removeupdates(this);  }    private void dumpproviders() {     // todo auto-generated method stub     list<string> providers=locman.getallproviders();     for(string provider:providers){         dumpprovider(provider);     } }  private void dumpprovider(string providers) {     // todo auto-generated method stub     locationprovider info=locman.getprovider(providers);     stringbuilder buil=new stringbuilder();     buil.append("locationprovier[")     .append("name=")     .append(info.getname())     .append("provider state")     .append(locman.isproviderenabled(providers))     .append(",getaccuracy=" )     .append(a[info.getaccuracy() + 1])     .append(",getpowerrequirement=" )     .append(p[info.getpowerrequirement() + 1])     .append(",hasmonetarycost=" )     .append(info.hasmonetarycost())     .append(",requirescell=" )     .append(info.requirescell())     .append(",requiresnetwork=" )     .append(info.requiresnetwork())     .append(",requiressatellite=" )     .append(info.requiressatellite())     .append(",supportsaltitude=" )     .append(info.supportsaltitude())     .append(",supportsbearing=" )     .append(info.supportsbearing())     .append(",supportsspeed=" )     .append(info.supportsspeed())     .append("]" );     log(buil.tostring()); } private void log(string string) {     // todo auto-generated method stub     t.append(string+"\n"); } @override public void onlocationchanged(location arg0) {     // todo auto-generated method stub     dumplocation(loc); } private void dumplocation(location loc) {     // todo auto-generated method stub     if (loc == null)         log("\nlocation[unknown]" );         else         log("\n" + loc.tostring()); } @override public void onproviderdisabled(string arg0) {     // todo auto-generated method stub     log("\nprovider disabled: " + arg0); } @override public void onproviderenabled(string arg0) {     // todo auto-generated method stub     log("\nprovider enabled: " + arg0); } @override public void onstatuschanged(string provider, int status, bundle extras) {     // todo auto-generated method stub     log("\nprovider status changed: " + provider + ", status="             + s[status] + ", extras=" + extras); } 

you cannot have below line of code in class scope.

textview t=(textview)findviewbyid(r.id.text); 

findviewbyid method returns valid view object if particular view displayed on screen otherwise return null.

in case trying access textview before visible getting nullpointerexception (check second exception raised in log)

e/androidruntime(308): caused by: java.lang.nullpointerexception e/androidruntime(308):at android.app.activity.findviewbyid(activity.java:1637) e/androidruntime(308):at com.locationtest.locationtestactivity. (locationtestactivity.java:18) e/androidruntime(308):at java.lang.class.newinstanceimpl(native method) e/androidruntime(308):at java.lang.class.newinstance(class.java:1429) e/androidruntime(308):at android.app.instrumentation.newactivity(instrumentation.java:1021) e/androidruntime(308):at android.app.activitythread.performlaunchactivity(activitythread.java:2577) e/androidruntime(308): ... 11 more i/process(308): sending signal. pid: 308 sig: 9 

add above line after "setcontentview(r.layout.main);" in oncreate() method should work, such as...

setcontentview(r.layout.main); t = (textview) findviewbyid(r.id.text); 

read error log required info debug.


Comments

Popular posts from this blog

java - Play! framework 2.0: How to display multiple image? -

gmail - Is there any documentation for read-only access to the Google Contacts API? -

php - Controller/JToolBar not working in Joomla 2.5 -