定期从蓝牙线程Android中采样数据

时间:2013-06-25 08:36:30

标签: android bluetooth

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

任何人都可以建议使用什么以及如何与蓝牙线程进行交互?

2 个答案:

答案 0 :(得分:1)

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

Android: How to periodically send location to a server

答案 1 :(得分:0)

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

所以一般来说,你有数据发送线程,睡眠设置为10毫秒,蓝牙线程通过上面的模板发送它对此发送线程的任何东西。发送的数据存储在队列相似的缓冲区中,并且发送线程在发送尝试之间一个接一个地使用sleep()。