php - JSONException: Value Connected of type java.lang.String cannot be converted to JSONObject -


i'm working on android project data mysql database , show them in list view on android, have json error:

jsonexception: value connected of type java.lang.string cannot converted jsonobject

this source code:

connector class

import java.io.ioexception; import java.net.httpurlconnection; import java.net.malformedurlexception; import java.net.url; /**  * created oclemy on 6/30/2016 programmingwizards channel , http://www.camposha.com.  * role : establish connection server  */ public class connector {     public static object connect(string urladdress)     {         try         {             url url=new url(urladdress);             httpurlconnection con= (httpurlconnection) url.openconnection();             //set con properties             con.setrequestmethod("get");             con.setconnecttimeout(15000);             con.setreadtimeout(15000);             con.setdoinput(true);             return con;         } catch (malformedurlexception e) {             e.printstacktrace();             return "error "+e.getmessage();         } catch (ioexception e) {             e.printstacktrace();             return "error "+e.getmessage();         }     } 

downloader class

import android.app.progressdialog; import android.content.context; import android.os.asynctask; import android.widget.listview; import android.widget.toast; import java.io.bufferedinputstream; import java.io.bufferedreader; import java.io.ioexception; import java.io.inputstream; import java.io.inputstreamreader; import java.net.httpurlconnection; /**  * created oclemy on 6/30/2016 programmingwizards channel , http://www.camposha.com.  */ public class downloader extends asynctask<void,void,string>{     context c;     string urladdess;     listview lv;     progressdialog pd;     public downloader(context c, string urladdess, listview lv) {         this.c = c;         this.urladdess = urladdess;         this.lv = lv;     }     @override     protected void onpreexecute() {         super.onpreexecute();         pd=new progressdialog(c);         pd.settitle("retrieve");         pd.setmessage("retrieving..please wait");         pd.show();     }     @override     protected string doinbackground(void... params) {         return this.downloaddata();     }     @override     protected void onpostexecute(string jsondata) {         super.onpostexecute(jsondata);         pd.dismiss();         if(jsondata.startswith("error"))         {             toast.maketext(c,"unsuccessful "+jsondata,toast.length_short).show();         }else         {             //parse             new dataparser(c,jsondata,lv).execute();         }     }     private string downloaddata()     {         object connection=connector.connect(urladdess);         if(connection.tostring().startswith("error"))         {             return connection.tostring();         }         try {             httpurlconnection con= (httpurlconnection) connection;             inputstream is=new bufferedinputstream(con.getinputstream());             bufferedreader br=new bufferedreader(new inputstreamreader(is));             string line;             stringbuffer jsondata=new stringbuffer();             while ((line=br.readline()) != null)             {                 jsondata.append(line+"n");             }             br.close();             is.close();             return jsondata.tostring();         } catch (ioexception e) {             e.printstacktrace();             return "error "+e.getmessage();         }     } } 

dataparser class

import android.app.progressdialog; import android.content.context; import android.os.asynctask; import android.view.view; import android.widget.adapterview; import android.widget.arrayadapter; import android.widget.listview; import android.widget.toast; import org.json.jsonarray; import org.json.jsonexception; import org.json.jsonobject; import java.util.arraylist; /**  * created oclemy on 6/30/2016 programmingwizards channel , http://www.camposha.com.  */ public class dataparser extends asynctask<void,void,boolean> {     context c;     string jsondata;     listview lv;     progressdialog pd;     arraylist<string> spacecrafts=new arraylist<>();     public dataparser(context c, string jsondata, listview lv) {         this.c = c;         this.jsondata = jsondata;         this.lv = lv;     }     @override     protected void onpreexecute() {         super.onpreexecute();         pd=new progressdialog(c);         pd.settitle("parse");         pd.setmessage("pasring..please wait");         pd.show();     }     @override     protected boolean doinbackground(void... params) {         return this.parsedata();     }     @override     protected void onpostexecute(boolean result) {         super.onpostexecute(result);         pd.dismiss();         if(result)         {             arrayadapter adapter=new arrayadapter(c,android.r.layout.simple_list_item_1,spacecrafts);             lv.setadapter(adapter);             lv.setonitemclicklistener(new adapterview.onitemclicklistener() {                 @override                 public void onitemclick(adapterview<?> parent, view view, int position, long id) {                     toast.maketext(c, spacecrafts.get(position), toast.length_short).show();                 }             });         }     }     private boolean parsedata()     {         try         {             jsonarray ja = new jsonarray(jsondata);             jsonobject jo;             spacecrafts.clear();             (int = 0; < ja.length(); i++) {                 jo = ja.getjsonobject(i);                 string name = jo.getstring("name");                 spacecrafts.add(name);             }             return true;         } catch (jsonexception e) {             e.printstacktrace();         }         return false;     } } 

main class

import android.os.bundle; import android.support.design.widget.floatingactionbutton; import android.support.design.widget.snackbar; import android.support.v7.app.appcompatactivity; import android.support.v7.widget.toolbar; import android.view.view; import android.view.menu; import android.view.menuitem; import android.widget.listview; import com.tutorials.hp.mysqlhttpgetlistview.m_mysql.downloader; public class mainactivity extends appcompatactivity {     final static string urladdress="http://10.0.2.2/android/spacecraft_select_images.php";     @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_main);         toolbar toolbar = (toolbar) findviewbyid(r.id.toolbar);         setsupportactionbar(toolbar);         final listview lv= (listview) findviewbyid(r.id.lv);         floatingactionbutton fab = (floatingactionbutton) findviewbyid(r.id.fab);         fab.setonclicklistener(new view.onclicklistener() {             @override             public void onclick(view view) {                 new downloader(mainactivity.this,urladdress,lv).execute();             }         });     } } 

php code

<?php $servername = "localhost"; $username = "root"; $password = ""; $bb="test";  // create connection $conn = new mysqli($servername, $username, $password,$bb);  // check connection if ($conn->connect_error) {     die("connection failed: " . $conn->connect_error); }  echo "connected successfully";  $sql="select rpm  cours";  $res=mysqli_query($conn,$sql);  if ($res)  {  while($row=mysqli_fetch_array($res))     {             $data[]=$row;             }             print(json_encode($data));             //echo "connected successful";             }  mysqli_close($conn); ?> 

but receive error:

rg.json.jsonexception: value connected of type java.lang.string cannot converted jsonobject

at line

at connector.dataparser.parsedata(dataparser.java:63): jsonarray ja = new jsonarray(jsondata);


Comments

Popular posts from this blog

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -