嗨,老铁,欢迎来到我的博客!

如果觉得我的内容还不错的话,可以关注下我在 segmentfault.com 上的直播。我主要从事 PHP 和 Java 方面的开发,《深入 PHP 内核》作者之一。

[视频直播] PHP 进阶之路 - 亿级 pv 网站架构的技术细节与套路 直播中我将毫无保留的分享我这六年的全部工作经验和踩坑的故事,以及会穿插着一些面试中的 考点难点加分点

周梦康 发表于 2014-04-28 2875 次浏览 标签 : Android

流程如下:

1、先建立一个HttpPost连接

HttpPost httpPost = new HttpPost("http://mengkang.net/post_datas.php"); 

2、添加数据

ListnameValuePairs = new ArrayList(); nameValuePairs.add(new BasicNameValuePair("username","mengkang")); 

3、发送

httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs,HTTP.UTF_8)); 

4、获取返回信息

httpResponse=new DefaultHttpClient().execute(httpPost);

具体代码如下

package httppost.pack; 
 
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.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.os.Bundle; 
import android.widget.TextView; 
 
public class AndroidHttpPost extends Activity { 
    /** Called when the activity is first created. */ 
    String action="http://mengkang.net/android_post.php"; 
    HttpPost httpRequest=null; 
    List <NameValuePair> params=null; 
    HttpResponse httpResponse; 
    TextView tv=null; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
        tv=(TextView)findViewById(R.id.textView1); 
        /*建立HttpPost连接*/ 
        httpRequest=new HttpPost(action); 
        /*Post运作传送变数必须用NameValuePair[]阵列储存*/ 
        params=new ArrayList<NameValuePair>(); 
        params.add(new BasicNameValuePair("username","mengkang")); 
         
        try { 
            //发出HTTP request 
            httpRequest.setEntity(new UrlEncodedFormEntity(params,HTTP.UTF_8)); 
            //取得HTTP response 
            httpResponse=new DefaultHttpClient().execute(httpRequest); 
            //若状态码为200 
            if(httpResponse.getStatusLine().getStatusCode()==200){ 
                //取出回应字串 
                String strResult=EntityUtils.toString(httpResponse.getEntity()); 
                tv.setText(strResult); 
            }else{ 
                tv.setText("Error Response"+httpResponse.getStatusLine().toString()); 
            } 
        } catch (Exception e) { 
            // TODO Auto-generated catch block 
            tv.setText(e.getMessage().toString()); 
        } 
    } 
}

别忘记了AndroidManifest.xml中加入如下配置:

<uses-permission android:name="android.permission.INTERNET" /> 

嗨,老铁,欢迎来到我的博客!

如果觉得我的内容还不错的话,可以关注下我在 segmentfault.com 上的直播。我主要从事 PHP 和 Java 方面的开发,《深入 PHP 内核》作者之一。

[视频直播] PHP 进阶之路 - 亿级 pv 网站架构的技术细节与套路 直播中我将毫无保留的分享我这六年的全部工作经验和踩坑的故事,以及会穿插着一些面试中的 考点难点加分点

评论列表