android - App Freez and UI Blocking -


hy!

i have 2 classes:

main:

    public class main extends activity {     /** called when activity first created. */     @override     public void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         //setcontentview(r.layout.main);        startactivityforresult(new intent(main.this, login.class), 1);      } } 

login:

public class login extends activity{     progressdialog pd = null;     @override     protected void oncreate(bundle savedinstancestate) {         // todo auto-generated method stub         super.oncreate(savedinstancestate);         setcontentview(r.layout.login);          final edittext user = (edittext)findviewbyid(r.id.login_etuser);         final edittext pw = (edittext)findviewbyid(r.id.login_etpw);         button btlogin = (button)findviewbyid(r.id.login_btlog);         final thread thread = new thread (){             public void run() {                 try                 {                 string result = "";                 result = postdata(user.gettext().tostring(),pw.gettext().tostring());                  final jsonobject jobject = new jsonobject(result);                 jsonobject menuobject = jobject.getjsonobject("responsedata");                 log.e("xxx", menuobject.getstring("session_id"));                  //pd.dismiss();                 }                 catch (exception e)                 {                     log.e("xxx", e.getmessage());                 }                };         };          btlogin.setonclicklistener(new onclicklistener() {              @override             public void onclick(view v) {                  if (!user.gettext().tostring().equals("") && !pw.gettext().tostring().equals(""))                 {                      thread.run();                  }              }         });     }     public string postdata(final string user, final string pw) {         // create new httpclient , post header         httpclient httpclient = new defaulthttpclient();         httppost httppost = new httppost("http://surfkid.redio.de/login");         string result;         bufferedreader in = null;          try {             // add data             list<namevaluepair> namevaluepairs = new arraylist<namevaluepair>(2);             namevaluepairs.add(new basicnamevaluepair("username", user));             namevaluepairs.add(new basicnamevaluepair("password", md5(pw)));             httppost.setentity(new urlencodedformentity(namevaluepairs));              // execute http post request             httpresponse response = httpclient.execute(httppost);             if(response != null){                 in = new bufferedreader(new inputstreamreader(response.getentity().getcontent()));                  stringbuffer sb = new stringbuffer("");                 string line = "";                 string nl = system.getproperty("line.separator");                 while ((line = in.readline()) != null) {                     sb.append(line + nl);                 }                 in.close();                  result = sb.tostring();                 return result;               }          } catch (clientprotocolexception e) {              log.e("xxx", e.getmessage());         } catch (ioexception e) {             log.e("xxx", e.getmessage());         }         return null;     }      private string md5(string in) {              messagedigest digest;              try {                  digest = messagedigest.getinstance("md5");                  digest.reset();                          digest.update(in.getbytes());                  byte[] = digest.digest();                  int len = a.length;                  stringbuilder sb = new stringbuilder(len << 1);                  (int = 0; < len; i++) {                      sb.append(character.fordigit((a[i] & 0xf0) >> 4, 16));                      sb.append(character.fordigit(a[i] & 0x0f, 16));                  }                  return sb.tostring();              } catch (nosuchalgorithmexception e) { e.printstacktrace(); }              return null;          }    } 

logcat:

01-25 09:24:57.641: error/androidruntime(31148): fatal exception: main 01-25 09:24:57.641: error/androidruntime(31148): java.lang.nullpointerexception: println needs message 01-25 09:24:57.641: error/androidruntime(31148):     @ android.util.log.println_native(native method) 01-25 09:24:57.641: error/androidruntime(31148):     @ android.util.log.e(log.java:215) 01-25 09:24:57.641: error/androidruntime(31148):     @ android.skiptvad.login$1.run(login.java:59) 01-25 09:24:57.641: error/androidruntime(31148):     @ android.skiptvad.login$2.onclick(login.java:75) 01-25 09:24:57.641: error/androidruntime(31148):     @ android.view.view.performclick(view.java:2461) 01-25 09:24:57.641: error/androidruntime(31148):     @ android.view.view$performclick.run(view.java:8888) 01-25 09:24:57.641: error/androidruntime(31148):     @ android.os.handler.handlecallback(handler.java:587) 01-25 09:24:57.641: error/androidruntime(31148):     @ android.os.handler.dispatchmessage(handler.java:92) 01-25 09:24:57.641: error/androidruntime(31148):     @ android.os.looper.loop(looper.java:123) 01-25 09:24:57.641: error/androidruntime(31148):     @ android.app.activitythread.main(activitythread.java:4627) 01-25 09:24:57.641: error/androidruntime(31148):     @ java.lang.reflect.method.invokenative(native method) 01-25 09:24:57.641: error/androidruntime(31148):     @ java.lang.reflect.method.invoke(method.java:521) 01-25 09:24:57.641: error/androidruntime(31148):     @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:858) 01-25 09:24:57.641: error/androidruntime(31148):     @ com.android.internal.os.zygoteinit.main(zygoteinit.java:616) 01-25 09:24:57.641: error/androidruntime(31148):     @ dalvik.system.nativestart.main(native method) 

please help!!!

what wrong thread.start in button on click?

i think either menuobject.getstring("session_id") or e.getmessage() null.

also think want use thread.start(); , not thread.run();. thread documentation.


Comments

Popular posts from this blog

java - SNMP4J General Variable Binding Error -

windows - Python Service Installation - "Could not find PythonClass entry" -

Determine if a XmlNode is empty or null in C#? -