为了账号安全,请及时绑定邮箱和手机立即绑定

℃江的程序员日记:Android中的主线程与子线程的交互方式

标签:
Android

Android中的主线程与子线程的交互:

package com.example.handler;

import android.os.HandlerThread;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import java.util.logging.Handler;

public class FourActivity extends AppCompatActivity {

    private Button btn_send, btn_stop;

    //创建的是主线程的Handler
    private android.os.Handler handler = new android.os.Handler() {
        @Override
        public void handleMessage(Message msg) {

            Message message = new Message();

            System.out.println("++++++++++++++++++++++主线程");

            //因为有Looper,在主线程收到消息后,向子线程发送消息
            threadHandler.sendMessageDelayed(message, 1000);
        }
    };

    private android.os.Handler threadHandler;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_four);
        btn_send = (Button) findViewById(R.id.btn_send);
        btn_stop = (Button) findViewById(R.id.btn_stop);

        btn_send.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                handler.sendEmptyMessage(1);

            }
        });

        btn_stop.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                handler.removeMessages(1);
            }
        });

        android.os.HandlerThread thread = new HandlerThread("handlerThread");
        thread.start();
        //创建子线程的Handler
        threadHandler = new android.os.Handler(thread.getLooper()) {
            @Override
            public void handleMessage(Message msg) {
                Message message = new Message();
                System.out.println("=====================子线程");
                //向主线程去发送消息
                handler.sendMessageDelayed(message, 1000);

            }
        };

    }
}

打印的log是交互的:
图片描述

点击查看更多内容
3人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消