android 再谈定时器 timer 每秒更新一次!
2011-04-13 14:51
561 查看
以前学习java定时器的时候有下面的文章:
一,要定时执行的任务:
package com.fpi;
public class TimerTaskTest extends java.util.TimerTask
{
@Override
public void run()
{
System.out.println("start~~");
}
}
二,执行这个任务:
package com.fpi;
import java.util.Timer;
public class TimerTest
{
public static void main(String args[])
{
Timer timer = new Timer();
timer.schedule(new TimerTaskTest(), 1000,2000);
}
}
三,运行结果:
每2秒打印一个start~~
start~~
start~~
............
其实也可以把上面的两个步骤放到一个类中去写,代码如下:
下面就按照上面的两种方法在android中分别实现。这个小demo的功能就是实现每秒更新一下textview。
第一种分开写的方式,在android下面不太常用,就不过多介绍了。
第二种放在一起写的代码如下:
运行结果如下:
一,要定时执行的任务:
package com.fpi;
public class TimerTaskTest extends java.util.TimerTask
{
@Override
public void run()
{
System.out.println("start~~");
}
}
二,执行这个任务:
package com.fpi;
import java.util.Timer;
public class TimerTest
{
public static void main(String args[])
{
Timer timer = new Timer();
timer.schedule(new TimerTaskTest(), 1000,2000);
}
}
三,运行结果:
每2秒打印一个start~~
start~~
start~~
............
其实也可以把上面的两个步骤放到一个类中去写,代码如下:
package com.fpi; import java.util.Timer; public class TimerTest { public static void main(String args[]) { Timer timer = new Timer(); timer.schedule(new TimerTaskTest() { @Override public void run() { System.out.println("start~~"); } }, 1000, 2000); } }
下面就按照上面的两种方法在android中分别实现。这个小demo的功能就是实现每秒更新一下textview。
第一种分开写的方式,在android下面不太常用,就不过多介绍了。
第二种放在一起写的代码如下:
package com.my; 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.util.Log; import android.widget.TextView; public class TimerDemo extends Activity { private String tag = "@@@"; Timer timer = new Timer(); private int i = 0; private TextView text = null; private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { // TODO Auto-generated method stub super.handleMessage(msg); int msgId = msg.what; Log.e(tag, msgId + ""); switch (msgId) { case 1: text.setText(getResources().getText(R.string.timer_task_print) .toString() + i); i++; break; default: break; } } }; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); setView(); setTimerTask(); } @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); timer.cancel(); } private void setView() { text = (TextView) findViewById(R.id.text); } private void setTimerTask() { timer.schedule(new TimerTask() { @Override public void run() { // TODO Auto-generated method stub Message message = new Message(); message.what = 1; handler.sendMessage(message); } }, 0, 1000); } }
运行结果如下:
相关文章推荐
- android 定时器,每秒变换一次图片!
- android 定时器,每秒变换一次图片!
- android Timer 定时器 更新UI
- Android中Timer定时器的使用
- PHP 定时器实现 timer 每隔几秒运行一次
- Android -- 视频音频多媒体播放,在线播放, MediaPlayer, SurfaceView, SoundPool, Timer定时器使用
- android AppWidget的使用以及利用TimerTask实现widget的定时更新
- Android学习指南之三十四:Android定时器Timer的使用
- Timer---Android 定时器的三种实现
- Android Timer 定时器 与handler的配合
- Android 定时器 (每隔N秒执行一次).
- Android的schedule、AlarmService、Timer定时器机制
- Android关于定时器Timer的定义及用法
- Android程序中使用定时器Timer
- Android 定时器timer
- Android定时器Timer的停止和重启实现代码
- Android 竞拍类App节选功能点-高性能更新数据,错位图片闪烁,定时器错乱,定时器时间不同步解决方案
- Android 程序后台运行时Timer定时器不启用
- Android:Timer定时器
- Android中定时器Timer和TimerTask的启动,停止,暂停,继续等操作实例