其他分享
首页 > 其他分享> > 如何将数据/流从线程实时传递到Android中的活动?

如何将数据/流从线程实时传递到Android中的活动?

作者:互联网

基本上,我所做的就是从两个不同的项目中获取源代码,并将它们拼凑在一起,以尝试创建一个实时绘制蓝牙数据的新应用程序.中间结果显然比我能理解的复杂.我问了一些问题,得到了反馈,做了很多阅读,但是我仍然坚持我所看到的问题:如何将数据从数据采集线程实时获取到绘图活动中?这个问题需要一些解释.

我从Blueterm的源代码开始,这是一个支持SPP / RfComm的蓝牙终端仿真程序.第一步是在我的Android手机上构建并运行Blueterm,并使其与外部蓝牙数据采集设备进行连接和通信.一切顺利-设备数据在屏幕上滚动良好.

接下来,我转到AndroidPlot,并获得了OrientationSensorExample的源代码,并将其添加到我的项目中,以便可以从“选项”菜单开始此活动.这也进行得很好.我的应用程序启动了Orientation Sensor活动,该活动实时绘制Orientation Sensor数据,同时还继续在后台实时从Bluetooth设备获取数据.

我现在想要做的是修改我的应用程序,以便“方向传感器”活动实时绘制蓝牙数据(而不是“方向传感器”数据).使用logcat,我知道一个事实,即定向传感器活动是实时绘制定向传感器数据,并继续在后台实时获取蓝牙数据.

这表明了一种体系结构:当我的应用程序实时绘制方向传感器数据时,有一个后台线程正在继续实时获取蓝牙数据.或另一种看待它的方式:有一个蓝牙活动可以生成/生成/创建/无论后台线程(或只是一个线程)如何继续运行,即使我已经启动了“方向传感器”活动(所有这些都通过logcat观察到) ).

因此问题仍然存在:如何将数据从该后台线程(由Bluetooth活动启动)传递到Orientation Sensor活动中?

解决方法:

您可以将数据设为静态,也可以使用Android框架的Application类.
这样您的后台线程就可以继续更新静态数据,然后您将在Activity中检索该更新后的数据.

标签:multithreading,background,android-activity,real-time,android
来源: https://codeday.me/bug/20191208/2090889.html