基本上,我所做的就是从两个不同的项目中获取源代码,并将它们拼凑在一起,以尝试创建一个实时绘制蓝牙数据的新应用程序。中间结果显然比我能理解的复杂。我问了一些问题,得到了反馈,做了很多阅读,但我仍然坚持我所认为的问题:如何将数据从数据采集线程实时获取到绘图 Activity 中?这个问题需要一些解释。
我从Blueterm的源代码开始,它是一个支持SPP/RfComm的蓝牙终端仿真程序。第一步是在我的Android手机上构建并运行Blueterm,并使其与外部蓝牙数据采集设备进行连接和通信。一切顺利-设备数据在屏幕上滚动良好。
接下来,我转到AndroidPlot并获得了OrientationSensorExample的源代码,并将其添加到我的项目中,以便可以从“选项”菜单启动此 Activity 。这也进行得很好。我的应用程序启动了“定向传感器” Activity ,该 Activity 实时绘制“定向传感器”数据,同时还在后台继续实时从蓝牙设备获取数据。
我现在想做的是修改我的应用程序,以便“方向传感器” Activity 实时绘制蓝牙数据(而不是“方向传感器”数据)。使用logcat,我知道一个事实,即定向传感器 Activity 是实时绘制定向传感器数据,并继续在后台实时获取蓝牙数据。
这表明了一种体系结构:当我的应用程序实时绘制方向传感器数据时,有一个后台线程正在继续实时获取蓝牙数据。或者以另一种方式查看它:有一个蓝牙 Activity 可以生成/生成/创建/无论后台线程(或只是一个线程)如何继续运行,即使我已经启动了“方向传感器” Activity 之后(所有这些 Activity 都通过logcat观察到了) )。
因此问题仍然存在:如何将数据从该后台线程(由Bluetooth Activity 启动)传递到Orientation Sensor Activity 中?
最佳答案
您可以将数据设为静态,也可以使用Android框架的Application类。
这样您的后台线程就可以继续更新静态数据,然后您将在“ Activity ”中检索该更新后的数据。