Java 每5秒自动执行一次消息

Java 每5秒自动执行一次消息,java,android,timer,Java,Android,Timer,我是Android新手。谁能告诉我如何每5秒执行一次消息。我已经尝试过这段代码,但它没有在我的模拟器上显示任何内容。我该怎么做呢 while(true) { Toast.makeText(this, "hi", Toast.LENGTH_SHORT).show(); try { Thread.sleep(5000); } catch (InterruptedException e) {

我是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();
        }          
                 }

您不应该从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类引入了一个新线程,现在这样做是公平的。

这就是代码的总和吗?您将活动视图设置为什么?Android实现了一个报警/调度服务,这将比尝试实现自己的服务对电池寿命更友好。

感谢您的帮助。我知道这个qns听起来很愚蠢。我可以知道注册跑步是什么意思吗?我的意思是设置postDelayed by.postDelayed(这个,1000);它将在应用程序启动时运行,然后每1秒运行一次。