您的位置:首页 > 移动开发 > Android开发

Android 实现Post向服务器提交数据

2014-11-01 15:15 316 查看
package com.zrf.postdemo;

import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpEntityEnclosingRequestBase;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
import android.app.Activity;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.os.Bundle;
import android.widget.Toast;
import com.zrf.postdemo.R;

public class MainActivity extends Activity {

private ProgressDialog pDialog;
private String retSrc = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

new Check().execute();

}

class Check extends AsyncTask<Integer, Integer, String> {

@Override
protected String doInBackground(Integer... params) {

try {

HttpEntityEnclosingRequestBase httpRequest = new HttpPost(
"http://219.153.62.77/mysql_sendmessage.php");
List<NameValuePair> myparams = new ArrayList<NameValuePair>();

myparams.add(new BasicNameValuePair("data[identifycode]",
"1626555"));

httpRequest.setEntity(new UrlEncodedFormEntity(myparams,
HTTP.UTF_8));

HttpResponse httpResponse = new DefaultHttpClient()
.execute(httpRequest);
if (httpResponse.getStatusLine().getStatusCode() == 200) {

// get the result
retSrc = EntityUtils.toString(httpResponse
.getEntity());
} else {
System.out.println("Error Response"
+ httpResponse.getStatusLine().toString());
}

} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return retSrc;
}

@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
super.onPostExecute(result);

System.out.println("result---" + result);
Toast.makeText(MainActivity.this, result, Toast.LENGTH_SHORT)
.show();

pDialog.dismiss();

}

@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
pDialog = ProgressDialog.show(MainActivity.this, "", "loading...",
true);
}

@Override
protected void onProgressUpdate(Integer... values) {
// TODO Auto-generated method stub
super.onProgressUpdate(values);
}

}

}

再加上上网的权限

<!-- 使用网络功能所需权限 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.INTERNET" >
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" >
</uses-permission>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: