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

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() {@Overridepublic 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() {@Overridepublic 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/
 » 如果喜欢可以:点此邮件订阅



更多相关文章

  1. 使用 IntelliJ 查看 Android(安卓)源码
  2. Android(安卓)Path
  3. android4.0.3,设置开机不自动进入锁屏状态
  4. Android自带语音播报+讯飞语音播报封装(直接用)
  5. Android设置中清除应用数据源码分析
  6. Android(安卓)ubuntu10.04 源码下载和编译
  7. 翻译Android(安卓)API Guides: App Manifest
  8. FFmpeg学习—android 编译libfaac 音频库
  9. Android(安卓)L 版本后uart console 没有root 权限

随机推荐

  1. 程序员在 Github 上疯狂薅羊毛!
  2. 打不赢,就封号!孙杨上诉翻案率仅约7%?
  3. 自动化运维之日志这件“小”事
  4. 面向千万级用户的运维事件管理之路
  5. BAT面试题,答对年薪百万,10人9个挂!
  6. 复制粘贴发明人和Java 语言发明人相继去
  7. 干货:Flink+Kafka 0.11端到端精确一次处
  8. flink超越Spark的Checkpoint机制
  9. JS 版的计算机仿真程序告诉你为什么现在
  10. Tomcat爆出严重漏洞,影响所有版本,附解决方