java - Error in async task -


i getting error asynctask in android want use getting datas via web service , bind them on grid view

    public class productlist extends activity   {      protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         ``this.requestwindowfeature(window.feature_no_title);         setcontentview(r.layout.activity_product_list);         bundle extras = getintent().getextras();         if (extras != null) {             ad=extras.getstring("ad");             catid=extras.getstring("catid");             greeting=(textview)findviewbyid(r.id.greetingstext);              greeting.settext("ho�geldiniz, "+extras.getstring("ad"));         }         products = new products();         try {             productslist=get.execute(new string[] { integer.tostring(integer.parseint(catid)+1) }).get();         } catch (interruptedexception e) {             // todo auto-generated catch block             e.printstacktrace();         } catch (executionexception e) {             // todo auto-generated catch block             e.printstacktrace();         }         (int = 0; < productslist.size(); i++) {             system.out.println(productslist.get(i).ad);         }     }     public arraylist<productdata> productslist = new arraylist<productdata>();     public class productdata     {         public productdata()         {          }          public productdata(int id,string ad,string fiyat,string kisaca,string link,string status)         {             this.id=id;             this.ad=ad;             this.fiyat=fiyat;             this.kisaca=kisaca;             this.link=link;             this.status=status;         }          public string status;         public int id;         public string ad;         public string fiyat;         public string kisaca;         public string link;     }     public void onitemclick(adapterview<?> parent, view v, int position, long id) {     }     private class products extends asynctask<string,  arraylist<productdata>, arraylist<productdata>> {          @override         protected  arraylist<productdata> doinbackground(string... params) {              url url;              arraylist<productdata> productsl = new arraylist<productdata>();                 try                   {                      url = new url("http://www.sucukevim.com/external_services.php?service=get_product_list&&type=filter&&catid="+params[0]);                 urlconnection connection;                 connection = url.openconnection();                  httpurlconnection httpconnection = (httpurlconnection)connection;                 int responsecode = httpconnection.getresponsecode();                  if(responsecode==httpurlconnection.http_ok)                 {                     inputstream in = httpconnection.getinputstream();                      documentbuilderfactory dbf = documentbuilderfactory.newinstance();                     documentbuilder db = dbf.newdocumentbuilder();                      document dom = db.parse(in);                      element docele = dom.getdocumentelement();                      nodelist nl = docele.getelementsbytagname("product");                                      (int = 0; < nl.getlength(); i++) {                                         node childnode = nl.item(i);                                               element eelement = (element)childnode;                                              system.out.println("baslik= "+gettagvalue("id", eelement));                                             system.out.println("tarih= "+gettagvalue("ad", eelement));                                             system.out.println("link= "+gettagvalue("resim", eelement));                                  productsl.add(new productdata(integer.parseint(gettagvalue("id", eelement)),gettagvalue("ad", eelement),gettagvalue("fiyat", eelement),gettagvalue("kisaca", eelement),gettagvalue("resim", eelement),integer.tostring(i)));                                               }                                      return productsl;                 }                 }                 catch(malformedurlexception e)                 {                  }                 catch(ioexception e)                 {                  }                 catch(parserconfigurationexception e){                  }                 catch(saxexception e)                 {                  }                return null;         }         public string gettagvalue(string tag,element eelement)         {             nodelist nllist = eelement.getelementsbytagname(tag).item(0).getchildnodes();             node nvalue = (node) nllist.item(0);             return nvalue.gettextcontent();         }         protected void onpostexecute(arraylist<productdata> result) {            }  } } 

logcat error:

05-20 05:23:34.460: e/androidruntime(5406): fatal exception: asynctask #3 05-20 05:23:34.460: e/androidruntime(5406): java.lang.runtimeexception: error occured while executing doinbackground() 05-20 05:23:34.460: e/androidruntime(5406):     @ android.os.asynctask$3.done(asynctask.java:200) 05-20 05:23:34.460: e/androidruntime(5406):     @ java.util.concurrent.futuretask$sync.innersetexception(futuretask.java:274) 05-20 05:23:34.460: e/androidruntime(5406):     @ java.util.concurrent.futuretask.setexception(futuretask.java:125) 05-20 05:23:34.460: e/androidruntime(5406):     @ java.util.concurrent.futuretask$sync.innerrun(futuretask.java:308) 05-20 05:23:34.460: e/androidruntime(5406):     @ java.util.concurrent.futuretask.run(futuretask.java:138) 05-20 05:23:34.460: e/androidruntime(5406):     @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1088) 05-20 05:23:34.460: e/androidruntime(5406):     @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:581) 05-20 05:23:34.460: e/androidruntime(5406):     @ java.lang.thread.run(thread.java:1019) 05-20 05:23:34.460: e/androidruntime(5406): caused by: java.lang.nullpointerexception 05-20 05:23:34.460: e/androidruntime(5406):     @ com.troyateck.sucukevim.productlist$products.gettagvalue(productlist.java:164) 05-20 05:23:34.460: e/androidruntime(5406):     @ com.troyateck.sucukevim.productlist$products.doinbackground(productlist.java:136) 05-20 05:23:34.460: e/androidruntime(5406):     @ com.troyateck.sucukevim.productlist$products.doinbackground(productlist.java:1) 05-20 05:23:34.460: e/androidruntime(5406):     @ android.os.asynctask$2.call(asynctask.java:185) 05-20 05:23:34.460: e/androidruntime(5406):     @ java.util.concurrent.futuretask$sync.innerrun(futuretask.java:306) 05-20 05:23:34.460: e/androidruntime(5406):     ... 4 more 

the problem gettagvalue():

public string gettagvalue(string tag,element eelement) {     nodelist nllist = eelement.getelementsbytagname(tag).item(0).getchildnodes();     node nvalue = (node) nllist.item(0);     return nvalue.gettextcontent(); } 

there null pointer somewhere there, on line 164. i'm not sure expression, of 3 lines cause null pointer exception. please check each return value null before using, perhaps this:

public string gettagvalue(string tag,element eelement) {     string retval = "not found";     if (eelement != null && eelement.getelementsbytagname(tag) != null && eelement.getelementsbytagname(tag).item(0) != null)     {         nodelist nllist = eelement.getelementsbytagname(tag).item(0).getchildnodes();         if (nllist != null && nllist.item(0) != null)         {             node nvalue = (node) nllist.item(0);             retval = nvalue.gettextcontent();         }     }      return retval; } 

Comments

Popular posts from this blog

.htaccess - First slash is removed after domain when entering a webpage in the browser -

Automatically create pages in phpfox -

c# - Farseer ContactListener is not working -