java - Cannot list the data in my android application from Mysql -


                new in android development. trying database crud  operation in android application.                 can insert data mysql.am using php , json parsing it.when data inserted database, next activity should listing data.the problem no data coming listing activity. activity coming without data. kindly me .                     java code listing products                    public class allproductsactivity extends listactivity {                      // progress dialog                     private progressdialog pdialog;                      // creating json parser object                     jsonparser jparser = new jsonparser();                      arraylist<hashmap<string, string>> productslist;                      // url products list                     private static string url_all_products = "http://10.0.2.2/get_all_products.php";                      // json node names                     private static final string tag_success = "success";                     private static final string tag_products = "products";                     private static final string tag_pid = "pid";                     private static final string tag_name = "name";                      // products jsonarray                     jsonarray products = null;                      @override                     public void oncreate(bundle savedinstancestate) {                         super.oncreate(savedinstancestate);                         setcontentview(r.layout.all_products);                          // hashmap listview                         productslist = new arraylist<hashmap<string, string>>();                          // loading products in background thread                         new loadallproducts().execute();                          // listview                         listview lv = getlistview();                          // on seleting single product                         // launching edit product screen                         lv.setonitemclicklistener(new onitemclicklistener() {                              @override                             public void onitemclick(adapterview<?> parent, view view,                                     int position, long id) {                                 // getting values selected listitem                                 string pid = ((textview) view.findviewbyid(r.id.pid)).gettext()                                         .tostring();                                  // starting new intent                                 intent in = new intent(getapplicationcontext(),                                         editproductactivity.class);                                 // sending pid next activity                                 in.putextra(tag_pid, pid);                                  // starting new activity , expecting response                                 startactivityforresult(in, 100);                             }                         });                      }                      // response edit product activity                     @override                     protected void onactivityresult(int requestcode, int resultcode, intent data) {                         super.onactivityresult(requestcode, resultcode, data);                         // if result code 100                         if (resultcode == 100) {                             // if result code 100 received                             // means user edited/deleted product                             // reload screen again                             intent intent = getintent();                             finish();                             startactivity(intent);                         }                      }                      /**                      * background async task load product making http request                      * */                     class loadallproducts extends asynctask<string, string, string> {                          /**                          * before starting background thread show progress dialog                          * */                         @override                         protected void onpreexecute() {                             super.onpreexecute();                             pdialog = new progressdialog(allproductsactivity.this);                             pdialog.setmessage("loading products. please wait...");                             pdialog.setindeterminate(false);                             pdialog.setcancelable(false);                             pdialog.show();                         }                          /**                          * getting products url                          * */                         protected string doinbackground(string... args) {                             // building parameters                             list<namevaluepair> params = new arraylist<namevaluepair>();                             // getting json string url                             jsonobject json = jparser.makehttprequest(url_all_products, "get", params);                              // check log cat json reponse                             log.d("all products: ", json.tostring());                              try {                                 // checking success tag                                 int success = json.getint(tag_success);                                  if (success == 1) {                                     // products found                                     // getting array of products                                     products = json.getjsonarray(tag_products);                                      // looping through products                                     (int = 0; < products.length(); i++) {                                         jsonobject c = products.getjsonobject(i);                                          // storing each json item in variable                                         string id = c.getstring(tag_pid);                                         string name = c.getstring(tag_name);                                          // creating new hashmap                                         hashmap<string, string> map = new hashmap<string, string>();                                          // adding each child node hashmap key => value                                         map.put(tag_pid, id);                                         map.put(tag_name, name);                                          // adding hashlist arraylist                                         productslist.add(map);                                     }                                 } else {                                     // no products found                                     // launch add new product activity                                     intent = new intent(getapplicationcontext(),                                             newproductactivity.class);                                     // closing previous activities                                     i.addflags(intent.flag_activity_clear_top);                                     startactivity(i);                                 }                             } catch (jsonexception e) {                                 e.printstacktrace();                             }                              return null;                         }                          /**                          * after completing background task dismiss progress dialog                          * **/                         protected void onpostexecute(string file_url) {                             // dismiss dialog after getting products                             pdialog.dismiss();                             // updating ui background thread                             runonuithread(new runnable() {                                 public void run() {                                     /**                                      * updating parsed json data listview                                      * */                                     listadapter adapter = new simpleadapter(                                             allproductsactivity.this, productslist,                                             r.layout.list_item, new string[] { tag_pid,                                                     tag_name},                                             new int[] { r.id.pid, r.id.name });                                     // updating listview                                     setlistadapter(adapter);                                 }                             });                          }                      }                      }                   here in code , trying display 3 data , "name, price, description. php file                  retrieve data database mysql  , , convert strings json objects. javacode call json class , list data. can insert data mysql.am using php , json parsing it.when data inserted database, next activity should listing data.the problem no data coming listing activity. activity coming without data. kindly me .    json class parsing or converting follows              json parsing code .in code first created function json url . code making http request , post method using if , else statement . in else method put code method . converted json object , , above android code call , display in activity..         used json parser class json url. class supports 2 http request methods , post json url.     getting json making http call, adding async method make http calls on background thread. add follwing method in main activity class                  public jsonparser() {                      }                      // function json url                     // making http post or mehtod                     public jsonobject makehttprequest(string url, string method,                             list<namevaluepair> params) {                          // making http request                         try {                              // check request method                             if(method == "post"){                                 // request method post                                 // defaulthttpclient                                 defaulthttpclient httpclient = new defaulthttpclient();                                 httppost httppost = new httppost(url);                                 httppost.setentity(new urlencodedformentity(params));                                  httpresponse httpresponse = httpclient.execute(httppost);                                 httpentity httpentity = httpresponse.getentity();                                 = httpentity.getcontent();                              }else if(method == "get"){                                 // request method                                 defaulthttpclient httpclient = new defaulthttpclient();                                 string paramstring = urlencodedutils.format(params, "utf-8");                                 url += "?" + paramstring;                                 httpget httpget = new httpget(url);                                  httpresponse httpresponse = httpclient.execute(httpget);                                 httpentity httpentity = httpresponse.getentity();                                 = httpentity.getcontent();                             }                                    } catch (unsupportedencodingexception e) {                             e.printstacktrace();                         } catch (clientprotocolexception e) {                             e.printstacktrace();                         } catch (ioexception e) {                             e.printstacktrace();                         }                          try {                             bufferedreader reader = new bufferedreader(new inputstreamreader(                                     is, "iso-8859-1"), 8);                             stringbuilder sb = new stringbuilder();                             string line = null;                             while ((line = reader.readline()) != null) {                                 sb.append(line + "\n");                             }                             is.close();                             json = sb.tostring();                         } catch (exception e) {                             log.e("buffer error", "error converting result " + e.tostring());                         }                          // try parse string json object                         try {                             jobj = new jsonobject(json);                         } catch (jsonexception e) {                             log.e("json parser", "error parsing data " + e.tostring());                         }                          // return json string                         return jobj;                      }                 }                   json parsing code .in code first created function json url . code making http request , post method using if , else statement . in else method put code method . converted json object , , above android code call , display in activity..     used json parser class json url. class supports 2 http request methods , post json url. getting json making http call, adding async method make http calls on background thread. add follwing method in main activity class 

thankyou
@ manish dubay
according instruction got changed code in jsonobject.still nothing displayed on allproducts activity. myt logcat error when add log.v("json string","result => "+json);

03-10 03:49:54.491: w/system.err(1559): org.json.jsonexception: no value products 03-10 03:49:54.491: w/system.err(1559):     @ org.json.jsonobject.get(jsonobject.java:354) 03-10 03:49:54.508: i/choreographer(1559): skipped 97 frames!  application may doing work on main thread. 03-10 03:49:54.528: w/system.err(1559):     @ org.json.jsonobject.getjsonarray(jsonobject.java:548) 03-10 03:49:54.558: w/system.err(1559):     @ com.example.sampleapp2.allproductsactivity$loadallproducts.doinbackground(allproductsactivity.java:141) 03-10 03:49:54.618: w/system.err(1559):     @ com.example.sampleapp2.allproductsactivity$loadallproducts.doinbackground(allproductsactivity.java:1) 03-10 03:49:54.668: w/system.err(1559):     @ android.os.asynctask$2.call(asynctask.java:287) 03-10 03:49:54.698: w/system.err(1559):     @ java.util.concurrent.futuretask.run(futuretask.java:234) 03-10 03:49:54.718: w/system.err(1559):     @ android.os.asynctask$serialexecutor$1.run(asynctask.java:230) 03-10 03:49:54.748: w/system.err(1559):     @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1080) 03-10 03:49:54.788: w/system.err(1559):     @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:573) 03-10 03:49:54.898: i/choreographer(1559): skipped 84 frames!  application may doing work on main thread. 03-10 03:49:54.958: w/system.err(1559):     @ java.lang.thread.run(thread.java:841) 03-10 03:49:55.038: i/choreographer(1559): skipped 83 frames!  application may doing work on main thread. 03-10 03:49:55.168: i/choreographer(1559): skipped 212 frames!  application may doing work on main thread. 03-10 03:49:55.218: i/choreographer(1559): skipped 55 frames!  application may doing work on main thread. 

error parsing data org.json.jsonexception: value get_all_products.php of type java.lang.string cannot converted jsonobject 

states don't have valid json string in resopnse coming web service. becuase of jobj = isvalidjson(json); doesn't return json object.

in above code, at

json = sb.tostring(); 

you creating string named json , assign string builder object value it. logcat says not geeting valid json string @ below line,

try {                         jobj = new jsonobject(json);                     } catch (jsonexception e) {                         log.e("json parser", "error parsing data " + e.tostring());                     } 

so throws error parsing json string. in case have check whether go t valid json string server in response. make changes in above code:

public boolean isvalidjson(string test) {     try {         new jsonobject(test);         return true;     } catch(jsonexception ex) {          return false;     } } 

and, in code:

try {        if(isvalidjson(json)     {       jobj = new jsonobject(json);     } catch (jsonexception e) {               log.e("json parser", "error parsing data " + e.tostring());           }     }  

Comments

Popular posts from this blog

Android layout hidden on keyboard show -

google app engine - 403 Forbidden POST - Flask WTForms -

c - Why would PK11_GenerateRandom() return an error -8023? -