Android实现定时器的方法
来源:互联网 发布:java开源商城 编辑:程序博客网 时间:2024/04/30 20:27
- 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
- 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
- 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);
- }
- };
- }
0 0
- Android实现定时器的方法
- Android实现定时器的方法
- Android - Android实现定时器的方法
- Android定时器实现方法
- Android三种实现定时器的方法
- Android三种实现定时器的方法
- Android三种实现定时器的方法
- android 定时器的3种实现方法
- Android三种实现定时器的方法
- Android三种实现定时器的方法
- Android三种实现定时器的方法
- Android实现定时器的两种方法
- android定时器的3种实现方法
- android定时器的3种实现方法
- Android三种实现定时器的方法
- Android三种实现定时器的方法
- Android三种实现定时器的方法
- Android三种实现定时器的方法
- oracle 查询杀死死锁方案
- smarty缓存详解
- Android小知识
- 基于lucene的案例开发:纵横小说更新列表页抓取
- 找到了一个利用tesseract做安卓OCR应用的过程讲解
- Android实现定时器的方法
- 人头移植,可行吗?
- 渣渣作业1.1
- ERROR 1130: Host 'xxx' is not allowed to connect to this MySQL server
- 关于IIS7.5下的web.config 404 配置的一些问题
- ArcGIS Engine 开发(一)对地图放大、缩小、漫游、全局等功能
- Hadoop Hive与Hbase关系 整合
- 初学JAVA所遇问题之自动数据类型转换
- Ubuntu下彻底卸载mysql的方法