Android HTTP GET/POST

android程序HTTP通信的简单示例。纯粹是为了学习+测试,所以存在代码冗余的现象。从一个最简单的登录验证开始,数据的提交方式分别使用GET和POST,利用Toast来提示登录结果。

android http get and post

android http get and post


android.php源码:

<?php
    $REQUEST_METHOD = $_SERVER['REQUEST_METHOD'];
    echo $REQUEST_METHOD;
    if($REQUEST_METHOD == 'GET'){
        $name = $_GET['name'];
        $pwd = $_GET['pwd'];
        
        if($name == 'Neeke' && $pwd == 'Neeke'){
            echo '你好:'.$name;
        }else{
            echo '登录失败!';
        }
    }else if($REQUEST_METHOD == 'POST'){
        $name = $_POST['name'];
        $pwd = $_POST['pwd'];
        
        if($name == 'Neeke' && $pwd == 'Neeke'){
            echo '你好:'.$name;
        }else{
            echo '登录失败!';
        }
    }
?>

android主程序源码:

public class Main extends Activity {
	
	private Button btnGet;
	private Button btnPost;
	private EditText etName;
	private EditText etPwd;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        btnGet = (Button) findViewById(R.id.btnGet);
        btnPost = (Button) findViewById(R.id.btnPost);
        etName = (EditText) findViewById(R.id.etName);
        etPwd = (EditText) findViewById(R.id.etPassword);
        
        btnGet.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {

				HttpGet request = new HttpGet("http://www.ineeke.com/android/android.php?name="+etName.getText().toString()+"&pwd="+etPwd.getText().toString());
				try {
					HttpResponse response = new DefaultHttpClient().execute(request);
					if(response.getStatusLine().getStatusCode() == 200){
						String result = EntityUtils.toString(response.getEntity());
						Toast.makeText(Main.this, result, Toast.LENGTH_LONG).show();
					}
					
				} catch (Exception e) {
					
					Toast.makeText(Main.this, e.getMessage().toString(), Toast.LENGTH_LONG).show();
					e.printStackTrace();
				}
			}
		});
        
        btnPost.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {

				HttpPost request = new HttpPost("http://www.ineeke.com/android/android.php");
				List<NameValuePair> params = new ArrayList<NameValuePair>();
				params.add(new BasicNameValuePair("name", etName.getText().toString()));
				params.add(new BasicNameValuePair("pwd", etPwd.getText().toString()));
				
				try {
					request.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
					HttpResponse response = new DefaultHttpClient().execute(request);
					if(response.getStatusLine().getStatusCode() == 200){
						String result = EntityUtils.toString(response.getEntity());
						Toast.makeText(Main.this, result, Toast.LENGTH_LONG).show();
					}
				} catch (Exception e) {
					
					Toast.makeText(Main.this, e.getMessage().toString(), Toast.LENGTH_LONG).show();
					e.printStackTrace();
				}
			}
		});
    }
}

最后,千万千万不要忘记要赋予程序访问网络的权限!因为我就经常忘记权限的问题,导致出了问题郁闷老半天。
在AndroidManifest.xml加入:

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



» 除非另有声明,本站文章均为原创。
 » 转载原创文章请以链接形式注明:
 » 转载自:[Neeke] » [Android HTTP GET/POST]
 » 本文链接地址: http://www.ineeke.com/archives/1317/
 » 如果喜欢可以:点此邮件订阅



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值