我正在创建一个Android应用程序,它会在用户移动时生成一些日志记录标记。
我决定创建三个服务。 第一项服务是管理互联网登录,确定命令以获取位置和写入位置。
第二项服务是管理位置数据:从google api转换原始位置数据(进行一些近似和计算),将其放入nolockingqueque并从中提供最后一个样本。
第三项服务是这样的:https://gist.github.com/blackcj/20efe2ac885c7297a676。服务,即获取原始位置数据和提高广播,位置数据已更新。
广播接收器绑定到第二个服务,为他提供位置数据。
我说这种方式太难了,而且不是最好的。 事实上,我在应用程序中需要三件事: 一些带有computedLocationInformation的容器 将从Google服务获取原始位置数据的线程或服务 将使用computedLocationInformation的服务。
你能为这个问题给我更好的架构吗? 谢谢。
答案 0 :(得分:0)
它可以在一个服务中完成。您可以在单个服务中创建三个不同的线程,并且所有三个线程都可以自己完成工作,但这一切都取决于您的逻辑如何管理所有这些操作