【发布时间】:2015-07-27 11:51:50
【问题描述】:
我使用 httpClient 将数据发送到这样的 php 文件
php
<?php
echo $_POST['My_Data'];
?>
我将<uses-permission android:name="android.permission.INTERNET" /> 添加到 AndroidManifest.xml 以连接互联网。
这是我的主要活动
SendActivity.java
public class SendActivity extends ActionBarActivity {
String myJSON;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_send);
SendData();
}
public void SendData(){
class GetDataJSON extends AsyncTask<String, Void, String>{
private ProgressDialog pDialog;
private InputStream is = null;
private String url = "http://----/send.php";
private String page_output = "";
@Override
protected String doInBackground(String... args) {
try {
// Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("My_Data", "this is my data"));
// defaultHttpClient
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
httpPost.setEntity(new UrlEncodedFormEntity(params));
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null)
{
sb.append(line + "\n");
}
is.close();
page_output = sb.toString();
Log.i("LOG", "page_output --> " + page_output);
} catch (Exception e) {
Log.e("Buffer Error", "Error converting result " + e.toString());
}
return page_output;
}
@Override
protected void onPostExecute(String result){
Log.i("LOG", " onPostExecute -> " + result );
myJSON=result;
Log.i("LOG", "myJSON" + myJSON);
}
}
GetDataJSON g = new GetDataJSON();
Log.i("LOG", " GetDataJSON " );
g.execute();
}
}
我使用 Android Studio 和大量代码不推荐使用而且我的数据没有发送到 php,我无法从 php 获取数据
是 httpClient 从 Android Studio 过期还是我错了?
【问题讨论】:
-
我在 php 和 android 之间更改数据使用 httpClient 和 eclipse 你可以使用另一种方式 best way for send/get data from php ,你的代码没有错
标签: php android android-studio httpclient