Android系统基于URI的进程级别路由方法及装置制造方法及图纸

技术编号:18809824 阅读:24 留言:0更新日期:2018-09-01 09:22
本发明专利技术实施例公开一种Android系统基于URI的进程级别路由方法及装置,能实现跨进程的路由。方法包括:S1、第一进程在访问第二进程的数据时,获取所述数据对应的URI;S2、所述第一进程利用预设的ContentResolver查询预设的URI和ContentProvider名称的映射表,得到所述URI对应的ContentProvider名称,获取所述ContentProvider名称对应的ContentProvider中的数据,其中,所述ContentProvider名称对应的ContentProvider属于所述第二进程。

Process level routing method and device based on URI for Android system

The embodiment of the invention discloses a URI-based process-level routing method and device for Android system, which can realize cross-process routing. The method includes: S1, when the first process accesses the data of the second process, it obtains the URI corresponding to the data; S2, the first process queries the mapping table of the default URI and the name of the ContentProvider using the default Content Resolver, obtains the name of the ContentProvider corresponding to the URI, and obtains the corresponding name of the ContentProvider. Data in the Content Provider, where the Content Provider name corresponding to the Content Provider belongs to the second process.

【技术实现步骤摘要】
Android系统基于URI的进程级别路由方法及装置
本专利技术实施例涉及Android领域,具体涉及一种Android系统基于URI的进程级别路由方法及装置。
技术介绍
Android路由是指通过URI(UniformResourceIdentifier,统一资源标识符)实现界面跳转和参数传递,业内的路由方案目前可以做到在代码编译期基于java注解自动收集路由关系,避免了主动注册的麻烦。调用方只需调用路由器router传递URI,由router自动匹配页面,注入参数,并打开目标页面。但是现有技术没有实现跨进程的路由,即不能通过URI访问到另一个进程的数据。
技术实现思路
针对现有技术存在的不足和缺陷,本专利技术实施例提供一种Android系统基于URI的进程级别路由方法及装置。一方面,本专利技术实施例提出一种Android系统基于URI的进程级别路由方法,包括:S1、第一进程在访问第二进程的数据时,获取所述数据对应的URI;S2、所述第一进程利用预设的ContentResolver查询预设的URI和ContentProvider名称的映射表,得到所述URI对应的ContentProvider名称,获取所述ContentProvider名称对应的ContentProvider中的数据,其中,所述ContentProvider名称对应的ContentProvider属于所述第二进程。另一方面,本专利技术实施例提出一种Android系统基于URI的进程级别路由装置,包括:第一获取单元,用于在访问第二进程的数据时,获取所述数据对应的URI;第二获取单元,用于利用预设的ContentResolver查询预设的URI和ContentProvider名称的映射表,得到所述URI对应的ContentProvider名称,获取所述ContentProvider名称对应的ContentProvider中的数据,其中,所述ContentProvider名称对应的ContentProvider属于所述第二进程。第三方面,本专利技术实施例提供一种电子设备,包括:处理器、存储器、总线及存储在存储器上并可在处理器上运行的计算机程序;其中,所述处理器,存储器通过所述总线完成相互间的通信;所述处理器执行所述计算机程序时实现上述方法。第四方面,本专利技术实施例提供一种非暂态计算机可读存储介质,所述存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述方法。本专利技术实施例提供的Android系统基于URI的进程级别路由方法及装置,第一进程在访问第二进程的数据时,首先获取所述数据对应的URI,然后利用预设的ContentResolver查询预设的URI和ContentProvider名称的映射表,得到所述URI对应的ContentProvider名称,获取所述ContentProvider名称对应的ContentProvider中的数据,相较于现有技术,本方案能通过URI实现不同进程之间的数据传递,即实现跨进程的路由,而且使用上更为简单,没有接口的限制,更加灵活。附图说明图1为本专利技术Android系统基于URI的进程级别路由方法一实施例的流程示意图;图2为本专利技术Android系统基于URI的进程级别路由方法另一实施例的流程示意图;图3为本专利技术Android系统基于URI的进程级别路由装置一实施例的结构示意图;图4为本专利技术实施例提供的一种电子设备的实体结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术实施例保护的范围。参看图1,本实施例公开一种Android系统基于URI的进程级别路由方法,包括:S1、第一进程在访问第二进程的数据时,获取所述数据对应的URI;S2、所述第一进程利用预设的ContentResolver查询预设的URI和ContentProvider名称的映射表,得到所述URI对应的ContentProvider名称,获取所述ContentProvider名称对应的ContentProvider中的数据,其中,所述ContentProvider名称对应的ContentProvider属于所述第二进程。本实施例中,所述ContentResolver具体可以调用路由器的API(ApplicationProgrammingInterface,应用程序编程接口),将所述URI传递给所述API,以使所述API查询所述映射表,得到所述URI对应的ContentProvider名称,并返回查询结果。本专利技术实施例提供的Android系统基于URI的进程级别路由方法,第一进程在访问第二进程的数据时,首先获取所述数据对应的URI,然后利用预设的ContentResolver查询预设的URI和ContentProvider名称的映射表,得到所述URI对应的ContentProvider名称,获取所述ContentProvider名称对应的ContentProvider中的数据,相较于现有技术,本方案能通过URI实现不同进程之间的数据传递,即实现跨进程的路由,而且使用上更为简单,没有接口的限制,更加灵活。图2为本专利技术Android系统基于URI的进程级别路由方法另一实施例的流程示意图,参看图2,在前述方法实施例的基础上,在所述S1之前,还可以包括:在编译期,通过扫描包含有路由注解的方法,自动生成所述ContentProvider的java辅助类,并将所述URI和所述ContentProvider名称的对应关系加入预设的映射表。本实施例中,可以理解的是,路由注解用于表明所述方法需要使用的ContentProvider的名称及该ContentProvider对应的URI,通过扫描该路由注解,可以生成该ContentProvider的java辅助类,并将该URI和该ContentProvider的名称的对应关系加入预设的映射表。而在扫描时具体可以利用注解处理器扫描。参看图2,在前述方法实施例的基础上,所述S2,可以包括:所述ContentResolver调用所述java辅助类,将所述ContentProvider名称传递给所述java辅助类;所述java辅助类通过所述ContentProvider名称对应的ContentProvider调用所述第二进程的查找query方法,得到所述查找query方法返回的所述ContentProvider中的数据,并将所述ContentProvider中的数据返回给所述ContentResolver,其中,所述查找query方法用于查找ContentProvider中的数据,并返回查找结果。参看图3,本实施例公开一种Android系统基于URI的进程级别路由装置,包括:第一获取单元1,用于在访问第二进程的数据时,获取所述数据对应的URI;第二获取单元2,用于利用预设的ContentResolver查询预设的URI和ContentProvider名称的映射表,得到所述URI对应本文档来自技高网...

【技术保护点】
1.一种Android系统基于URI的进程级别路由方法,其特征在于,包括:S1、第一进程在访问第二进程的数据时,获取所述数据对应的URI;S2、所述第一进程利用预设的ContentResolver查询预设的URI和ContentProvider名称的映射表,得到所述URI对应的ContentProvider名称,获取所述ContentProvider名称对应的ContentProvider中的数据,其中,所述ContentProvider名称对应的ContentProvider属于所述第二进程。

【技术特征摘要】
1.一种Android系统基于URI的进程级别路由方法,其特征在于,包括:S1、第一进程在访问第二进程的数据时,获取所述数据对应的URI;S2、所述第一进程利用预设的ContentResolver查询预设的URI和ContentProvider名称的映射表,得到所述URI对应的ContentProvider名称,获取所述ContentProvider名称对应的ContentProvider中的数据,其中,所述ContentProvider名称对应的ContentProvider属于所述第二进程。2.根据权利要求1所述的方法,其特征在于,在所述S1之前,还包括:在编译期,通过扫描包含有路由注解的方法,自动生成所述ContentProvider的java辅助类,并将所述URI和所述ContentProvider名称的对应关系加入预设的映射表。3.根据权利要求2所述的方法,其特征在于,所述S2,包括:所述ContentResolver调用所述java辅助类,将所述ContentProvider名称传递给所述java辅助类;所述java辅助类通过所述ContentProvider名称对应的ContentProvider调用所述第二进程的查找query方法,得到所述查找query方法返回的所述ContentProvider中的数据,并将所述ContentProvider中的数据返回给所述ContentResolver,其中,所述查找query方法用于查找ContentProvider中的数据,并返回查找结果。4.一种Android系统基于URI的进程级别路由装置,其特征在于,包括:第一获取单元,用于在访问第二进程的数据时,获取所述数据对应的URI;第二获取单元,用于利用预设的ContentResolver查询预设的URI和ContentProvide...

【专利技术属性】
技术研发人员:陈勇
申请(专利权)人:链家网北京科技有限公司
类型:发明
国别省市:北京,11

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

1