Android线程间通讯的方式--Handler

2023-04-24  本文已影响0人  CrazySnow

Handler是Android的消息传递机制,主要用于线程间通讯

子线程往主线程通信的流程:在主线程中创建了一个子线程,子线程运行并生成Message,通过调用sendmessgae方法传递给handler
示例代码:

    private Handler handler = new Handler(Looper.myLooper()){
        @Override
        public void handleMessage(@NonNull Message msg) {
            super.handleMessage(msg);
            if (msg.what == 0){
                String strData = (String) msg.obj;
                tvContent.setText(strData);
                parseJsonData(strData);
                //数据解析

            }
        }
    };

   public void start(View view){
        new Thread(new Runnable() {
            @Override
            public void run() {
                String stringData = getStringFromNet();
                Message message = new Message();
                message.what = 0;
                message.obj = stringData;
                handler.sendMessage(message);

            }
        }).start();
    }

消息机制的架构

上一篇 下一篇

猜你喜欢

热点阅读