Android应用程序中的设计建议

时间:2014-03-10 10:01:38

标签: android architecture android-service android-sensors

我正在Android中制作一个应用程序,它应该使用移动传感器(加速度计,GPS)检测,分类和绘制路面异常(坑洼,速度爆破,道路粗糙度/粗糙度等),我需要我对一些设计选择提出了一些建议,因为我对Android开发还不熟悉。

到目前为止,我已经创建了一个后台服务(使用AsyncTask)来读取传感器并将数据存储在缓冲区中。 我需要使用服务提供的数据来执行一些低级别的过滤器和计算,然后我必须将它们用于pothole / speedbump / rugosity / mapping / etc.检测程序。

我想以某种方式模块化/分层这些程序,以便最低级别的过滤器为更高级别的程序提供数据,我喜欢一些关于如何实现这一目标的建议/最佳实践。

我还想知道如何使用后台服务提供的数据(以给定间隔计时器触发的事件,......)?

1 个答案:

答案 0 :(得分:2)

我不是Android专家,但我一直在开发一个结构类似于你的app。为了实现这一目标,我使用实际的长期运行Service进行顶级后台处理和数据管理,启动不同的Threads以执行低级计算和数据采集。

对于通信线程 - >服务,我在服务中注册BroadcastReceiver并从线程广播信息。要传达service->活动,我只是将服务绑定到活动,如“Android API指南”中的“扩展Binder类”中所述。

所以结构是这样的: 活动 - (绑定) - >服务 - (产生多个) - >螺纹

您可以通过直接调用服务和主题中的公共方法以及通过在活动和服务中广播消息并接收它们来自上而下地进行通信。