【使用post方式登录QQ】的代码问题
发表在Android图书答疑 2018-03-01 悬赏:10 学分 《零基础学Android》第15章 网络编程及Internet应用 392页-392页
是否精华
版块置顶:

在send()方法中, 


String param = "username="

                    + URLEncoder.encode(edit_Username.getText().toString(), "utf-8")

                    + "&password="

                    + URLEncoder.encode(edit_Password.getText().toString(), "utf-8");    //连接要提交的数据


 password的前面为什么要加连字符&呢?


                handler = new Handler() {  //如果服务器返回值为“ok”证明用户名密码正确并跳转登录后界面否则给出相应的提示信息

                    @Override

                    public void handleMessage(Message msg) {

                        if ("ok".equals(result)) { //如果服务器返回值为“ok”,证明用户名、密码输入正确

                            //跳转登录后界面

                            Intent in = new Intent(MainActivity.this, MessageActivity.class);

                            startActivity(in);

                        }else {

                            //用户名、密码错误的提示信息

                            Toast.makeText(MainActivity.this, "请填写正确的用户名和密码!",

                                    Toast.LENGTH_SHORT).show();

                        }

                        super.handleMessage(msg);

                    }

                };



                new Thread(new Runnable() {  // 创建一个新线程,用于从网络上获取文件

                    public void run() {

                        send();     //调用send()方法,用于发送用户名、密码到Web服务器

                        Message m = handler.obtainMessage();    // 获取一个Message

                        handler.sendMessage(m);      // 发送消息

                    }

                }).start();     // 开启线程



想问:"ok".equals(result),为什么Web应用传递的应用指定ok是赋值给result?result是在send()方法中通过循环逐行读取的内容啊?不应该是ok啊?


在按钮的单击事件监听器函数中,为什么new Hander()每次都要放在new Thread()的前面?应该是先调用Thread()中的send(),然后在Hander()中的handleMessage()中根据返回的结果执行操作啊?这几个函数执行顺序是什么?

分享到:
精彩评论 3
三生石
学分:2171 LV10
TA的每日心情
11
2018-12-20 21:21:04
2018-03-01
沙发

您好读者!

问题1.  result是web返回的数据,判断返回的数据是不是ok,如果是就跳转登录后界面。

问题2.  函数顺序 您可以通过log输出的方式查看执行顺序。

81981266
学分:235 LV4
2018-03-01
板凳

三生石 发表于2018-03-01 15:01

您好读者!

问题1.  result是web返回的数据,判断返回的数据是不是ok,如果是就跳转登录后界面。

问题2.  函数顺序 您可以通过log输出的方式查看执行顺序。

password的前面为什么要加连字符&呢?web返回的result和send()方法中的result怎么区分?
三生石
学分:2171 LV10
TA的每日心情
11
2018-12-20 21:21:04
2018-03-05
地板

您好读者!result已经被后台返回的ok所赋值了,param中的参数是固定写法,注释中已经标明了,请查看一下!

首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照