Friday 15 May 2015

Json Parsing Android in Listview -



Json Parsing Android in Listview -

i working on application in getting list of history using pubnub contains message , time token. original json string given below:

[[{"message":"hdjcjcjjckckckckvkckckck","timetoken":14151866297757284},{"message":"ufjfjfjcjfjchfjdhwjroritkgjcj","timetoken":14151869212145693},{"message":"qmobile","timetoken":14152601234812083}],14151866297757284,14152601234812083]

after using next method have next json string in jsonobject c.

{"message":"hdjcjcjjckckckckvkckckck","timetoken":14151866297757284} pubnub.history(channel, true, 100, new callback() { @override public void successcallback(string channel, object message) { notifyuser("history : " + message); log.i("received msg : ", message.tostring()); //<==== receiving messages here seek { jsonarray jsonobj = new jsonarray(message.tostring()); jsonarray jarray = new jsonarray(jsonobj.get(0).tostring()); (int = 0; < jarray.length(); i++) { jsonobject c = jarray.getjsonobject(i); string messagestring=c.getstring("message"); string timestring=c.getstring("timetoken"); string abc = timestring; } }

now want display each json object in listview this

message:dsfdsvsfvdfvfdvdvgd timetoken:14132423414141 message:dsfwfwefwedcsfsw timetoken:21431353153252 message:dthfjtyhnfgvb timetoken:68624526246

thanks in advance.

declare 1 arraylist of hashmap below:

arraylist<hashmap<string,string>> data= new arraylist<hashmap<string,string>>(); hashmap<string,string> jsondata; private efficientadapter adapter; //in oncreate() method, initialize adapter. adapter = new efficientadapter(this);

now, within loop:

for (int = 0; < jarray.length(); i++) { jsondata=new hashmap<string,string>(); jsonobject c = jarray.getjsonobject(i); string messagestring=c.getstring("message"); string timestring=c.getstring("timetoken"); string abc = timestring; jsondata.put("message",messagestring); jsondata.put("timestamp",timestring); data.add(jsondata); } yourlistview.setadapter(adapter);

//list adapter code:

private class efficientadapter extends baseadapter { private layoutinflater minflater; private context context; public efficientadapter(context context) { minflater = layoutinflater.from(context); this.context = context; } @override public int getcount() { homecoming data.size(); } @override public object getitem(int arg0) { homecoming null; } @override public long getitemid(int position) { homecoming 0; } @override public view getview(final int position, view convertview, viewgroup parent) { final viewholder holder; if (convertview == null) { convertview = minflater.inflate(r.layout.your layout file show message , time, null); //just create 1 xml in layout folder , give layout file name r.layout.list_item. holder = new viewholder(); holder.txtmessage = (textview) convertview.findviewbyid(r.id.txtmessage); holder.txttimestamp = (textview) convertview.findviewbyid(r.id.txttimestamp); convertview.settag(holder); } else { holder = (viewholder) convertview.gettag(); } holder.txtmessage.settext(data.get(position).get("message")); holder.txttimestamp.settext(data.get(position).get("timestamp")); convertview.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { //your list click event here } }); homecoming convertview; } class viewholder { textview txtmessage; textview txttimestamp; } }

android json parsing android-listview pubnub

No comments:

Post a Comment