重点:子线程获取UI值,但是不能修改。
在下面的例子中,子线程获取UI在UI线程中输入的用户名密码。
Android应用经常会和服务器端交互,这就需要手机客户端发送网络请求,下面介绍常用的两种网络请求方式POST,GET。首先要区别POST和GET请求
1. GET是从服务器上获取数据,POST是向服务器传送数据。
2. GET是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。POST是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程
3. GET方式提交的数据最多只能是1024字节,理论上POST没有限制,可传较大量的数据
4. GET安全性非常低,POST安全性较高。但是执行效率却比POST方法好。
下面分别用Post和GET方法来实现Android应用的人员登入,首先我们搭建一个服务器,这里我使用WAMP环境,使用ThinkPHP框架。详细的服务器搭建就不说了。给出主要响应代码:
- <?php
- namespace Home\Controller;
- use Think\Controller;
- class AndroidController extends Controller {
- public function index()
- {
- //获取账号密码
- $id=I('username');
- $pwd=I('password');
- $User=M('user');
- //查询数据库
- $data = $User->where("NAME='$id' AND PASSWORD='$pwd' ")->find();
- //登入成功
- if($data)
- {
- $response = array('success' => true,'msg'=>'登入成功');
- $response=json_encode($response);
- echo $response;//返回json格式
- }
- //登入失败
- else
- {
- $response = array('success' => false,'msg'=>'账号或密码错误');
- $response=json_encode($response);
- echo $response;//返回json格式
- }