2011-06-07 65 views
0

我是Android新手。任何人都可以告诉我如何每5秒执行一次消息。我试过这段代码,但它没有在我的模拟器上显示任何内容。我应该做些什么呢?每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(); 
     }   
       } 

回答

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类引入了一个新的线程使用定时器,它现在是公平的做到这一点。

+0

感谢您的帮助。我知道这个qns听起来很愚蠢。我可以通过注册运行知道你的意思吗? – sugianto 2011-06-09 03:00:27

+1

我的意思是设置postDelayed by .postDelayed(this,1000);它将在应用程序启动时运行,然后每1秒运行一次。 – artouiros 2011-06-09 09:58:37

0

这是你的代码的总和?你将活动视图设置为什么? Android实现了一个闹钟/日程安排服务,与尝试实现自己的电池寿命相比,它更加友好。

相关问题