zoukankan      html  css  js  c++  java
  • ANDROID笔记:基于handle的异步请求网络数据的一种方法

    Control.java

        public void login(final Handler handler, final String name,
                final String pass) {
            new Thread(new Runnable() {
                @Override
                public void run() {
                    String urlString = ACTIONURL + "username=" + name
                            + "&password=" + pass;
                    // 得到网络返回数据
                    String result = new HTTPService().sendGet(urlString);
                    if (result != null) {
                        // 解析JSON
                        try {
                            JSONObject jsonObject = new JSONObject(result);
                            //返回数据                        
                            Message message = new Message();
                            message.obj = jsonObject.getInt("StateCode");
                            handler.sendMessage(message);
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                }
            }).start();
        }

    view层调用方法:

    new Control().login(new Handler() {
                @Override
                public void handleMessage(Message msg) {
                    super.handleMessage(msg);
             //dosomething } }, nameView.getText().toString(), pwdView.getText().toString());

    P.S:通过在view中实现handle类并将handle引用传递给Control层,使得View和Control可以进行异步交互.

  • 相关阅读:
    洛谷 P1604 B进制星球
    629D
    。。。。。
    新安排
    计算几何的两道题
    cf C题
    昨天
    最近几天的安排
    最近几天
    杂论——持续更新。
  • 原文地址:https://www.cnblogs.com/afluy/p/3461629.html
Copyright © 2011-2022 走看看