每5秒自动执行一次消息

时间:2011-06-07 14:19:39

标签: java android timer

我是Android新手。任何人都可以告诉我如何每5秒执行一次消息。我尝试过这段代码,但它在我的模拟器上没有显示任何内容。我应该做什么呢?

     while(true) {     
          Toast.makeText(this, "hi", Toast.LENGTH_SHORT).show();
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }          
                 }

2 个答案:

答案 0 :(得分:8)

您不应该从GUI线程调用Thread.sleep()。永远不要这样做。使用处理程序来做这件事。

private Handler handler = new Handler();    
private Runnable runnable = new Runnable() {   
    public void run() {
        doStuff();
        /*
         * Now register it for running next time
         */
        handler.postDelayed(this, 1000);
    } 
};

我更喜欢这种方式来使用定时器,因为Timer类引入了一个新线程,现在可以做到这一点。

答案 1 :(得分:0)

这是你的代码的总和吗?你将活动视图设置为什么? Android实现了一种警报/日程安排服务,这种服务对电池续航时间比对自己实现自己的电池寿命要友好得多。