android定时器

原创 2016年05月31日 17:53:53
方法一:Handler+Thread


[java] view plain copy
package com.xunfang.handerDemo;  
  
import android.app.Activity;  
import android.os.Bundle;  
import android.os.Handler;  
import android.os.Message;  
import android.widget.TextView;  
  
/** 
 * handler定时器 
 *  
 * @author Smalt 
 *  
 */  
public class HanderDemoActivity extends Activity {  
    TextView tvShow;  
    private int i = 0;  
  
    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        tvShow = (TextView) findViewById(R.id.tv_show);  
        new Thread(new ThreadShow()).start();  
    }  
  
    // handler类接收数据  
    Handler handler = new Handler() {  
        public void handleMessage(Message msg) {  
            if (msg.what == 1) {  
                tvShow.setText(Integer.toString(i++));  
                System.out.println("receive....");  
            }  
        };  
    };  
  
    // 线程类  
    class ThreadShow implements Runnable {  
  
        @Override  
        public void run() {  
            // TODO Auto-generated method stub  
            while (true) {  
                try {  
                    Thread.sleep(1000);  
                    Message msg = new Message();  
                    msg.what = 1;  
                    handler.sendMessage(msg);  
                    System.out.println("send...");  
                } catch (Exception e) {  
                    // TODO Auto-generated catch block  
                    e.printStackTrace();  
                    System.out.println("thread error...");  
                }  
            }  
        }  
    }  
}  


方法二:Handler类自带的postDelyed
[java] view plain copy
package com.xunfang.handerDemo;  
  
import android.app.Activity;  
import android.os.Bundle;  
import android.os.Handler;  
import android.widget.TextView;  
  
/** 
 * handler定时器使用postDelyed实现 
 *  
 * @author Smalt 
 *  
 */  
public class HanderDemoActivity extends Activity {  
    TextView tvShow;  
    private int i = 0;  
    private int TIME = 1000;  
  
    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        tvShow = (TextView) findViewById(R.id.tv_show);  
        handler.postDelayed(runnable, TIME); //每隔1s执行  
    }  
  
    Handler handler = new Handler();  
    Runnable runnable = new Runnable() {  
  
        @Override  
        public void run() {  
            // handler自带方法实现定时器  
            try {  
                handler.postDelayed(this, TIME);  
                tvShow.setText(Integer.toString(i++));  
                System.out.println("do...");  
            } catch (Exception e) {  
                // TODO Auto-generated catch block  
                e.printStackTrace();  
                System.out.println("exception...");  
            }  
        }  
    };  
  
}  


方法三:
Handler+Timer+TimerTask


[java] view plain copy
package com.xunfang.handerDemo;  
  
import java.util.Timer;  
import java.util.TimerTask;  
  
import android.app.Activity;  
import android.os.Bundle;  
import android.os.Handler;  
import android.os.Message;  
import android.widget.TextView;  
  
/** 
 * 定时器实现:Handler+Timer+TimerTask 
 *  
 * @author Smalt 
 *  
 */  
public class HanderDemoActivity extends Activity {  
    TextView tvShow;  
    private int i = 0;  
    private int TIME = 1000;  
  
    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
        tvShow = (TextView) findViewById(R.id.tv_show);  
        timer.schedule(task, 1000, 1000); // 1s后执行task,经过1s再次执行  
    }  
  
    Handler handler = new Handler() {  
        public void handleMessage(Message msg) {  
            if (msg.what == 1) {  
                tvShow.setText(Integer.toString(i++));  
            }  
            super.handleMessage(msg);  
        };  
    };  
    Timer timer = new Timer();  
    TimerTask task = new TimerTask() {  
  
        @Override  
        public void run() {  
            // 需要做的事:发送消息  
            Message message = new Message();  
            message.what = 1;  
            handler.sendMessage(message);  
        }  
    };  
}  
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android定时器和线程实现

  • 2014-12-02 19:46
  • 1.38MB
  • 下载

Android 闹铃定时器实现

  • 2016-12-19 21:38
  • 607KB
  • 下载

Android定时器之Handler的postDelyed方法

关于定时器的实现,我们可以有三种实现方式 handler+thread,Timer+TimerTask,也可以用handler的postDelyed方法,当然也有上一篇我们说过的倒计时定时器Coun...

Android定时器

  • 2014-01-16 17:57
  • 1.37MB
  • 下载

android之定时器AlarmManager

最终效果图:        当我们点击定时时,会弹出一个时间选择器,选定好时间之后,系统便可以进行定时了。注意,这里可不是会真的响铃,我们在定时的任务里并没有添加响铃的代码,只是在Logcat中...

Android:Timer定时器

1. Handler+Runable private Handler mHandler = new Handler(); //解析远程XML,下载和安装APK private...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)