【问题标题】:Android - Architectural DecisionAndroid - 架构决策
【发布时间】:2011-08-23 13:06:01
【问题描述】:

背景

我正在编写一个具有两个不同功能的应用程序。

  1. 加载 GPX 文件并通过指向正确的行进方向和距离来指导用户遵循文件中定义的路线。然后将航路点标记为已到达,并在必要时选择下一个。
  2. 在标准地图小部件上显示路线。

目前的想法

我目前的设计是包含三个选项卡:菜单、位置、地图。其中 menu 用于加载 gpx 文件和修改设置; location 给出当前位置和行进方向;而且 maps 当然是带有路线覆盖的地图小部件。

所以这给出了四个活动(主应用程序和三个选项卡)。

我将需要一些例程来获取当前位置并对其应用逻辑以计算出当前最佳位置。跟踪路线和遇到哪些航路点的另一个例程。我的想法是从主要活动产生两个单独的线程(一个用于位置,一个用于路线跟踪),它们具有可以由任何活动调用的方法,例如获得位置。路线跟踪还应该使用一些回调机制或事件机制来通知 UI 何时到达航点。

这样,用户界面可以在需要时更新,还可以响应位置数据驱动的事件。

问题

这似乎是一组明智的决定,还是有什么我没有考虑过的事情会让我感到惊讶。为手机写作与我平时的工作有很大不同(拥有 UI 会产生很大的变化)。

【问题讨论】:

    标签: java android architecture mobile


    【解决方案1】:

    将位置和路线跟踪逻辑实现为绑定服务可能更有意义,而不是作为由您的一项活动产生的线程。有关如何在应用程序中设置和使用服务的更多信息,请参阅Services guide topic

    除此之外,你的方法对我来说似乎很合理。

    【讨论】:

    • 是的,这很有意义。尤其是定位服务(它的逻辑名称甚至包含服务)。
    猜你喜欢
    • 2011-02-23
    • 2012-12-08
    • 2012-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-17
    • 2012-11-02
    • 2021-12-19
    相关资源
    最近更新 更多