【问题标题】:How to implement a wait function inside my onSensorChanged method如何在我的 onSensorChanged 方法中实现等待功能
【发布时间】:2014-02-08 08:51:29
【问题描述】:

我想要什么:

一旦传感器达到某个值,程序应该等待几秒钟,然后进入一个为真的 while 循环,直到达到某个传感器值。一旦退出 while 循环,其余代码将继续处理并将值存储到某个 sql 数据库中。

我尝试过的:

Threads、Handlers 和 Runnables ...发布代码的尝试次数过多。

我的问题:

while 循环迭代。它总是只运行 1 次。

结果:

没有什么接近我想要的结果

【问题讨论】:

  • 为什么不使用Thread.sleep(1000)
  • 这不是我现在面临的问题。我在我的过程中使用了 time.sleep 两次......一次用于 if 语句(这是一个可运行的),一次在 while 循环内...... while 循环只是另一个从另一个可运行的调用的可运行。 while 循环 runnable 一遍又一遍地调用自己,直到达到另一个值......但现在我无法让 while 循环关闭......它只是永远运行。
  • 我这样做是因为经过 20 次尝试后,我认为最好将我想要在 if 语句之后运行的所有代码现在放入主可运行文件中,因为这是我最接近我想要的目标的尝试。但是,那是几次尝试,我已经忘记了代码的外观。我的娱乐尝试导致 UI 很慢,并且有一个没有结束的 while 循环

标签: java android loops while-loop


【解决方案1】:

您可以强制执行线程休眠几毫秒。例如:

//Condition to sleep occurs
try {
    Thread.sleep(3000);
}
catch (InterruptedException ex) {
    //log
}

这将导致线程在继续执行之前休眠 3 秒(除非被中断)。在 Java 中,线程是一个强大的东西。我将从这里开始:http://docs.oracle.com/javase/tutorial/essential/concurrency/

在我看来,Javadocs 中的并发课程非常棒。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-19
    • 2020-07-01
    • 2020-05-06
    • 2019-04-22
    • 2017-09-13
    • 2016-05-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多