java - How to get name from mySQL database and show it in ListView by BaseAdapter? -
i have been searching how bring data mysql , put them listview. after receive of them string, don't know how put them array , use baseadapter class.
could please me check code? cannot find solution or example.
this code(2 files):
connectserver.java
public class connectserver extends asynctask<string, integer, string>{ private httppost httppost; private httpclient httpclient; private list<namevaluepair> namevaluepairs; private dialogconnect dialogconnect; private context context; //connect database ... protected string doinbackground(string... params){ inputstream = null; string result = null; try{ httppost.setentity(new urlencodedformentity(namevaluepairs,http.utf_8)); httpresponse resp ... return result; } protected void onpostexecute(string result){ arraylist<string> list = new arraylist<string>(); string title = null; string[] malltitles = {}; if(result != null){ try{ jsonobject jobject = new jsonobject(result); if(jobject.getstring("status").equals("ok")) { jsonarray jresult = jobject.getjsonarray("result"); //i have problem here. for(int i=0;i<jresult.length();i++){ jsonobject f = jresult.getjsonobject(i); title = f.getstring("mall_name") + "\n" + f.getstring("mall_branch") + "\n"; malltitles[i] = title; } }else{ ((mainactivity)context).errorconnecttoserver(); } ((mainactivity)context).settitles(malltitles); }catch (jsonexception e){ log.e("connectserver", "error parsing data " + e.tostring()); ((mainactivity)context).errorconnecttoserver(); } }else{ ((mainactivity)context).cannotconnecttoserver(); } dialogconnect.dismiss(); } } mainactivity.java
public class mainactivity extends activity { private listview listview; private arraylist<listentry> entry; private connectserver connectserver; private listadapter listadapter; private string[] titles = {}; private int[] drawables = { r.drawable.themalllogo, r.drawable.theemporiumlogo, r.drawable.siamparagonlogo }; public void settitles(string[] malltitles){ this.titles = malltitles; } public void cannotconnecttoserver(){ ... } public void errorconnecttoserver(){ ... } @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); listview = (listview)findviewbyid(r.id.listview); //data entry = new arraylist<listentry>(); (int = 0; < titles.length; i++){ listentry listentry = new listentry(); listentry.settitle(titles[i]); listentry.setdrawable(getresources().getdrawable(drawables[i])); entry.add(listentry); } listadapter = new listadapter(); listview.setadapter(listadapter); connectserver = new connectserver(this, "http://10.0.2.2/basicphp/getjson.php"); connectserver.execute(); } private static class listentry{ public drawable drawable; public string title; public string desc; public drawable getdrawable() { return drawable; } public void setdrawable(drawable drawable) { this.drawable = drawable; } public string gettitle() { return title; } public void settitle(string title) { this.title = title; } } private class listadapter extends baseadapter{ private listviewholder holder; @override public int getcount() { return entry.size(); } @override public object getitem(int position) { return null; } @override public long getitemid(int position) { return 0; } @override public view getview(int position, view convertview, viewgroup parent) { convertview = layoutinflater.from(mainactivity.this).inflate(r.layout.malllist_item, null); holder = new listviewholder(); holder.image = (imageview) convertview.findviewbyid(r.id.icon); holder.text = (textview) convertview.findviewbyid(r.id.title); if (entry.get(position).gettitle() != null){ holder.text.settext(entry.get(position).gettitle()); } if (entry.get(position).getdrawable() != null){ holder.image.setimagedrawable(entry.get(position).getdrawable()); } return convertview; } private class listviewholder{ public imageview image; public textview text; public textview desc; } } }
Comments
Post a Comment