博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android线程之主线程向子线程发送消息
阅读量:4632 次
发布时间:2019-06-09

本文共 2046 字,大约阅读时间需要 6 分钟。

  和大家一起探讨Android线程已经有些日子了,谈的最多的就是如何把子线程中的数据发送给主线程进行处理,进行UI界面的更新,为什么要这样,请查阅之前的随笔。本篇我们就来讨论一下关于主线程向子线程如何发送数据,这个用的地方也是非常的多,例如当我们为了优化用户体验,我们会在不影响用户使用的情况下进行后台数据更新,好了废话不多说,开始我们今天的讨论。

public class ThreadActivity extends Activity implements OnClickListener{        private Button button1;    private Button button2;    //主线程中的Handler    private Handler firstHandler = new Handler(){        public void handleMessage(android.os.Message msg) {            System.out.println("first:"+Thread.currentThread());            Message message = new Message();            SecondHandler.sendMessageDelayed(message, 1000);//每隔1S向子线程发送一个Message对象        };    };    //子线程中的Handler    private Handler SecondHandler;            @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.four);                init();        into();            }    private void into() {        HandlerThread handlerThread = new HandlerThread("handler Thread");        handlerThread.start();        SecondHandler = new Handler(handlerThread.getLooper()){            @Override            public void handleMessage(Message msg) {                System.out.println("Second:"+Thread.currentThread());                Message message = new Message();                firstHandler.sendMessageDelayed(message, 1000);//每隔1S向主线程发送一个Message对象            }        };    }    private void init() {        button1 = (Button) findViewById(R.id.button1);        button2 = (Button) findViewById(R.id.button2);        button1.setOnClickListener(this);        button2.setOnClickListener(this);    }    @Override    public void onClick(View arg0) {        switch (arg0.getId()) {        case R.id.button1:            firstHandler.sendEmptyMessage(1);            break;                    case R.id.button2:            firstHandler.removeMessages(1);            break;                    default:            break;        }    }}

  布局文件:

 

转载于:https://www.cnblogs.com/AndroidJotting/p/4466738.html

你可能感兴趣的文章
迷宫寻宝(搜索)
查看>>
LIKE 操作符
查看>>
15:解决IntelliJ IDEA的乱码问题
查看>>
python2和python3的区别
查看>>
Entity Framework的启动速度优化
查看>>
Hadoop2.6.0伪分布环境搭建
查看>>
贴现因子
查看>>
2019-03-20 Python爬取需要登录的有验证码的网站
查看>>
docker(4)docker的网络,自定义网桥
查看>>
重读TCP协议(3)
查看>>
阻塞队列与非阻塞队列
查看>>
python学习07
查看>>
-lt -gt -ge -le -eq的意义
查看>>
i/o多路复用笔记
查看>>
Codeforces Round #539 (Div. 2) C. Sasha and a Bit of Relax
查看>>
LeetCode之461. Hamming Distance
查看>>
HSSFWorkbook 与 XSSFWorkbook
查看>>
希尔排序——算法系列
查看>>
javascript ES6 新特性之 扩展运算符 三个点 ...
查看>>
Jetson tk1 安装 CUDA,ROS,OpenCV和kinect2以及刷机以及ssh远程控制
查看>>