Android开发应用之计时器(TimerTask和Timer)
来源:互联网 发布:易语言钓鱼盗号源码 编辑:程序博客网 时间:2024/06/04 18:55
android应用开发中常常会用到定时器,不可避免的需要用到 TimerTask 定时器任务这个类
例如在Android平台中需要反复按周期执行方法可以使用Java上自带的TimerTask类,TimerTask相对于Thread来说对于资源消耗的更低,除了使用Android自带的AlarmManager,使用Timer定时器是一种更好的解决方法。下面我们通过一个简单的Demo来讲解Timer和TimerTask的使用。首先先看项目运行效果:
以上就是我们今天要实现的。看起来简单吧。呵呵,废话不多说了,进入正题。
1、首先创建一个Android项目工程,这是必须的。在这里我命名其为TimeDemo。
2、修改主布局文件main.xml,具体代码如下:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" ><Button android:id="@+id/myButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="开始倒计时" /><TextView android:id="@+id/myTextView" android:layout_width="fill_parent" android:layout_height="wrap_content" /></LinearLayout>
这里就不多讲了,好简单,就两个常用的控件。
3、修改Activiyt类,我们要做的工作都放在这个主程序中。具体代码如下:
public class MyActivity extends Activity {TextView text;Button button;Timer timer;int i=10; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); text=(TextView)findViewById(R.id.myTextView); final Handler myHandler=new Handler(){@Overridepublic void handleMessage(Message msg) {// TODO Auto-generated method stubsuper.handleMessage(msg);if(msg.what>0){/*这里要注意下,msg.what是一个整形型数字, * 而setText(字符),所以要再前面加上""*/text.setText(""+msg.what);}else{text.setText("开始");timer.cancel();}} }; button=(Button)findViewById(R.id.myButton); button.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub// 定义计时器 timer=new Timer();/*定义计划任务,根据参数的不同可以完成以下种类的工作: * 在固定时间执行某任务,在固定时间开始重复执行某任务, * 重复时间间隔可控,在延迟多久后执行某任务,在延迟多久 * 后重复执行某任务,重复时间间隔可控 */timer.schedule(new TimerTask() {// TimerTask 是个抽象类,实现的是Runable类 @Overridepublic void run() {// TODO Auto-generated method stub//Message message=new Message();//message.what=i--;i--;myHandler.sendEmptyMessage(i);}}, 1000, 1000);}}); }}
程序中需要注意的地方,我都写明了。在这里就不啰嗦了。呵呵。
4、编辑好,保存。单击项目执行之,便可以了。
呵呵,当我们单击开始倒计时按钮时。在按钮下面的TextView出现相应的数字。当小于0时,就会提示“开始”。
今天就到这里。
- Android开发应用之计时器(TimerTask和Timer)
- android使用timer和timertask实现计时器
- Android计时器TimerTask,Timer,Handler
- Android计时器TimerTask,Timer,Handler
- android中Timer和TimerTask的应用
- android计时器 message+handler; timer+timertask
- Android 计时器 Chronometer or timer+timerTask
- Java计时器Timer和TimerTask用法
- Java计时器Timer和TimerTask用法
- 传统的计时器:Timer和TimerTask类
- Android学习之Timer和TimerTask
- Android之Timer和TimerTask的介绍
- Android:Timer和TimerTask详解
- Android:Timer和TimerTask详解
- android--计时器(Timer)
- Android Timer(计时器)
- 计时器 Timer,计时任务 TimerTask
- Android之Handler总结与Timer和TimerTask详解
- 1000以内完数
- Common Linux Command
- 基于GPU的优化处理
- Difference between Windows and Linux
- acm pku 1063 Flip and Shift
- Android开发应用之计时器(TimerTask和Timer)
- inode, FAT32, and NTFS
- 《Java编程思想》学习笔记3——内部类
- OGRE材质
- Core File
- 循环根据iterator删除相应元素的代码
- OGRE场景查询
- What is meaning of run level in Linux system? What are they?
- Java NIO原理和使用