Android消息机制

【Android消息机制】怀抱观古今,寝食展戏谑。这篇文章主要讲述Android消息机制相关的知识,希望能为你提供帮助。
  一、   Handler    1、使用      < 1> 在主线程中定义一个 Handler, 重写 handleMessage 方法

//在主线程中定义一个Handler
private Handler handler=new Handler(){
//这个方法是在主线程中执行的
@Override
public void handleMessage(Message msg) {
tv_result.setText(msg.obj.toString());
}
};

          < 2> 在子线程中使用主线程中创建的handler 发送消息
Message msg=new Message();
msg.obj=content;
handler.sendMessage(msg); //发消息

    2、handler 原理
        子线程是不能直接操作UI线程的,需要通过 handler,首先发送到(messagequeue)消息队列当中,然后Looper 会不断的循环
          得到这条消息,再通过 handleMessage 方法执行得到消息
        handler 的作用是用来发消息和处理消息的
        Looper 的作用是去消息队列 (messagequeue) 中取消息
        Looper 是在主线程一创建就有了
Android消息机制

文章图片
      3、Message what 属性的使用            < 1> 设置 what 的 值
Message msg=new Message();
msg.what=REQUESTEXCEPTION;
handler.sendMessage(msg);

            < 2> 在 handleMessage 方法中进行判断,执行不同操作
@Override
public void handleMessage(Message msg) {
switch (msg.what){
case REQUESTSUCCESS: //请求成功
tv_result.setText(msg.obj.toString());
break;
case REQUESTNOTFIND: //目标资源不存在
Toast.makeText(MainActivity.this, "目标资源不存在", Toast.LENGTH_SHORT).show();
break;
case REQUESTEXCEPTION: //异常
Toast.makeText(MainActivity.this, "服务器忙 请稍等。。。", Toast.LENGTH_SHORT).show();
}
}

  关于 Message:    可以通过 
Android消息机制

文章图片
  ,这样的方式来创建,减少对象的创建。
 



null





































    推荐阅读