android - Unfortunately <application> has stopped -


i have app user submits data in form sent server. testing on tablet , android smartphone (galaxy s2). on tablet, click on "submit", application stops working message "unfortunately has stopped working". problem not seen on either phone or emulator, has me stumped.

there screen in app user has option re-submit same credentials. there too, same problem encountered. rest of app works ok. has led me conclude problem might lie in way sending data server. code snippet follows:

//code send server should begin here.         httpclient hc = new defaulthttpclient();         httppost hp = new httppost("http://www.mywebsite.com/takedetails.php");          try {             // add data             list<namevaluepair> namevaluepairs = new arraylist<namevaluepair>(2);             string val = "new";             namevaluepairs.add(new basicnamevaluepair("mode", val));             namevaluepairs.add(new basicnamevaluepair("name", name));             namevaluepairs.add(new basicnamevaluepair("number", number));             namevaluepairs.add(new basicnamevaluepair("email", emailid));             log.v(this.tostring(), "email = " + emailid);             hp.setentity(new urlencodedformentity(namevaluepairs));             // execute http post request             httpresponse response = hc.execute(hp);              //toast.maketext(getapplicationcontext(), "attempting register.", toast.length_long).show();              string responsebody = entityutils.tostring(response.getentity());             if(responsebody.contains("success")) {                 toast.maketext(getapplicationcontext(), "thank registering! receive email username , password shortly.", toast.length_long).show();             } else {                 toast.maketext(getapplicationcontext(), "attempt register failed.", toast.length_long).show();             }             log.v(this.tostring(), "http response = " + responsebody);          } catch (clientprotocolexception e) {             // todo auto-generated catch block         } catch (ioexception e) {             // todo auto-generated catch block         } 

logcat output:

v/com.sriram.htmldisplay.htmldisplay@4107bef0( 3766): line read = name: jguyjfhf v/com.sriram.htmldisplay.htmldisplay@4107bef0( 3766): line read = number: 668895898 v/com.sriram.htmldisplay.htmldisplay@4107bef0( 3766): line read = email id:jvjhfhc@ccf.mkj v/com.sriram.htmldisplay.htmldisplay@4107bef0( 3766): user details gleaned = name = jguyjfhf v/com.sriram.htmldisplay.htmldisplay@4107bef0( 3766): 668895898 v/com.sriram.htmldisplay.htmldisplay@4107bef0( 3766): jvjhfhc@ccf.mkj v/com.sriram.htmldisplay.htmldisplay@4107bef0( 3766): email = jvjhfhc@ccf.mkj d/androidruntime( 3766): shutting down vm w/dalvikvm( 3766): threadid=1: thread exiting uncaught exception (group=0x409f11f8) e/androidruntime( 3766): fatal exception: main e/androidruntime( 3766): android.os.networkonmainthreadexception e/androidruntime( 3766):    @ android.os.strictmode$androidblockguardpolicy.onnetwork(strictmode.java:1099) e/androidruntime( 3766):    @ java.net.inetaddress.lookuphostbyname(inetaddress.java:391) e/androidruntime( 3766):    @ java.net.inetaddress.getallbynameimpl(inetaddress.java:242) e/androidruntime( 3766):    @ java.net.inetaddress.getallbyname(inetaddress.java:220) e/androidruntime( 3766):    @ org.apache.http.impl.conn.defaultclientconnectionoperator.openconnection(defaultclientconnectionoperator.java:137) e/androidruntime( 3766):    @ org.apache.http.impl.conn.abstractpoolentry.open(abstractpoolentry.java:164) e/androidruntime( 3766):    @ org.apache.http.impl.conn.abstractpooledconnadapter.open(abstractpooledconnadapter.java:119) e/androidruntime( 3766):    @ org.apache.http.impl.client.defaultrequestdirector.execute(defaultrequestdirector.java:360) e/androidruntime( 3766):    @ org.apache.http.impl.client.abstracthttpclient.execute(abstracthttpclient.java:555) e/androidruntime( 3766):    @ org.apache.http.impl.client.abstracthttpclient.execute(abstracthttpclient.java:487) e/androidruntime( 3766):    @ org.apache.http.impl.client.abstracthttpclient.execute(abstracthttpclient.java:465) e/androidruntime( 3766):    @ com.sriram.htmldisplay.htmldisplay.writesenddetails(htmldisplay.java:200) e/androidruntime( 3766):    @ com.sriram.htmldisplay.htmldisplay.access$10(htmldisplay.java:127) e/androidruntime( 3766):    @ com.sriram.htmldisplay.htmldisplay$1.onclick(htmldisplay.java:110) e/androidruntime( 3766):    @ android.view.view.performclick(view.java:3511) e/androidruntime( 3766):    @ android.view.view$performclick.run(view.java:14105) e/androidruntime( 3766):    @ android.os.handler.handlecallback(handler.java:605) e/androidruntime( 3766):    @ android.os.handler.dispatchmessage(handler.java:92) e/androidruntime( 3766):    @ android.os.looper.loop(looper.java:137) e/androidruntime( 3766):    @ android.app.activitythread.main(activitythread.java:4424) e/androidruntime( 3766):    @ java.lang.reflect.method.invokenative(native method) e/androidruntime( 3766):    @ java.lang.reflect.method.invoke(method.java:511) e/androidruntime( 3766):    @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:784) e/androidruntime( 3766):    @ com.android.internal.os.zygoteinit.main(zygoteinit.java:551) e/androidruntime( 3766):    @ dalvik.system.nativestart.main(native method) d/dalvikvm( 3766): gc_concurrent freed 290k, 7% free 6697k/7175k, paused 4ms+6ms w/activitymanager( 1268):   force finishing activity com.sriram.htmldisplay/.htmldisplay d/tabletstatusbar( 1340): hiding menu button w/activitymanager( 1268): activity pause timeout activityrecord{41406c60 com.sriram.htmldisplay/.htmldisplay 

my questions:
1. there better way handle errors httpclient?
2. ideas on may causing tablet fail welcome.

networkonmainthreadexception: exception thrown when application attempts perform networking operation on main thread.

add code in oncreate

strictmode.threadpolicy policy = new strictmode.threadpolicy.builder().permitall().build();  strictmode.setthreadpolicy(policy);  

or add http call code asynctask

class retreivefeedtask extends asynctask<string, void, rssfeed> {          private exception exception;          protected rssfeed doinbackground(string... urls) {             try {                  // add code here              } catch (exception e) {                 this.exception = e;                 return null;             }         }          protected void onpostexecute(rssfeed feed) {             // todo: check this.exception              // todo: feed         }      } 

to execute asynctask:

new retreivefeedtask().execute(urltorssfeed); 

hope have added below permission in android manifest file

<uses-permission android:name="android.permission.internet"/> 

Comments

Popular posts from this blog

node.js - Bad Request - node js ajax post -

Why does Ruby on Rails generate add a blank line to the end of a file? -

keyboard - Smiles and long press feature in Android -