我已经设置了一个后端服务器来响应我的Android应用程序发送的HTML请求。我应该更正我的应用程序中的所有错误,但是,服务器仍然没有给出请求的响应,我想可能是因为服务器无法接收请求。在这种情况下,后端服务器放置在虚拟机中,我的移动设备和虚拟机连接到同一个Wifi网络。由于应用程序似乎无法连接到服务器,所以我在另一个桌面上做了一个简单的实验,访问该服务器中的简单网页构建,但没有成功。
以下是我的Android应用程序中有关发送请求的一部分
private class GrabURL extends AsyncTask<String, Void, Void>{
ArrayList<NameValuePair> nameValuePairs;
//private ProgressDialog Dialog;
public GrabURL() {
nameValuePairs = new ArrayList<NameValuePair>();
//Dialog = new ProgressDialog(Reader.this);
}
protected void onPreExecute(String key, String value) {
mTest.append("PreExecute");
//Dialog.setMessage("Sending value..");
//Dialog.show();
nameValuePairs.add(new BasicNameValuePair(key,value));
}
@Override
protected Void doInBackground(String... urls) {
// TODO Auto-generated method stub
try{
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(urls[0]);
UrlEncodedFormEntity ent = new UrlEncodedFormEntity(nameValuePairs,HTTP.UTF_8);
post.setEntity(ent);
client.execute(post);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(Void unused) {
mTest.append("PostExecute");
//Dialog.dismiss();
Toast.makeText(getApplicationContext(), "Value updated", Toast.LENGTH_SHORT).show();
}
}
以下是我的php程序来响应请求:
<?php
$file = "C:/wamp/www/myapp/file.txt";
$data = "AID:".$_POST['AID']." BID:".$_POST['BID'];
file_put_contents($file, $data);
?>