一种车联网内部路由的页面跳转方法及装置与流程

文档序号:32758731发布日期:2022-12-31 09:18阅读:44来源:国知局
一种车联网内部路由的页面跳转方法及装置与流程

1.本发明涉及车联网技术领域,具体涉及一种车联网内部路由的页面跳转方法及装置。


背景技术:

2.车辆自组织网络主要包括车辆与车辆、车辆与路旁设备以及车辆与行人之间的直接或多跳通信,使得在现有道路网中动态、快速构建一个自组织、分布式控制的车辆专用短距离通信网络成为现实。
3.现有的车联网路由实现方法包括:(1)原生跳转方式及使用android(安卓)原生api进行跳转;(2)采用阿里团队技术开源框架arouter(是一款路由框架,这款路由框架可以为应用开发提供更好更丰富的跳转方案,比如支持解析标准url(uniform resource locator,统一资源定位系统)进行跳转,并自动注入参数到目标页面中,支持添加多个拦截器,自定义拦截顺序),将页面进行注册跳转。
4.上述现有技术虽然解决了模块间的平行调用问题,而且采用链式调用,代码简洁,但是在日常使用中,其语句表达不明确;每次需要跳转某一页面(或服务)时,需要填写路径、参数注解别名等,较为繁琐,对于没有此页面业务经验的开发人员,调用较为困难;代码没有统一调用,如修改页面路径,特别是填、删、改参入页面参数时,需要同时检查并修改,增加操作难度,且系统出现问题概率增加。


技术实现要素:

5.因此,本发明要解决的技术问题在于克服现有技术语句表达不准确,没有经验的开发人员调用困难,并且代码没有统一调用的缺陷,从而提供一种车联网内部路由的页面跳转方法及装置。
6.本发明实施例提供了一种车联网内部路由的页面跳转方法,包括:
7.获取业务名称与页面路由导航数据,并以业务名称为开头,页面路由导航数据为结尾构建页面路由接口类;
8.获取接口类方式,并为接口类方式附加目标注解参数,生成路由接口方式;
9.基于页面路由接口类,利用路由接口方式生成接口实现类;
10.对接口实现类进行实例化,生成接口代码;
11.获取目标页面中的映射关系注解,将接口代码与映射关系注解进行匹配,基于匹配结果进行页面跳转。
12.上述一种车联网内部路由的页面跳转方法,通过创建页面路由接口类,并利用路由接口方式生成接口实现类,为页面路由接口类配置路由接口方式,降低了页面跳转的难度,并且为接口类方式附加目标注解参数,使得跳转语义更加明确,易于查找,提高了调用管理的效率,最后利用接口代码进行页面跳转,将原有重复无序的代码转换为链式代码,使得页面跳转过程中代码可以统一调用,降低了调用难度。
13.可选地,目标注解参数,包括:
14.路由信息注解参数和接口方法参数;其中,路由信息注解参数包括页面路径数据。
15.可选地,基于页面路由接口类确定接口类方式,并为接口类方式附加目标注解参数,生成路由接口方式,包括:
16.在接口类方式的顶部附加路由信息注解参数,生成路径方式,在路径方式中附加接口方法参数,生成路由接口方式。
17.可选地,基于页面路由接口类,利用路由接口方式生成接口实现类,包括:
18.基于页面路径数据生成路径生成器;
19.对接口方法参数的类型进行判断,基于判断结果生成数据对象;
20.利用路径生成器将数据对象与页面路由接口类进行绑定,生成接口实现类。
21.可选地,映射关系注解,包括:
22.页面定位路径与业务之间映射关系的类文件。
23.在本技术的第二个方面,还提出了一种车联网内部路由的页面跳转装置,包括:
24.构建模块,用于获取业务名称与页面路由导航数据,并以业务名称为开头,页面路由导航数据为结尾构建页面路由接口类;
25.附加模块,用于获取接口类方式,并为接口类方式附加目标注解参数,生成路由接口方式;
26.生成模块,用于基于页面路由接口类,利用路由接口方式生成接口实现类;
27.实例化模块,用于对接口实现类进行实例化,生成接口代码;
28.跳转模块,用于获取目标页面中的映射关系注解,将接口代码与映射关系注解进行匹配,基于匹配结果进行页面跳转。
29.可选地,目标注解参数,包括:
30.路由信息注解参数和接口方法参数;其中,路由信息注解参数包括页面路径数据。
31.可选地,附加模块,还用于在接口类方式的顶部附加路由信息注解参数,生成路径方式,在路径方式中附加接口方法参数,生成路由接口方式。
32.可选地,生成模块,包括:
33.生成单元,用于基于页面路径数据生成路径生成器;
34.判断单元,用于对接口方法参数的类型进行判断,基于判断结果生成数据对象;
35.绑定单元,用于利用路径生成器将数据对象与页面路由接口类进行绑定,生成接口实现类。
36.可选地,映射关系注解,包括:
37.页面定位路径与业务之间映射关系的类文件。
38.在本技术的第三个方面,还提出了一种计算机设备,包括处理器和存储器,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序,所述处理器被配置用于调用所述计算机程序,执行上述第一方面的方法。
39.在本技术的第四个方面,本发明实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行以实现上述第一方面的方法。
附图说明
40.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
41.图1为本发明实施例1中一种车联网内部路由的页面跳转方法的流程图;
42.图2为本发明实施例1中页面跳转流程图;
43.图3为本发明实施例1中步骤s103的流程图;
44.图4为本发明实施例2中一种车联网内部路由的页面跳转装置的原理框图;
45.图5为本发明实施例2中生成模块43的一个具体示例的原理框图。
具体实施方式
46.下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
47.在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
48.此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
49.实施例1
50.本实施例提供一种车联网内部路由的页面跳转方法,如图1-2所示,包括:
51.s101、获取业务名称与页面路由导航数据,并以上述业务名称为开头,上述页面路由导航数据为结尾构建页面路由接口类。
52.具体的,在车联网app的软件项目中创建的moudle_api模块(业务模块)中,构建业务名称(即业务模块的模块名)开头,navigator(页面路由导航数据)结尾的interface类(页面路由接口类);其中,页面路由接口类为某一模块(例如,moudle_one模块)路由集合类。
53.例如,为moudle_one创建的页面路由接口类的类名为moudleonenavigator。
54.s102、获取接口类方式,并为上述接口类方式附加目标注解参数,生成路由接口方式。
55.其中,上述目标注解参数,包括:路由信息注解参数和接口方法参数;其中,上述路由信息注解参数包括页面路径数据;路由信息注解采用
56.@troute注解,接口方法注解采用@extra注解。
57.具体的,在上述接口类方式的顶部附加路由信息注解参数,生成路径方式,在上述路径方式中附加上述接口方法参数,生成上述路由接口方式。
58.进一步地,在类的function(接口类方式)顶部加入@troute注解,并在此注解后边
的括号当中填入页面path(页面路径,即路由信息注解参数);如页面需要跳转时,需要参数则在function括号中填入参数并在参数前边加入@extra注解。
59.s103、基于上述页面路由接口类,利用上述路由接口方式生成接口实现类。
60.具体的,由于接口方法是不具有方法体的抽象方法,因此,在被实现之前均是无法被调用模块直接调用的,故当前调用接口方法之前需要编写大量用于实现上述接口方法的实现类,一旦软件项目需要频繁更新时,则需要开发人员编写大量的实现类用以实现上述接口,使上述接口能够被调用模块调用;进而本技术使用trouterutil.createapi方法(转换和实例化的方法),将页面路由接口类传入上述路由接口方式中,自动生成一个实现类并将其实例化,具体过程为:trouter(路由信息对象)根据提供的页面路由接口类中的function为实现方法,根据注解@troute提供的页面路径以及@extra(如果有的话)参数,利用arouter的api方法生成接口实现类。
61.s104、对上述接口实现类进行实例化,生成接口代码。
62.具体的,开发者可利用自动生成的接口实现类的实例化,即接口代码,跳转目标页面。
63.s105、获取目标页面中的映射关系注解,将上述接口代码与上述映射关系注解进行匹配,基于匹配结果进行页面跳转。
64.其中,上述映射关系注解,包括:页面定位路径与业务之间映射关系的类文件。
65.具体的,映射关系注解采用@route注解(@route注解路由是从url(uniform resource locator,统一资源定位系统)路径到控制器的映射),在编译时期通过apt(annotation processing tool,注解处理工具)生成一些存储path和activity.class映射关系的类文件,然后车联网应用进程启动的时候加载该类文件,并将页面定位路径与业务之间映射关系保存在map(计算机程序中一种集合的名称)里。
66.进一步地,当页面跳转需要返回结果时,生成器构建与上述接口代码关联的返回函数activitynavigator《t》,返回函数的构建方法包括:接收目标页面发送的返回类型,并通过生成器的实现注解获得上述实现类方法;在实现注解中构建返回值为上述返回类型的返回函数,使返回函数与实现类方法(即接口实现类)关联;上述返回函数用于将上述扫描进程筛选出的响应体转化为上述返回值;进而接收类型信息,将上述类型信息写入上述实现注解的实现方法参数定义项中,用于定义上述实现方法的参数类型。
67.上述一种车联网内部路由的页面跳转方法,通过创建页面路由接口类,并利用上述路由接口方式生成接口实现类,为页面路由接口类配置路由接口方式,降低了页面跳转的难度,并且为接口类方式附加目标注解参数,使得跳转语义更加明确,易于查找,提高了调用管理的效率,最后利用接口代码进行页面跳转,将原有重复无序的代码转换为链式代码,使得页面跳转过程中代码可以统一调用,降低了调用难度。
68.优选地,如图3所示,步骤s103中基于上述目标页面接口数据,利用上述路由接口方式生成接口实现类,包括:
69.s1031、基于上述页面路径数据生成路径生成器。
70.具体的,页面路径数据用arouter生成含有路径的builder(arouter返回的一种生成器)。
71.s1032、对上述接口方法参数的类型进行判断,基于判断结果生成数据对象。
72.具体的,将所有接口方法参数放入一个数组当中,并循环判断每个值的类型,生成数据对象,将数据对象放入bundle(android原生接口,用于传递数据)中。
73.s1033、利用上述路径生成器将上述数据对象与上述页面路由接口类进行绑定,生成上述接口实现类。
74.具体的,利用builder的with函数(即with语句,用于为语句设定默认对象)将上述数据对象与上述页面路由接口类进行绑定,生成含有arouter的api(接口)的方法体的实现类,即接口实现类。
75.实施例2
76.本实施例提供一种车联网内部路由的页面跳转装置,如图4所示,包括:
77.构建模块41,用于获取业务名称与页面路由导航数据,并以上述业务名称为开头,上述页面路由导航数据为结尾构建页面路由接口类。
78.具体的,在车联网app的软件项目中创建的moudle_api模块(业务模块)中,构建业务名称(即业务模块的模块名)开头,navigator(页面路由导航数据)结尾的interface类(页面路由接口类);其中,页面路由接口类为某一模块(例如,moudle_one模块)路由集合类。
79.例如,为moudle_one创建的页面路由接口类的类名为moudleonenavigator。
80.附加模块42,用于获取接口类方式,并为上述接口类方式附加目标注解参数,生成路由接口方式。
81.其中,上述目标注解参数,包括:路由信息注解参数和接口方法参数;其中,上述路由信息注解参数包括页面路径数据;路由信息注解采用@troute注解,接口方法注解采用@extra注解。
82.具体的,在上述接口类方式的顶部附加路由信息注解参数,生成路径方式,在上述路径方式中附加上述接口方法参数,生成上述路由接口方式。
83.进一步地,在类的function(接口类方式)顶部加入@troute注解,并在此注解后边的括号当中填入页面path(页面路径,即路由信息注解参数);如页面需要跳转时,需要参数则在function括号中填入参数并在参数前边加入@extra注解。
84.生成模块43,用于基于上述页面路由接口类,利用上述路由接口方式生成接口实现类。
85.具体的,由于接口方法是不具有方法体的抽象方法,因此,在被实现之前均是无法被调用模块直接调用的,故当前调用接口方法之前需要编写大量用于实现上述接口方法的实现类,一旦软件项目需要频繁更新时,则需要开发人员编写大量的实现类用以实现上述接口,使上述接口能够被调用模块调用;进而本技术使用trouterutil.createapi方法(转换和实例化的方法),将页面路由接口类传入上述路由接口方式中,自动生成一个实现类并将其实例化,具体过程为:trouter(路由信息对象)根据提供的页面路由接口类中的function为实现方法,根据注解@troute提供的页面路径以及@extra(如果有的话)参数,利用arouter的api方法生成接口实现类。
86.实例化模块44,用于对上述接口实现类进行实例化,生成接口代码。
87.具体的,开发者可利用自动生成的接口实现类的实例化,即接口代码,跳转目标页面。
88.跳转模块45,用于获取目标页面中的映射关系注解,将上述接口代码与上述映射关系注解进行匹配,基于匹配结果进行页面跳转。
89.其中,上述映射关系注解,包括:页面定位路径与业务之间映射关系的类文件。
90.具体的,映射关系注解采用@route注解(@route注解路由是从url(uniform resource locator,统一资源定位系统)路径到控制器的映射),在编译时期通过apt(annotation processing tool,注解处理工具)生成一些存储path和activity.class映射关系的类文件,然后车联网应用进程启动的时候加载该类文件,并将页面定位路径与业务之间映射关系保存在map(计算机程序中一种集合的名称)里。
91.进一步地,当页面跳转需要返回结果时,生成器构建与上述接口代码关联的返回函数activitynavigator《t》,返回函数的构建方法包括:接收目标页面发送的返回类型,并通过生成器的实现注解获得上述实现类方法;在实现注解中构建返回值为上述返回类型的返回函数,使返回函数与实现类方法(即接口实现类)关联;上述返回函数用于将上述扫描进程筛选出的响应体转化为上述返回值;进而接收类型信息,将上述类型信息写入上述实现注解的实现方法参数定义项中,用于定义上述实现方法的参数类型。
92.上述一种车联网内部路由的页面跳转装置,上述一种车联网内部路由的页面跳转方法,通过创建页面路由接口类,并利用上述路由接口方式生成接口实现类,为页面路由接口类配置路由接口方式,降低了页面跳转的难度,并且为接口类方式附加目标注解参数,使得跳转语义更加明确,易于查找,提高了调用管理的效率,最后利用接口代码进行页面跳转,将原有重复无序的代码转换为链式代码,使得页面跳转过程中代码可以统一调用,降低了调用难度。
93.优选地,如图5所示,上述生成模块43,包括:
94.生成单元431,用于基于上述页面路径数据生成路径生成器。
95.具体的,页面路径数据用arouter生成含有路径的builder(arouter返回的一种生成器)。
96.判断单元432,用于对上述接口方法参数的类型进行判断,基于判断结果生成数据对象。
97.具体的,将所有接口方法参数放入一个数组当中,并循环判断每个值的类型,生成数据对象,将数据对象放入bundle(android原生接口,用于传递数据)中。
98.绑定单元433,用于利用上述路径生成器将上述数据对象与上述页面路由接口类进行绑定,生成上述接口实现类。
99.具体的,利用builder的with函数(即with语句,用于为语句设定默认对象)将上述数据对象与上述页面路由接口类进行绑定,生成含有arouter的api(接口)的方法体的实现类,即接口实现类。
100.实施例3
101.本实施例提供一种计算机设备,包括存储器和处理器,处理器用于读取存储器中存储的指令,以执行上述任意方法实施例中的一种车联网内部路由的页面跳转方法。
102.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机
可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
103.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
104.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
105.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
106.实施例4
107.本实施例提供一种计算机可读存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的一种车联网内部路由的页面跳转方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)、随机存储记忆体(random access memory,ram)、快闪存储器(flash memory)、硬盘(hard disk drive,缩写:hdd)或固态硬盘(solid-state drive,ssd)等;所述存储介质还可以包括上述种类的存储器的组合。
108.显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1