【问题标题】:periodically sample data from a bluetooth thread Android定期从蓝牙线程Android采样数据
【发布时间】:2013-06-25 17:13:37
【问题描述】:

我正在使用蓝牙聊天示例从外部传感器传输数据。这工作正常,我收到所有数据。接下来我需要做的是在设定的时间段(例如每 10 毫秒)对接收到的数据进行采样。

谁能建议使用什么来实现这一点以及如何与蓝牙线程交互?

【问题讨论】:

    标签: android bluetooth


    【解决方案1】:

    基本上,您可以通过使用AlarmManager 定期请求数据来实现这一点。 查看以下链接以获取示例:

    Android: How to periodically send location to a server

    【讨论】:

      【解决方案2】:

      如果您的蓝牙线程可以以 10 毫秒的速率进行采样,那么您可以直接使用它。否则,您将需要以 10 毫秒的频率运行新线程。假设数据发送速率的准确性不够高,因此发送线程上的 Thread.sleep() 就足够了,并且需要一些线程间通信 - 有明确定义的模板来完成这项工作。只有其中之一: http://javaprogramming.language-tutorial.com/2012/09/interthread-communication-java.html

      因此,通常您的数据发送线程的睡眠设置为 10 毫秒,蓝牙线程通过上面的模板将其所有内容发送到该发送线程。发送的数据存储在类似队列的缓冲区中,发送线程在发送尝试之间使用 sleep() 将它们一一接收。

      【讨论】:

      • 这个答案完全让我感到困惑。 “以 10 毫秒的频率运行线程”是什么意思?
      猜你喜欢
      • 2015-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-14
      相关资源
      最近更新 更多