java - 每 5 秒自动执行一次消息

标签 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();
        }          
                 }

最佳答案

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

关于java - 每 5 秒自动执行一次消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6266625/

相关文章:

c# threading Timer 需要自己停止异步套接字代码

java - 货币面额计划

java - 连接到 WELD-SE 类路径扫描器

android - 如何在不同的类之间共享相同的构造函数,也就是在接口(interface)中定义构造函数?

javascript - 从 JSON 对象(React-Native js)中删除键值对?

objective-c - iOS 定时每毫秒

c# - 在 BackGroundWorker 中使用定时器

java - TFS:在某人删除并重新添加而不是移动文件后如何恢复合并能力?

java - 未报告的异常 java.io.IOException at actionlistener

java - 如何禁用推送通知的声音?