android---Timer和Handler
Timer是一个执行任务的类,他接受TimerTask的参数;
Timer执行任务有两种方式,一种是在某个指定的时候执行某个任务timer.schedule(Timertask task,Data data),另一种是在多长时间之后执行某个任务timer.schedule(TimerTask task,long delay);
TimerTask中执行指定的任务,但由于Android是线程安全的,所有的界面的更新都必须放到主线程中,所以要使用到Handler对象。
主体代码如下:
Timer timer=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);
}
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);
}
最后更新:2017-04-02 06:51:53
上一篇:
Android开发教程英文视频(YouTube)
下一篇:
asp.net关于WEB端用户重复提交问题。禁用服务器控件按钮问题。
独家 | 手把手教随机森林
基于Hadoop大数据分析应用场景与实战
面试时,你会问面试官哪些问题?
各国被黑客泄露的信息都是真的吗?揭秘真相森林中的重重谎言
多核时代:并行程序设计探讨(5)——Windows和Linux对决(进程间同步)
android抓屏
Interop type 'Microsoft.Office.Interop.Word.ApplicationClass' cannot be embedded. Use the applicable
使用Maven构建项目
Davinci DM6446 Codec Engine双核通信环境的搭建
商之翼新闻|电信网络诈骗案持续高发,老年群体成骗子重点目标