如何使用HTTP-Reponse Handler接收PHP响应数组



在我的新Android程序中,我需要将一个请求发送到PHP页面并接收响应作为数组。为此,我创建了一个包含HTTP请求和响应功能的类。它将发送请求并接收一些响应,但我无法打印那些数组,我不知道这是作为数组还是单个字符串。任何人,请帮助我修复此错误。这是我的班级...

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

尝试更改本地主机的地址。我看不到其他错误。

相关内容

  • 没有找到相关文章

最新更新