androidhttprequesthttpresponserequesthandler

How to receive php response array using HTTP-reponse-handler


In my new android program i need to send one request to a PHP page and receive a response as an array. For that i have created a class that contains http request and response functionality. It will send request and receive some response but i cannot print those array and i don't know whether that is coming as an array or single string. Anyone please help me to fix this bug. And here is my class...

public class HistoryActivity extends Activity implements LocationListener{

    String p_u_name;
    HttpPost httppost;
    StringBuffer buffer;
    HttpResponse response;
    HttpClient httpclient;
    List<NameValuePair> nameValuePairs;
    ProgressDialog dialog = null;
    double park_latitude;
    double park_longitude;
    LocationManager locManager;
    HttpEntity entity;
    String rep;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.history);

        SharedPreferences prefs = getSharedPreferences("myprefs", 0);

        p_u_name = prefs.getString("KEY_USERNAME", "");

              System.out.println("your name is"+p_u_name);

                locManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
                locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0,0, this);
                //get the current location (last known location) from the location manager
                Location location = locManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);

                if(location!=null)
                {
                park_latitude = location.getLatitude();
                park_longitude = location.getLongitude();
                dialog = ProgressDialog.show(HistoryActivity.this, "", 
                        "Validating user...", true);
                 new Thread(new Runnable() {
                        public void run() {
                            parking();                          
                        }
                      }).start(); 

                }
                else
                {
                    Toast.makeText(HistoryActivity.this,"no location found", Toast.LENGTH_SHORT).show();    
                }

        }
    public void parking(){
         try{  
             httpclient=new DefaultHttpClient();
             httppost= new HttpPost("http://10.0.2.2/test_login/history.php");

             nameValuePairs = new ArrayList<NameValuePair>(2);

             nameValuePairs.add(new BasicNameValuePair("username",p_u_name.trim()));
             nameValuePairs.add(new BasicNameValuePair("park_latitude",Double.toString(park_latitude).trim()));
             nameValuePairs.add(new BasicNameValuePair("park_longitude",Double.toString(park_longitude).trim())); 
             httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
             ResponseHandler<String> responseHandler = new BasicResponseHandler();


             String[] response =new String[2];

             for(int i=0; i<10; i++){
             response [i]= httpclient.execute(httppost, responseHandler);
             System.out.println("Response : " +response[i]); 
             runOnUiThread(new Runnable() {
                 public void run() {

                     dialog.dismiss();
                 }


             });
             }

int d=response.length;

System.out.println(d);


             if(d<1){
                 runOnUiThread(new Runnable() {
                     public void run() {
                         Toast.makeText(HistoryActivity.this,"Successfully parked", Toast.LENGTH_SHORT).show();

                     }
                 });

//               startActivity(new Intent(LoginActivity.this, MainActivity.class));
             }
             else{
                 Toast.makeText(HistoryActivity.this,"Message", Toast.LENGTH_SHORT).show();
                 showAlert();                
             }

         }catch(Exception e){
             dialog.dismiss();
             System.out.println("Exception : " + e.getMessage());
         }
     }
     public void showAlert(){
         HistoryActivity.this.runOnUiThread(new Runnable() {
             public void run() {
                 AlertDialog.Builder builder = new AlertDialog.Builder(HistoryActivity.this);
                 builder.setTitle("Parking Error.");
                 builder.setMessage("Try again?.")  
                        .setCancelable(false)
                        .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int id) {
                                Intent r = new Intent(getApplicationContext(),HistoryActivity.class);
                                startActivity(r);
                            }
                        });                     
                 AlertDialog alert = builder.create();
                 alert.show();               
             }
         });

     }
    public void onLocationChanged(Location arg0) {
        // TODO Auto-generated method stub

    }
    public void onProviderDisabled(String provider) {
        // TODO Auto-generated method stub

    }
    public void onProviderEnabled(String provider) {
        // TODO Auto-generated method stub

    }
    public void onStatusChanged(String provider, int status, Bundle extras) {
        // TODO Auto-generated method stub

    }
}

Solution

  • Try changing the address of your local host.. I don't see any other errors.