How to implement ASyncTask in Android -
can tell me how update ui using asynctask , give example?
i getting value 2 webservices. 2 webservices getting value in 2 arraylist on post method not return value rounding in loop. how return onpostexecutemethod?
this async class:
public class hometask extends asynctask<void,void,bundle> { private context ctx; public hometask(context context) { ctx = context; } @override protected void onpreexecute() { //super.onpreexecute(); //setcontentview(r.layout.splash); dlg = new progressdialog(getdialogcontext()); dlg.setmessage("loading...."); dlg.show(); //setcontentview(r.layout.splash); } @override protected bundle doinbackground(void... params) { bundle b=new bundle(); // todo auto-generated method stub try { webservice tableservice=new webservice(); tableservicevalue=tableservice.calltableserver(soap_action,"",strusername,strpassword,questgroupid,url); tableservicevalue=decodexmldata(tableservicevalue); domtableparser parser=new domtableparser(); parser.settableservicevalue(tableservicevalue); parsedvalue=parser.parsexmlfile(tableservicevalue); log.d("1234%%%%$$$$$$$parsed value$$$$$", parsedvalue.tostring()); webservice service=new webservice(); webservicevalue=service.callhomeserver(soap_action,"",strusername,strpassword,questgroupid,url); webservicevalue=decodexmldata(webservicevalue); articleparser articleparser=new articleparser(); articleparsedvalue=articleparser.parsexmlarticle(webservicevalue); //b.putstringarraylist("articleparsedvalue", articleparsedvalue); log.d("(((((((parsed value is",parsedvalue.tostring()); b.putstringarraylist("parsedvalue", parsedvalue); b.putstringarraylist("articleparsedvalue", articleparsedvalue); log.d("(((((((parsed value is",articleparsedvalue.tostring()); } catch (exception e) { // todo: handle exception e.printstacktrace(); } return b; } @override protected void onpostexecute(bundle b) { log.d("vijay checking","checking&&&&"); log.d("****","*********"); log.d("calling","handler"); log.d("****","*********"); parsedvalue1=b.getstringarraylist("parsedvalue"); articleparsedvalue1=b.getstringarraylist("articleparsedvalue"); }
onupdating user interface
new hometask(homeactivity2.this).execute(null); for(int i=0;i<parsedvalue1.size();i++) { domparsertabledataset dataset=(domparsertabledataset)parsedvalue1.get(i); if(i==0) { log.d("&&&&&&index name is", dataset.getindexname()); log.d("&&&&&&index name is", dataset.getlastvalue()); log.d("&&&&&&index name is",dataset.getchangepercentage() ); txtindex0.settext(dataset.getindexname()); txtlast0.settext(dataset.getlastvalue()); txtchange0.settext(dataset.getchangepercentage()); } if(i==1) { log.d("&&&&&&index name is", dataset.getindexname()); log.d("&&&&&&index name is", dataset.getlastvalue()); log.d("&&&&&&index name is",dataset.getchangepercentage() ); txtindex1.settext(dataset.getindexname()); txtlast1.settext(dataset.getlastvalue()); txtchange1.settext(dataset.getchangepercentage()); } if(i==2) { log.d("&&&&&&index name is", dataset.getindexname()); log.d("&&&&&&index name is", dataset.getlastvalue()); log.d("&&&&&&index name is",dataset.getchangepercentage() ); txtindex2.settext(dataset.getindexname()); txtlast2.settext(dataset.getlastvalue()); txtchange2.settext(dataset.getchangepercentage()); } if(i==3) { log.d("&&&&&&index name is", dataset.getindexname()); log.d("&&&&&&index name is", dataset.getlastvalue()); log.d("&&&&&&index name is",dataset.getchangepercentage() ); txtindex3.settext(dataset.getindexname()); txtlast3.settext(dataset.getlastvalue()); txtchange3.settext(dataset.getchangepercentage()); } } // for(int i=0;i<articleparsedvalue1.size();i++) { system.out.println("for loop checking is"+i); articledataset articledataset=(articledataset)articleparsedvalue1.get(i); system.out.println("articledataset.getarticle_title()"+articledataset.getarticle_title()); hashmap<string, string> mapvalue=new hashmap<string, string>(); webview webviewcontent=new webview(homeactivity2.this); if(articledataset.getarticle_summary().length()>75) { summary=articledataset.getarticle_summary().substring(0,75)+"..."; } else { summary=articledataset.getarticle_summary(); } string html ="<html><body><div><label> <font face=\"verdana\" color=\"#c1002b\" size=\"4\"><b>"+articledataset.getarticle_title()+"</b> </font> </label>"+ "<label> <font color=\"#000000\" size=\"2\" face=\"verdana\">"+"|"+"</font></label> "+"<label> <font color=\"#aaaaaa\" face=\"verdana\" size=\"2\">"+articledataset.getarticle_date()+" </font></label></div>"; html=html+"<div><label> <font color=\"#000000\" face=\"verdana\" size=\"2\">"+summary+" </font></label></div></body></html>" ; webviewcontent.getsettings().setjavascriptenabled(true); webviewcontent.clearcache(true); final activity activity = homeactivity2.this; webviewcontent.loaddata(html, "text/html", "utf-8"); if(i==articleparsedvalue1.size()-1) { webviewcontent.setwebviewclient(new webviewclient() { public boolean shouldoverrideurlloading(webview view, string url) { view.loadurl(url); return true; } public void onpagefinished(webview view, string url) { // setcontentview(r.layout.home); if (dlg.isshowing()) { dlg.dismiss(); dlg = null; } splash.setvisibility(view.gone); // setcontentview(repl); } }); } mainlinear4.addview(webviewcontent); //webviewcontent.setontouchlistener(homeactivity2.this); } }
list<string> data; // declare here can use in onpostexecute(). public class youractivity extends activity { public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); starttask(); } private void starttask() { new fileasync().execute("start"); toast toast = toast.maketext(youractivity.this," start:" , 7);toast.show(); } class fileasync extends asynctask<string, string, string> { @override protected void onpreexecute() { super.onpreexecute(); m_progressdialog = progressdialog.show(youractivity.this, "", "loading ...", true); } @override protected string doinbackground(string... aurl) { // these methods calling data web service made // in sperate class can here well. tempdao tempdao = new tempdaoimpl(); data = tempdao.getdatalist(arg1,arg2); return null; } protected void onprogressupdate(string... progress) { log.d("andro_async",progress[0]); } @override protected void onpostexecute(string unused) { textview textdata= new textview(youractivity.this); textdata.settext(data.get(1)); textdata.settextcolor(color.white); textdata.setgravity(gravity.center); setcontentview(textdata); m_progressdialog.dismiss(); } }
Comments
Post a Comment