Android(安卓)HTTP GET/POST
16lz
2021-01-26
android程序HTTP通信的简单示例。纯粹是为了学习+测试,所以存在代码冗余的现象。从一个最简单的登录验证开始,数据的提交方式分别使用GET和POST,利用Toast来提示登录结果。
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/
» 如果喜欢可以:点此邮件订阅
更多相关文章
- 使用 IntelliJ 查看 Android(安卓)源码
- Android(安卓)Path
- android4.0.3,设置开机不自动进入锁屏状态
- Android自带语音播报+讯飞语音播报封装(直接用)
- Android设置中清除应用数据源码分析
- Android(安卓)ubuntu10.04 源码下载和编译
- 翻译Android(安卓)API Guides: App Manifest
- FFmpeg学习—android 编译libfaac 音频库
- Android(安卓)L 版本后uart console 没有root 权限