Android AsyncTask getting error -
i little new connecting internet apps got error, , codes down here.
08-28 14:43:29.705: e/androidruntime(17341): fatal exception: asynctask #1 08-28 14:43:29.705: e/androidruntime(17341): java.lang.runtimeexception: error occured while executing doinbackground() 08-28 14:43:29.705: e/androidruntime(17341): @ android.os.asynctask$3.done(asynctask.java:200) 08-28 14:43:29.705: e/androidruntime(17341): @ java.util.concurrent.futuretask$sync.innersetexception(futuretask.java:274) 08-28 14:43:29.705: e/androidruntime(17341): @ java.util.concurrent.futuretask.setexception(futuretask.java:125) 08-28 14:43:29.705: e/androidruntime(17341): @ java.util.concurrent.futuretask$sync.innerrun(futuretask.java:308) 08-28 14:43:29.705: e/androidruntime(17341): @ java.util.concurrent.futuretask.run(futuretask.java:138) 08-28 14:43:29.705: e/androidruntime(17341): @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1088) 08-28 14:43:29.705: e/androidruntime(17341): @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:581) 08-28 14:43:29.705: e/androidruntime(17341): @ java.lang.thread.run(thread.java:1019) 08-28 14:43:29.705: e/androidruntime(17341): caused by: java.lang.runtimeexception: can't create handler inside thread has not called looper.prepare() 08-28 14:43:29.705: e/androidruntime(17341): @ android.os.handler.(handler.java:121) 08-28 14:43:29.705: e/androidruntime(17341): @ android.app.dialog.(dialog.java:101) 08-28 14:43:29.705: e/androidruntime(17341): @ android.app.alertdialog.(alertdialog.java:63) 08-28 14:43:29.705: e/androidruntime(17341): @ android.app.alertdialog.(alertdialog.java:59) 08-28 14:43:29.705: e/androidruntime(17341): @ android.app.alertdialog$builder.create(alertdialog.java:807) 08-28 14:43:29.705: e/androidruntime(17341): @ android.app.alertdialog$builder.show(alertdialog.java:822) 08-28 14:43:29.705: e/androidruntime(17341): @ com.makkuzu.gps.tracker.main.uyaripencerem(main.java:129) 08-28 14:43:29.705: e/androidruntime(17341): @ com.makkuzu.gps.tracker.main.access$2(main.java:124) 08-28 14:43:29.705: e/androidruntime(17341): @ com.makkuzu.gps.tracker.main$savedatatask.doinbackground(main.java:108) 08-28 14:43:29.705: e/androidruntime(17341): @ com.makkuzu.gps.tracker.main$savedatatask.doinbackground(main.java:1) 08-28 14:43:29.705: e/androidruntime(17341): @ android.os.asynctask$2.call(asynctask.java:185) 08-28 14:43:29.705: e/androidruntime(17341): @ java.util.concurrent.futuretask$sync.innerrun(futuretask.java:306) 08-28 14:43:29.705: e/androidruntime(17341): ... 4 more
        private class savedatatask extends asynctask<url, integer, long> {      protected long doinbackground(url... urls) {             if(kullanicikontrol()){                         try {                         simpledateformat sdf = new simpledateformat("yyyy/mm/dd hh:mm");                         string currentdateandtime = sdf.format(new date());                         arraylist<namevaluepair> namevalpairs = new arraylist<namevaluepair>();                         namevalpairs.add(new basicnamevaluepair("name", username.gettext().tostring()));                         namevalpairs.add(new basicnamevaluepair("pass", passone.gettext().tostring()));                          namevalpairs.add(new basicnamevaluepair("time", currentdateandtime));                         httpclient httpclient = new defaulthttpclient();                         httppost httppost = new httppost(                                 "http://www.mywebsite.com/yeni_kayit.php");                         httppost.setentity(new urlencodedformentity(namevalpairs));                         httpclient.execute(httppost);                          islemtamam();                     } catch (exception e) {                         string icerik = "bilgiler kaydedilemedi, internet bağlantınızın olduıundan emin olunuz.";                         uyaripencerem("uyarı! ",icerik);                     }                  }          return (long) 0;      }       protected void onprogressupdate(integer... progress) {       }       protected void onpostexecute(long result) {       }  }   uyaripencerem
  private void uyaripencerem(string baslik, string icerik){      builder uyaripenceresi = new alertdialog.builder(this);         uyaripenceresi.settitle(baslik);         uyaripenceresi.setmessage(icerik);         uyaripenceresi.setcancelable(true);             uyaripenceresi.show();  }   and kullanicikontrol
 private boolean kullanicikontrol() {     // todo auto-generated method stub // http post try {     string result = "";     arraylist<namevaluepair> namevalpairs = new arraylist<namevaluepair>();     namevalpairs.add(new basicnamevaluepair("name", username.gettext().tostring()));     httpclient httpclient = new defaulthttpclient();     httppost httppost = new httppost(             "http://mywebsite.com/kullanici_kontrol.php");     httppost.setentity(new urlencodedformentity(namevalpairs));     httpresponse response = httpclient.execute(httppost);     httpentity entity = response.getentity();     inputstream = entity.getcontent();     try {         bufferedreader reader = new bufferedreader(                 new inputstreamreader(is, "iso-8859-1"), 8);         stringbuilder sb = new stringbuilder();         string line = null;         while ((line = reader.readline()) != null) {             sb.append(line + "\n");         }         is.close();         result = sb.tostring();     } catch (exception err) {     }     try {         jsonarray jarray = new jsonarray(result);         (int = 0; < jarray.length(); i++) {             jsonobject json_data = jarray.getjsonobject(i);             string icerik = "böyle bir kullanici zaten mevcut lütfen farklı bir kullanıcı adı deneyin.";             uyaripencerem("uyarı! ", icerik);             return false;         }     } catch (jsonexception er_json) {     } } catch (exception er) { } return true; }   and islemtamam code
          private void islemtamam() {      builder uyaripenceresi = new alertdialog.builder(this);     uyaripenceresi.settitle("İşlem tamam! ");     uyaripenceresi.setmessage("bilgiler başarıyla kaydedilmiştir. \nkullanıcı adınız :" + username.gettext().tostring() + "\nşifreniz:"+ passone.gettext().tostring()+ "\ntelefon konumunuzu öğrenmek için \ntelefonumnerede.makkuzu.com web sitesini ziyaret ediniz. ");     uyaripenceresi.setcancelable(true);     uyaripenceresi.setpositivebutton("tamam",new dialoginterface.onclicklistener() {         public void onclick(dialoginterface dialog,int id) {             somedata=getsharedpreferences(filename,0);             editor myeditor=somedata.edit();             myeditor.putstring("name", username.gettext().tostring());              myeditor.putboolean("isfirtstime", false);              myeditor.commit();             startservice(new intent(main.this, gpsservice.class));             main.this.finish();         }       });         uyaripenceresi.show();   }   thanks help...
this uyaripencerem("uyarı! ", icerik) displays alertdialog. uyaripencerem("uyarı! ", icerik) called form doinbackground
doinbackground invoked on background thread. cannot update ui doinbackground. 
return  result of background computation in  doinabckground. result of doinbackground computation param onpostexecute. based on result update ui in onpostexecute
for more info check docs
http://developer.android.com/reference/android/os/asynctask.html
Comments
Post a Comment