阅读1012 返回首页    go 阿里云 go 技术社区[云栖]


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);
    }

最后更新:2017-04-02 06:51:53

  上一篇:go Android开发教程英文视频(YouTube)
  下一篇:go asp.net关于WEB端用户重复提交问题。禁用服务器控件按钮问题。