android---Timer和Handler

Posted jdsjlzx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android---Timer和Handler相关的知识,希望对你有一定的参考价值。


Timer是一个执行任务的类,他接受TimerTask的参数;

Timer执行任务有两种方式,一种是在某个指定的时候执行某个任务timer.schedule(Timertask task,Data data),另一种是在多长时间之后执行某个任务timer.schedule(TimerTask task,long delay);

TimerTask中执行指定的任务,但由于android是线程安全的,所有的界面的更新都必须放到主线程中,所以要使用到Handler对象。

主体代码如下:

 


=
new
Timer();
Handler handler
=
new
Handler()
@Override

public

void
handleMessage(Message msg)


switch
(msg.what)

case

1
:
setTitle(
"
真的变了
"
);

break
;

super.handleMessage(msg);

;

TimerTask task
=
new
TimerTask()
@Override

public

void
run()

//
TODO Auto-generated method stub

//
由于主线程安全,页面的更新需放到主线程中


Message msg
=
new
Message();
msg.what
=
1
;
handler.sendMessage(msg);

;
@Override

public

void
onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.main);


//
一秒后更改标题


timer.schedule(task,
1000
);

以上是关于android---Timer和Handler的主要内容,如果未能解决你的问题,请参考以下文章

安卓权威编程指南-笔记(第24章 Looper Handler 和 HandlerThread)

Android Handler消息机制详解

Android 基础总结:( 十四)Handler详解(上)

Android 使用handler实现线程间发送消息 (主线程 与 子线程之间)(子线程 与 子线程之间)

xamarin Android Timer

Toast 运行在主线程