Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

trying to get array from php and store it in java,android

ive got a php file that connect to database and fetches data, now i want this data to be sent to my java code and be stored as an array, for connecting to php and retriving results i am using AsyncHttpClient now in AsyncHttpClient their is a func onSucess that takes a string value as its parameter, soo anything coming from php is stored as string. i want it to be array.. please suggest me a way, either to get an array instead of string following is my code.

 public void func3(View view)throws Exception
{
    AsyncHttpClient client = new AsyncHttpClient();
    RequestParams rp = new RequestParams();
    rp.put("pLat", "select * from iwmp_state");
    client.post("http://10.0.2.2/conc2.php", rp, newAsyncHttpResponseHandler() {
        public final void onSuccess(Array response) {
            // handle your response here
            //tx.setText(response.toString());

        }

        @Override
        public void onFailure(Throwable e, String response) {
            // something went wrong
            tx.setText(response.toString());
        }               
    });
}

and ive got a php file which echos an array $row

<?php
 // attempt a connection
 $dbh = pg_connect("host=10.22.35.11 dbname=iwmp_dev2 user=postgres "); 
 if (!$dbh) {
     die("Error in connection: " . pg_last_error());
 }       

 // execute query
 $sql = $_POST['pLat'];
 $result = pg_query($dbh, $sql);
 if (!$result) {
     die("Error in SQL query: " . pg_last_error());
 }       
$array = array();
 // iterate over result set
 // print each row
 while ($row = pg_fetch_array($result)) {
    $i++;
echo $row[0];
 }       

 // free memory
 pg_free_result($result);       

 // close connection
 pg_close($dbh);
 ?>  

what php echos is array and what onSuccess takes as parameter is string. what to do!

like image 600
yug Avatar asked Dec 02 '25 10:12

yug


2 Answers

Here, i am just showing simple demo.You have to update as per your requirement.

PHP Side

Creating simple PHP Array , For more detail click here

<?php
$cars=array("Volvo","BMW","Toyota");
$arrlength=count($cars);

for($x=0;$x<$arrlength;$x++)
  {
  echo $cars[$x];
  echo "<br>";
  }
 echo json_encode($cars); 
 exit;
?>

Android Side

Now How to read PHP array inside in android ?

String String_Response = ""; // this is your web response

Create a ArrayList.

    ArrayList<String> User_List = new ArrayList<String>();


                  try
              {
            JSONArray jArray = new JSONArray(String_Response);
            for (int i = 0; i < jArray.length(); i++)
            {
                       JSONObject json_data = jArray.getJSONObject(i);                                                        
               User_List.add(json_data.getString("your_json_obj"));
            }

               } 
                  catch (Exception e)
              {
            Log.e(TAG, "" + e);
               }

Also check out below link in that you will get more idea how to send and receive data from android to php.

Android + PHP Communication Example

like image 59
Chintan Khetiya Avatar answered Dec 04 '25 22:12

Chintan Khetiya


It is hard for me to understand what you wish to achieve, but perhaps I can help a little with: Implode your php array into a string (http://php.net/manual/en/function.implode.php) then at least you can see what you are returning and perhaps re-process it client side?

like image 30
Al. Avatar answered Dec 04 '25 23:12

Al.



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!