Android-Json parser not able to display data retrieved from back end -


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;     } } 

users screen not giving/showing output

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