Android,通过handler处理的消息的获取

  //子线程发消息,通知Handler完成UI更新
    private void LoginConnect(String username,String userpassword) {
        Toast.makeText(Login.this,"我--->子线程运行了!<------",Toast.LENGTH_SHORT).show();
        Runnable run= new Runnable() {
            @Override
            public void run() {
                //耗时操作,完成之后发送消息给Handler,完成UI更新;
                String ret = DBUtil.LoginQuery(username,userpassword);//返回String类型的0或1
                //数据传递
                Message msg=new Message();
                msg.what=1003;
                Bundle data=new Bundle();
                data.putString("result",ret);
                msg.setData(data);
                mHandler.sendMessage(msg);//TODO ?发送到主线程中?
            }
        };
        new Thread(run).start();
    }


 private String isallow;
    //主线程中定义handler
    Handler mHandler=new Handler(){
        public  void handleMessage(android.os.Message msg){
            Toast.makeText(Login.this,"我handler运行了!",Toast.LENGTH_SHORT).show();

            switch (msg.what){
                case 1003:
                    isallow = msg.getData().getString("result");//完成主界面更新,拿到数据
                    break;
                default:
                    break;
            }
        }
    };

前辈们好,感谢你们阅读我的提问。我是一名Android新手,希望得到你们的指教。

问题:求前辈指教,通过handler处理的消息能否在主线程中作为变量获取,而不是更新UI呢?

描述:这是我为了实现系统登录的代码,传入用户名和密码去数据库中比对,返回结果为String类型的0或1。我的理解是mHandler处理消息以后,isAllow应该被设为0或1,我想得到isAllow,在主线程中对其进行判断,实现登录。不知道能不能有这样的操作呢?(我看到的大多数都是更新UI)

可以

 

OK的~