java - 每 30 秒给一个变量赋值 1

标签 java android eclipse

在 android 中,如果单击按钮,我希望倒计时从 30 开始,倒计时到 0。我使用基本倒计时方法创建了一个代码,但问题是如果 Activity 或应用程序关闭,它不会继续倒计时。

我想要做的是让 Activity 或只是倒计时在后台继续滴答作响,直到达到 0,此时它将变量 B 更改为值 1。

我已经扩展了我原来的模型,认为我可以比较从单击按钮 + 30 秒到再次调用 Activity 的日期时间。但到目前为止,我在 Android 中比较两个日期时间时遇到了困难。

有什么帮助吗?

最佳答案

您可能想要的是在后台运行的异步任务。像这样的东西:

private class JohnnysPollTask extends AsyncTask<Integer, Void, Integer> {
        /**
         * The system calls this to perform work in a worker thread and delivers
         * it the parameters given to AsyncTask.execute()
         */
        protected Integer doInBackground(Integer... millis) {
            try {
                int waited = 0;         
                                int duration = 30000;
                while (waited < duration) {
                    Thread.sleep(1000);
                    waited += 1000;

                    if (waited>=duration) {
                        b=1;
                        break;
                    }
                }
            } catch (InterruptedException e) {
                // do nothing
            }

            return 1;
        }

关于java - 每 30 秒给一个变量赋值 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7397009/

相关文章:

java - 如何判断数组中任意值的总和是否等于n

java - 我需要将 fieldValue 的值分配给 sim Number。在下面编写的代码中将在哪里完成?

eclipse - 在 Eclipse 控制台中显示彩色 log4j 输出

java - 基于模型的 UI 生成(运行时或构建时)

java - Android - 在文件中查找字符串,如果存在则使用 eclipse 获取该行

java - 如何在Java中读取文本文件并拆分它?

java - 使用不可序列化对象将类保存到文件

Android源码编译

java - 访问相机应用程序中的硬件按钮

android - 在 Android Canvas 上绘画的最佳方式