i new android. implementing project in want data end , display on android screen.
the json trying call is:-
[{"admin":null,"card_no":"8789","created_at":"2013-04-09t12:55:54z","deleted":0,"email":"dfds@fgfd.com","entered_by":null,"first_name":"gajanan","id":8,"last_name":"bhat","last_updated_by":null,"middle_name":"","mobile":87981,"updated_at":"2013-04-13t05:26:25z","user_type_id":null},{"admin":{"created_at":"2013-04-10t09:02:00z","deleted":0,"designation":"sr software engineer","email":"admin@qwe.com","first_name":"chiron","id":1,"last_name":"synergies","middle_name":"sr software engineer","office_phone":"98789765","super_admin":false,"updated_at":"2013-04-10t12:03:04z","username":"admin"},"card_no":"66","created_at":"2013-04-08t09:47:15z","deleted":0,"email":"rajaarun1991","entered_by":1,"first_name":"arun","id":1,"last_name":"raja\n","last_updated_by":1,"middle_name":"nagaraj","mobile":941,"updated_at":"2013-04-08t09:47:15z","user_type_id":1}] my jsonparser.java follows:-
package com.example.library; import java.io.bufferedreader; import java.io.ioexception; import java.io.inputstream; import java.io.inputstreamreader; import java.io.unsupportedencodingexception; import org.apache.http.httpentity; import org.apache.http.httpresponse; import org.apache.http.statusline; import org.apache.http.client.clientprotocolexception; import org.apache.http.client.httpclient; import org.apache.http.client.methods.httpget; import org.apache.http.impl.client.defaulthttpclient; import org.apache.http.util.entityutils; import org.json.jsonarray; import org.json.jsonexception; import org.json.jsonobject; import android.util.log; import android.util.log; public class jsonparser { static inputstream = null; static jsonarray jarray = null; static string json = ""; // constructor public jsonparser() { } public jsonarray getjsonfromurl(string url) { stringbuilder builder = new stringbuilder(); httpclient client = new defaulthttpclient(); httpget httpget = new httpget(url); try { httpresponse response = client.execute(httpget); statusline statusline = response.getstatusline(); int statuscode = statusline.getstatuscode(); if (statuscode == 200) { httpentity entity = response.getentity(); inputstream content = entity.getcontent(); bufferedreader reader = new bufferedreader(new inputstreamreader(content)); string line; while ((line = reader.readline()) != null) { builder.append(line); } } else { log.e("==>", "failed download file"); } } catch (clientprotocolexception e) { e.printstacktrace(); } catch (ioexception e) { e.printstacktrace(); } // try parse string json object try { jarray = new jsonarray( builder.tostring()); } catch (jsonexception e) { log.e("json parser", "error parsing data " + e.tostring()); } // return json string return jarray; } } /* public void writejson() { jsonobject object = new jsonobject(); try { object.put("name", ""); object.put("score", new integer(200)); object.put("current", new double(152.32)); object.put("nickname", "programmer"); } catch (jsonexception e) { e.printstacktrace(); } system.out.println(object); } */ and activity.java follows:-
package com.example.library; import java.util.arraylist; import java.util.hashmap; import java.util.list; import java.util.map; import org.json.jsonarray; import org.json.jsonexception; import org.json.jsonobject; import android.app.activity; import android.app.listactivity; import android.app.progressdialog; import android.content.context; import android.os.asynctask; import android.os.bundle; import android.util.log; import android.widget.listadapter; import android.widget.listview; import android.widget.simpleadapter; public class secondactivity extends activity { private context context; private static string url = "http://192.168.0.100:3000/users.json"; private static final string tag_id = "id"; private static final string tag_first_name = "first_name"; private static final string tag_middle_name = "middle_name"; private static final string tag_last_name = "last_name"; // private static final string tag_points = "experiencepoints"; arraylist<hashmap<string, string>> jsonlist = new arraylist<hashmap<string, string>>(); listview lv ; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); new progresstask(secondactivity.this).execute(); } private class progresstask extends asynctask<string, void, boolean> { private progressdialog dialog; public progresstask(secondactivity secondactivity) { log.i("1", "called"); context = secondactivity; dialog = new progressdialog(context); } /** progress dialog show user backup processing. */ /** application context. */ private context context; protected void onpreexecute() { this.dialog.setmessage("progress start"); this.dialog.show(); } @override protected void onpostexecute(final boolean success) { if (dialog.isshowing()) { dialog.dismiss(); } listadapter adapter = new simpleadapter(context, jsonlist, r.layout.list_item, new string[] { tag_id, tag_first_name, tag_middle_name, tag_last_name }, new int[] { r.id.id, r.id.first_name, r.id.middle_name, r.id.last_name }); setlistadapter(adapter); // selecting single listview item lv = getlistview(); } private void setlistadapter(listadapter adapter) { // todo auto-generated method stub } protected boolean doinbackground(final string... args) { jsonparser jparser = new jsonparser(); // getting json string url jsonarray json = jparser.getjsonfromurl(url); (int = 0; < json.length(); i++) { try { jsonobject c = json.getjsonobject(i); string id = c.getstring(tag_id); string first_name = c.getstring(tag_first_name); string middle_name = c.getstring(tag_middle_name); string last_name = c.getstring(tag_last_name); hashmap<string, string> map = new hashmap<string, string>(); // adding each child node hashmap key => value map.put(tag_id, id); map.put(tag_first_name, first_name); map.put(tag_middle_name, middle_name); map.put(tag_last_name, last_name); jsonlist.add(map); } catch (jsonexception e) { // todo auto-generated catch block e.printstacktrace(); } } return null; } } public listview getlistview() { // todo auto-generated method stub return null; } } 
i not able show on emulators users,whereas able fetch data server
actually in project want display users present in library.i accessing server on ubuntu.
the following message displayed on console(terminal):-
started "/users.json" 192.168.0.104 @ 2013-05-05 22:05:01 -0700 processing userscontroller#index json user load (0.4ms) select "users".* "users" (users.deleted = 0) order users.id desc admin load (0.3ms) select "admins".* "admins" "admins"."id" = 1 , (admins.deleted = 0) order admins.id desc limit 1 completed 200 ok in 4ms (views: 2.1ms | activerecord: 0.6ms) [2013-05-05 22:05:01] warn not determine content-length of response body. set content-length of response or set response#chunked = true however not able display data on android screen/emulator.
please me this.
i missed setadapterlist()method.
any error json pasers? , can put activity inherited secondactivity?
//modify getlistview public listview getlistview() { // todo auto-generated method stub listview = (listview)findviewbyid(r.your.listview); return listview; } //modify setlistadapter private void setlistadapter(listadapter adapter) { // todo auto-generated method stub lv.setadapter(adapter); }
Comments
Post a Comment