postDelayed方法和removeCallbacks方法的使用(2)

《Android学习精要》第6章Broadcast、Service服务及Handle对象,本章介绍Android的核心组件Service,通过Service这种技术可以在系统的后台进行一些隐藏性任务的执行,前台用户并不会体会到程序在运行,这种技术通常用在一些计划任务中,Android的4大组件Service在实现这一功能时的使用率非常高,而要实现一个功能完善的软件不可能不用到Service。本节为大家介绍postDelayed方法和removeCallbacks方法的使用。

AD:2014WOT全球软件技术峰会北京站 课程视频发布

6.4.2  postDelayed方法和removeCallbacks方法的使用(2)

从打印结果可以发现,使用代码:

   
   
  1. handler.postDelayed(runnableRef, 1000) 

上述代码运行的Runnable并没有新建一个线程,而是运行在main线程里。

当单击button2按钮时,停止这种累加1的功能。

关于循环执行某一个任务还可以使用Java SE自带的类来进行处理,新建名称为TimerTest项目,文件Main.java的代码如下:

   
   
  1. public class Main extends Activity {  
  2.     private int count = 0;  
  3.  
  4.     @Override  
  5.     public void onCreate(Bundle savedInstanceState) {  
  6.         super.onCreate(savedInstanceState);  
  7.         setContentView(R.layout.main);  
  8.  
  9.         TimerTask task = new TimerTask() {  
  10.             @Override  
  11.             public void run() {  
  12.                 Log.v("!", "" + (++count));  
  13.             }  
  14.         };  
  15.         Timer timer = new Timer();  
  16.         timer.schedule(task, 1000, 1000);  
  17.     }  
  18. }  

打印的效果如图6.42所示。
 
图6.42  Timer循环执行某一任务
如果想在TimerTask中控制View控件,还需要用Handler对象以发送消息Message的方式来处理View的更新。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值