每秒检查健康状况

时间:2013-08-08 17:25:04

标签: android

您好我真的不知道如何做到这一点我尝试过计时器和CountDownTimer但我无法弄清楚如何完成它。我想做的事 ?我想做的每一秒健康在通过“20”之后下降“-1”以显示Dialog,它会说

Title: "Low Health"
Message: "The dog health is going low give him some food" 
Button: "Got it" 

我有这个代码,当生病时启动应用程序关闭/崩溃自动我不知道该怎么做请帮助:

Timer myTimer = new Timer();
        myTimer.schedule(new TimerTask() {
            @Override
            public void run() {
                Health -= 1;
                if (Health <= 20) {
                    if (!canSeeWarnDialog) {
                        lowFood();
                    }
                    canSeeWarnDialog = true;
                }
            }
        }, 0, 1000);

谢谢。

修改 我希望这个动作持续1分钟,我告诉1秒。更快的测试原因...

1 个答案:

答案 0 :(得分:1)

如果我理解正确,健康状况将具有一定的价值,您希望每秒减少1。如果该值低于20,那么你想调用lowFood()吗?这是你可以尝试的东西(我在真实设备上测试了这个并更新了答案):

Handler handler = new Handler();
handler.post(new Runnable() {

    boolean run = true;
    int health = 200;

    @Override
    public void run() {
        while(run) {
            health = health - 1;
            if(health < 1) {
                lowFood();
                run = false;
            }

            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
});
相关问题