安卓系统的导航系统和导航方法技术方案

技术编号:28054150 阅读:26 留言:0更新日期:2021-04-14 13:21
本发明专利技术实施例公开了安卓系统的导航系统和导航方法,该导航系统包括:交互模块,用于进行人机交互;地图模块,用于提供地图信息;路线计算模块,用于根据起始地点和目的地点进行路线计算;导航巡航模块,用于根据用户指令进行导航或巡航;检索模块,用于进行关键词检索;地图数据管理模块,用于进行地图数据管理;通信处理模块,用于分别与其余模块进行通信,除通行管理模块和交互模块外的其余模块之间不直接通信;通信处理模块通过ARouter技术进行模块间路由,并通过EventBus技术进行模块间的事件消息通讯。本发明专利技术可以达到组件化目的,解决模块间耦合高,不易复用的问题。不易复用的问题。不易复用的问题。

【技术实现步骤摘要】
安卓系统的导航系统和导航方法


[0001]本专利技术实施例涉及安卓
,具体涉及安卓系统的导航系统和导航方法。

技术介绍

[0002]在Android软件架构设计中,对于定制化软件,都是使用MVC、MVP、MVVM选择其中一种做为架构模型,根据软件业务实现流程,逐步实现软件功能,模块开发和软件最终实现是合为一体的,很难将模块拆分出来,达不到复用的目的。
[0003]由于软件业务很难拆分出来,导致软件耦合度很高,无法单独剥离某个业务模块进行复用。

技术实现思路

[0004]本专利技术实施例的目的在于提供安卓系统的导航系统和导航方法,用以解决现有安卓导航系统中各个业务模块耦合度高,无法单独剥离某个业务模块进行复用的问题。
[0005]为实现上述目的,本专利技术实施例主要提供如下技术方案:
[0006]第一方面,本专利技术实施例提供了一种安卓系统的导航系统,包括:
[0007]交互模块,用于进行人机交互,使用MVVM架构开发模式,设计UI和业务的解耦,在MVVM中,分为View、ViewModel、Model(View:UI界面;ViewModel:它是View的抽象,负责View与Model之间信息转换,将View的Command传送到Model;Model:数据层);
[0008]地图模块,用于提供地图信息;
[0009]路线计算模块,用于根据起始地点和目的地点进行路线计算;
[0010]导航巡航模块,用于根据用户指令进行导航或巡航;
[0011]检索模块,用于进行关键词检索;
[0012]地图数据管理模块,用于进行地图数据管理;
[0013]通信处理模块,用于分别与所述交互模块、所述地图模块、所述路线计算模块、所述导航巡航模块、所述检索模块和所述地图数据管理模块进行通信;
[0014]其中,所述地图模块、所述路线计算模块、所述导航巡航模块、所述检索模块和所述地图数据管理模块中任意两个模块之间不直接通信,所述通信处理模块通过ARouter技术进行模块间路由,所述通信处理模块通过EventBus技术进行模块间的事件消息通讯。
[0015]在本专利技术一个实施例中,还包括:限行处理模块,用于获取限行信息;
[0016]其中,所述通信处理模块还用于在进行导航或巡航时通过所述限行处理模块获取所述导航或巡航路径上的限行信息。
[0017]在本专利技术一个实施例中,所述通信处理模块还用于进行页面跳转。
[0018]在本专利技术一个实施例中,所述通信处理模块通过在每个实现类中注册路径,所述通信处理模块还用于根据目标路径信息进行各个模块之间的通讯和页面跳转。
[0019]在本专利技术一个实施例中,所述通信处理模块具体用于创建接口类,并所述接口类中定义第一方法;所述通信处理模块还用于创建所述第一方法的实现类;所述通信处理模
块还用于根据所述第一方法的路径找到所述第一方法对应的类,通过实例调用所述第一方法。
[0020]在本专利技术一个实施例中,所述通信处理模块具体用于通过ARouter.build方法根据第一方法的路径找到所述第一方法的SimpleAImpl类,通过实例调用所述第一方法。
[0021]第二方面,本专利技术实施例还提供一种基于第一方面的安卓系统的导航系统的导航方法,包括:
[0022]获取起始地点和目的地点;
[0023]根据所述起始地点和所述目的地点生成至少一条待选导航路线;
[0024]获取所述至少一条待选导航路线的路况信息和交通信息;
[0025]根据所述至少一条待选导航路线的路况信息和交通信息得到所述至少一条待选导航路线的预计通信时间和交通灯信息;
[0026]提供所述至少一条待选导航路线,以及所述至少一条待选导航路线的预计通行时间和交通灯信息。
[0027]在本专利技术的一个实施例中,所述交通信息包括交通灯位置、交通灯数量和限行信息。
[0028]本专利技术实施例提供的技术方案至少具有如下优点:
[0029]本专利技术实施例提供的安卓系统的导航系统和导航方法,每个模块都是单独的Android库项目的二进制归档文件,每个模块内部又在MVVM基础上,通过ARouter和EventBus技术,达到模块独立,模块间不直接引用,间接通讯的方式,达到组件化目的,解决模块间耦合高,不易复用的问题,最终实现一个软件通过组装Android库项目的二进制归档文件的方式,直接实现产品需求。
附图说明
[0030]图1为本专利技术实施例的安卓系统的导航系统的结构框图。
[0031]图2为本专利技术实施例的安卓系统的导航方法的流程图。
具体实施方式
[0032]以下由特定的具体实施例说明本专利技术的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本专利技术的其他优点及功效。
[0033]以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本专利技术。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本专利技术。在其它情况中,省略对众所周知的系统、电路以及方法的详细说明,以免不必要的细节妨碍本专利技术的描述。
[0034]在本专利技术的描述中,需要理解的是,术语“第一”和“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0035]在本专利技术的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”和“连接”应做广义理解,例如可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本专利技术中的具体含义。
[0036]图1为本专利技术实施例的安卓系统的导航系统的结构框图。如图1所示,本专利技术实施
例的安卓系统的导航系统,包括:交互模块100、地图模块200、路线计算模块300、导航巡航模块400、检索模块500、地图数据管理模块600和通信处理模块700。
[0037]其中,交互模块100用于进行人机交互,例如通过文字、语音和图形的方式与用户进行交互。用户可以通过交互模块100设定导航的起始地点和目的地点。本实施例对交互模块使用MVVM架构开发模式,设计UI和业务的解耦,在MVVM中,分为View、ViewModel、Model(View:UI界面;ViewModel:它是View的抽象,负责View与Model之间信息转换,将View的Command传送到Model;Model:数据层)。
[0038]地图模块200用于提供地图信息。
[0039]具体地,地图模块200预存有电子地图,在每次用户打开本导航系统时,可以根据用户的当前位置显示用户附近的地图,还可以根据用户最近一次使用导航系统的最终界面显示附近的地图。其中,用户的当前位置可以通过定位的方式获取,例如GPS定位或北斗定位。用户的当前位置也可以将附近预设距离内具有定位信息的建筑物,以建筑物的定位信息作为用户的当前位置。
[004本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种安卓系统的导航系统,其特征在于,包括:交互模块,用于进行人机交互,所述交互模块采用MVVM做架构开发模式,通过数据变更驱动UI显示的变更,设计UI和业务的解耦;地图模块,用于提供地图信息;路线计算模块,用于根据起始地点和目的地点进行路线计算;导航巡航模块,用于根据用户指令进行导航或巡航;检索模块,用于进行关键词检索;地图数据管理模块,用于进行地图数据管理;通信处理模块,用于分别与所述交互模块、所述地图模块、所述路线计算模块、所述导航巡航模块、所述检索模块和所述地图数据管理模块进行通信;其中,所述地图模块、所述路线计算模块、所述导航巡航模块、所述检索模块和所述地图数据管理模块中任意两个模块之间不直接通信,所述通信处理模块通过ARouter技术进行模块间路由,所述通信处理模块通过EventBus技术进行模块间的事件消息通讯。2.根据权利要求1所述的安卓系统的导航系统,其特征在于,还包括:限行处理模块,用于获取限行信息;其中,所述通信处理模块还用于在进行导航或巡航时通过所述限行处理模块获取所述导航或巡航路径上的限行信息。3.根据权利要求1或2所述的安卓系统的导航系统,其特征在于,所述通信处理模块还用于进行页面跳转。4.根据权利要求3所述的安卓系统的导航系统,其特征在于,所述通信处理模块通过在每...

【专利技术属性】
技术研发人员:尤国宾王予涵
申请(专利权)人:沈阳美行科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1