Android中Message的基本使用

版权声明:文章内容系为本人原创,如需转载,请注明出处。 https://blog.csdn.net/weixin_43778720/article/details/88072118
  1. 什么是Message:
    Message是封装了需要传递的数据交由Handler 处理的对象。
  2. Message的作用:
    1. 用于存放传递的数据;
    2. 是主线程和子线程传递数据的载体
  3. 如何使用Message:
    1. 初始化Message对象:
      1. Message message= new Message();
      2. Message message= Message.obtain();
      3. Messager message= handler.obtaionMessager();
    2. 向Message中添加数据:
       Message message = Message.obtain();
      //TODO 将传递数据,封装到Message消息对象中
       message.what = 0;
       message.arg1 = 1;
       message.arg2 = 2;
       message.obj = “传递的内容”;
      Bundle bundle = new Bundle();
      bundle.putString("name","张三");
      message.setData(bundle);
      
    3. 获取Message中存储的数据
      private Handler handler = new Handler()
          {
              @Override
              public void handleMessage(Message msg) {
                  super.handleMessage(msg);
                  int flag1 = msg.what;
                  int flag2 = msg.arg1;
                  int flag3 = msg.arg2;
                  String resultMsg = (String) msg.obj;
                  Bundle bundle = msg.getData();
                  String name = bundle.getString("name");
              }
          };
      
  4. Send 方式 -【注意事项】
    1. 子线程向主线程中发送空消息时,可以调用方法直接传入what值,并且放入到消息队列中;
    2. Send方式发送消息,需要创建Message对象,封装传递的数据,将Message对象压入消息队列中;
    3. Send方式发送消息后,需要在Handler的 handleMessage(Message)方法中,获取消息并处理;
    4. Send方式定时发送消息和延迟发送消息, 时间的单位是毫秒。

猜你喜欢

转载自blog.csdn.net/weixin_43778720/article/details/88072118