Android中循环的几种方式
16lz
2021-01-23
**
Android中循环的几种方式
**
一、 Handler + Runnable
1. 定义一个Handler类
Handler handler=new Handler();Runnable runnable=new Runnable() { @Override public void run() { // TODO Auto-generated method stub //要做的事情 handler.postDelayed(this, 2000); }};
2. 启动计时器
handler.postDelayed(runnable, 2000);//每两秒执行一次runnable.
3. 停止计时器
handler.removeCallbacks(runnable);
二、Handler + Runnable + Sleep
1. 定义一个Handler类,用于处理接受到的Message。
Handler handler = new Handler() { public void handleMessage(Message msg) { // 要做的事情 super.handleMessage(msg); }};
2. 新建一个实现Runnable接口的线程类,如下:
public class MyThread implements Runnable { @Override public void run() { // TODO Auto-generated method stub while (true) { try { Thread.sleep(10000);// 线程暂停10秒,单位毫秒 Message message = new Message(); message.what = 1; handler.sendMessage(message);// 发送消息 } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }}
3. 在需要启动线程的地方加入下面语句
new Thread(new MyThread()).start();
三、Handler + Timer
1. 定义定时器、定时器任务及Handler
private final Timer timer = new Timer();private TimerTask task;Handler handler = new Handler() { @Override public void handleMessage(Message msg) { // TODO Auto-generated method stub // 要做的事情 super.handleMessage(msg); }};
2. 初始化计时器任务
task = new TimerTask() { @Override public void run() { // TODO Auto-generated method stub Message message = new Message(); message.what = 1; handler.sendMessage(message); }};
3. 启动定时器
timer.schedule(task, 2000, 2000);
4. 停止计时器
timer.cancel();
更多相关文章
- Android学习札记29:对线程更新UI界面的一些理解(2)
- Android的线程和线程池--《Android开发艺术探索》阅读笔记——第
- 【Android】Java四种线程池的使用
- Android使用Thread+Handler实现非UI线程更新界面
- Android之——多线程断点续传下载示例