**

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();

更多相关文章

  1. Android学习札记29:对线程更新UI界面的一些理解(2)
  2. Android的线程和线程池--《Android开发艺术探索》阅读笔记——第
  3. 【Android】Java四种线程池的使用
  4. Android使用Thread+Handler实现非UI线程更新界面
  5. Android之——多线程断点续传下载示例

随机推荐

  1. 2013年7月Android设备版本及屏幕尺寸分布
  2. RecyclerView如何实现滑动过程中暂停图片
  3. Android实现视频硬编码
  4. Android(安卓)Fragment学习笔记(二)----F
  5. android源码解析(十七)-->Activity布局加载
  6. CSDN移动博文集锦之Android核心分析
  7. Android(安卓)文本滚动效果的几种实现方
  8. android studio 使用.9图片
  9. [置顶] 【android】通过User-Agent,解决ht
  10. Android内存的全面分析-让你吃透