CN117111930A - 车机端地图应用系统及其控制方法、电子设备和存储介质 - Google Patents

车机端地图应用系统及其控制方法、电子设备和存储介质 Download PDF

Info

Publication number
CN117111930A
CN117111930A CN202310988713.2A CN202310988713A CN117111930A CN 117111930 A CN117111930 A CN 117111930A CN 202310988713 A CN202310988713 A CN 202310988713A CN 117111930 A CN117111930 A CN 117111930A
Authority
CN
China
Prior art keywords
component
target
components
vehicle
service
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310988713.2A
Other languages
English (en)
Inventor
刘寅时
王伟明
朱永辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zebred Network Technology Co Ltd
Original Assignee
Zebred Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zebred Network Technology Co Ltd filed Critical Zebred Network Technology Co Ltd
Priority to CN202310988713.2A priority Critical patent/CN117111930A/zh
Publication of CN117111930A publication Critical patent/CN117111930A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本说明书公开了车机端地图应用系统及其控制方法、电子设备和存储介质,涉及智能座舱技术领域,车机端地图应用系统包括:地图服务,是用于提供地图基础能力的本地服务;M个地图应用组件,M个地图应用组件相互独立,N个应用分设于车机端的多个屏幕,M、N均为大于1的整数;M个地图应用组件包括UI组件以及业务组件两类,UI组件提供给N个应用中使用,业务组件提供给UI组件调用,且业务组件通过跨进程调用方式与地图服务进行通信。

Description

车机端地图应用系统及其控制方法、电子设备和存储介质
技术领域
本说明书涉及智能座舱技术领域,尤其涉及一种车机端地图应用系统及其控制方法、电子设备和存储介质。
背景技术
应用开发在手机端与车机端存在比较大的区别。手机端的应用开发强调模块灵活解耦、快速更新迭代。而车机端的应用开发更注重稳定性以及与不同车型之间的适配。地图应用面临多车型适配成本高、功能差异大以及主线代码有大量的车型判断的问题。随着车型线增加主线代码愈发臃肿,无法沉淀为中台能力。如果在车机端的多个屏幕上的不同应用需要使用地图能力,就需要在每个应用中集成相应的业务模块。那么,具有相同业务需求的不同应用就会需要封装相同的业务模块。导致在多个屏幕的不同应用存在重复的能力没有得到复用,且不同应用之间需要复杂的机制来保持数据同步。
发明内容
本说明书实施例通过提供一种车机端地图应用系统及其控制方法、电子设备和存储介质,至少用以解决多个屏幕的不同应用存在重复的能力没有得到复用,且不同应用之间需要复杂的机制来保持数据同步的技术问题。
第一方面,本说明书实施例提供了一种车机端地图应用系统,包括:地图服务,是用于提供地图基础能力的本地服务;M个地图应用组件,所述M个地图应用组件相互独立,所述N个应用分设于所述车机端的多个屏幕,M、N均为大于1的整数;所述M个地图应用组件包括UI组件和业务组件两类,所述UI组件提供给所述N个应用中使用,所述业务组件提供给所述UI组件调用,且所述业务组件通过跨进程调用方式与所述地图服务进行通信。
可选地,每个所述UI组件基于MVVM架构的分层包括:包含各种UI元素的视图层;用于负责处理事件和提供数据的视图模型层,所述UI组件的业务逻辑代码封装在所述视图模型层;以及用于向所述视图模型层提供数据源的数据抽象层,所述数据源来自模拟数据或者与该UI组件对应的业务组件。
可选地,每个所述业务组件的架构包括如下分层:适配层,用于在所述业务组件的组件框架内对业务功能进行扩展;业务逻辑层,用于提供所述业务组件的业务逻辑代码;通信层,封装有IPC客户端接口,所述业务组件通过其通信层与所述地图服务进行跨进程调用方式的通信。
可选地,所述M个地图应用组件集成于所述车机端或者发布于服务器;发布于服务器的地图应用组件,在通过从所述服务器下载所述地图应用组件之后,添加应用对其需要调用的地图应用组件的依赖。
可选地,所述M个地图应用组件被配置为由所述车机端的N个应用共享。
可选地,所述业务组件还提供给至少一个所述应用直接使用。
第二方面,本说明书实施例提供了一种车机端地图应用系统的控制方法,应用于第一方面任一实施方式所述的车机端地图应用系统,所述方法包括:响应于目标应用对目标UI组件的启动指令,从供所述目标UI组件调用的目标业务组件获取所述目标UI组件的初始化数据,所述目标应用为所述N个应用中任意一个,所述目标UI组件为供所述目标应用调用的其中一个UI组件;基于所述初始化数据对所述目标UI组件的视图模型层进行初始化;获取所述目标UI组件的页面资源;基于所述页面资源构建所述目标UI组件的组件页面,并在所述目标应用上展示所述目标UI组件的组件页面。
可选地,在所述从供所述目标UI组件调用的目标业务组件获取所述目标UI组件的初始化数据之前,还包括:检测所述目标应用的自定义目录下是否存在所述目标UI组件的组件配置文件;如果存在,从所述自定义目录下获取所述组件配置文件,并利用所述组件配置文件对所述目标UI组件进行配置重写。
可选地,所述获取所述目标UI组件的页面资源,包括:获取所述目标UI组件的默认页面资源;如果从所述目标应用的自定义目录下读取到所述目标UI组件的定制化页面资源;根据适配规则,对所述默认页面资源中与所述定制化页面资源同类型的资源文件进行替换。
可选地,所述根据适配规则,对所述默认页面资源中与所述定制化页面资源同类型的资源文件进行替换,包括:如果所述定制化页面资源中包括与所述默认页面资源中第一图片文件同名的第二图片文件,以所述第二图片文件替换所述默认页面资源中第一图片文件;如果所述定制化页面资源中包括与所述默认页面资源中第一布局文件同名的第二布局文件,以所述第二布局文件替换所述默认页面资源中第一布局文件;如果所述定制化页面资源中包括与所述默认页面资源中第一主题配置文件同名且键值相同的第二主题配置文件,以所述第二主题配置文件替换所述默认页面资源中第一主题配置文件;如果所述定制化页面资源中包括与所述默认页面资源中第一JSON配置文件同名且键值相同的第二JSON配置文件,以所述第二JSON配置文件中的同名键值替换所述默认页面资源的第一JSON配置文件中对应的键值。
可选地,在所述目标应用上展示所述目标UI组件的组件页面之后,还包括:所述目标UI组件响应于预设事件,调用所述目标业务组件;所述目标业务组件在被调用之后,通过跨进程调用方式与所述地图服务进行通信,获取所述地图服务的反馈数据;所述目标业务组件将所述反馈数据提供给所述目标UI组件;所述目标UI组件基于所述反馈数据驱动所述目标UI组件的组件页面改变。
第三方面,本说明书实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第二方面任一实施方式所述的车机端地图应用系统的控制方法。
第四方面,本说明书实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第二方面任一实施方式所述的车机端地图应用系统的控制方法。
本说明书实施例提供的一个或者多个技术方案,至少具有如下技术效果或者优点:
本说明书实施例提供的技术方案,实现了地图应用系统的基于组件化的分布式架构,将应用中地图功能的模块抽出为独立组件,使得多个屏幕上的不同应用直接调用所需的地图应用组件即可,而不需要每个应用都关注地图功能相关的界面和业务实现,实现了能力复用。而地图应用组件和本地服务的C/S架构保证了多个地图应用组件之间的同步问题。通过地图应用系统的组件化设计极大简化了应用开发,提高了适配开发效率,解决了不同屏幕的应用之间同步状态的问题。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本说明书的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本说明书实施例提供的车机端地图应用系统的架构示意图;
图2为图1中UI组件的架构示意图;
图3为图1中业务组件的架构示意图;
图4为本说明实施例提供的车机端地图应用系统的控制方法的流程图;
图5为本说明书实施例提供的电子设备的结构示意图。
具体实施方式
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本说明书实施例的技术方案做详细的说明,应当理解本说明书实施例以及实施例中的具体特征是对本说明书实施例技术方案的详细的说明,而不是对本说明书技术方案的限定,在不冲突的情况下,本说明书实施例以及实施例中的技术特征可以相互组合。
本说明书实施例提供了一种车机端地图应用系统。图1为本说明书实施例提供的车机端地图应用系统的架构示意图。参考图1所示,本说明书实施例提供的车机端地图应用系统为基于组件化的分布式架构,具体包括地图服务和M个地图应用组件。地图服务是用于提供地图基础能力的本地服务。M个地图应用组件相互独立,N个应用分设于车机端的多个屏幕,M、N均为大于1的整数。其中,M个地图应用组件包括UI组件和业务组件两类。UI组件提供给N个应用直接使用,而业务组件至少提供给UI组件调用,且业务组件通过跨进程调用方式(Inter-Process Communication,IPC)与地图服务进行通信。
在一些实施方式中,M个地图应用组件可以被配置为由车机端的N个应用共享,使得同一地图应用组件可以提供给多个不同的应用使用。业务组件除了提供给UI组件调用,还可以提供给至少一个应用直接使用。同一地图应用组件是否由多个应用共享以及业务组件是否提供给应用直接使用是根据实际需求决定的。
需要说明的是,一个UI组件提供给一个应用使用或者多个不同的应用共享使用,一个业务组件提供给一个UI组件调用或者多个不同的UI组件共享调用,一个业务组件还可以提供给一个或者多个应用直接使用。可以理解的是,业务组件通过跨进程调用方式与地图服务进行通信,以从地图服务获取反馈数据并提供至对应的UI组件,UI组件基于接收到的反馈数据驱动组件页面改变。
通过本说明书实施例实现了地图应用系统的基于组件化的分布式架构,将应用中地图功能的不同业务模块抽出为独立组件。组件是一系列高度模块化的功能单元,里面内聚了地图功能的业务逻辑和UI界面,开发者通过引入组件包依赖后可以快速搭建一个地图功能。多个屏幕上的不同应用直接调用所需的地图应用组件即可,而不需要每个应用都关注地图功能相关的界面和业务实现,专注于业务和界面差异的核心能力沉到组件化的分布式架构中,而地图应用组件和本地服务的C/S架构保证了多个地图应用组件之间的同步问题。
在一些实施方式中,为了实现M个地图应用组件相互独立,可以在默认路径后分别增加M个地图应用组件中每个地图应用组件各自对应的子目录。也就是说,一个地图应用组件对应设置有一个子目录,以使M个地图应用组件的资源目录相互独立。进而,M个地图应用组件之间完全解耦,实现了M个地图应用组件的独立设置。
需要说明的是,本说明书实施例中N个应用是仪表屏、中控屏、副驾屏以及功能操作屏等车辆的多个屏幕上设置的需要使用地图能力的应用。UI组件是继承自View的地图widget组件(从widget组件衍生得到)。View可以理解为视图,且是所有的widgets组件的基类Widget,可让用户在主屏幕界面及时了解程序显示的重要信息。UI组件可以包括导航组件、渲染组件、搜索组件以及定位组件等等组件。
参考图2所示,在本说明书的一些实施方式中,UI组件基于MVVM架构的分层可以包括视图层(View)、视图模型层(ViewModel)和数据抽象层。其中,视图层(View)包含各种UI元素;视图模型层(ViewModel)用于负责处理事件和提供数据;数据抽象层用于向视图模型层(ViewModel)提供数据源。其中,数据源来自模拟数据或者与该UI组件对应的业务组件。
MVVM是Model-View-ViewModel的简写,是将其中的View的状态和行为抽象化,视图UI和业务逻辑分开的一种架构设计。UI组件的业务逻辑代码封装在视图模型层(ViewModel)里面,用于将视图层(View)的数据进行处理,还用于将数据抽象层提供的数据源进行处理之后返回给视图层(View)。视图层(View)绑定视图模型层(ViewModel)后可直接在对应的xml(Extensible Markup Language,可扩展标记语言)上使用视图模型层(ViewModel)里面的属性和方法。视图层包含的各种UI元素包括按钮、列表框、进度条、图片显示等等。可以理解的是,UI组件在组件框架内支持数据、Theme(theme中包含的是程序的属性)和事件、资源这三个层面支持扩展。
在本说明实施例中,业务组件的组件框架内封装有地图基础能力和结合业务扩展出的业务功能,业务组件用于将地图服务的基础能力提供给应用和UI组件使用。
参考图3所示,在本说明书的一些实施方式中,业务组件的架构分层包括:适配层,用于在该业务组件的组件框架内对业务功能进行扩展;业务逻辑层,用于提供该业务组件的业务逻辑代码;通信层,封装有IPC客户端接口,业务组件通过其通信层与地图服务进行跨进程调用方式的通信。
M个地图应用组件可以是集成于车机端或者发布于服务器的,这里的服务器可以是NPM(NodePackage Manager,Node包管理器)服务器。如果是集成于车机端的地图应用组件,可以在运行环境(运行环境是UI组件和业务组件在系统中运行依赖的系统环境,包含framework和地图服务两个模块)下直接使用。如果是发布于服务器的地图应用组件,在通过从服务器下载该地图应用组件之后,添加应用对其需要调用的地图应用组件的依赖,就可以在运行环境下使用该地图应用组件了。可以看出,通过独立设置的地图应用组件可以灵活使用。开发者可以根据不同场景选择SDK(Software Development Kit,软件开发工具包)中对应的组件进行开发,大大降低了从零开发的门槛。
基于同一发明构思,本说明书实施例还提供了一种车机端地图应用系统的控制方法,车机端地图应用系统参考前述实施例。图4为本说明实施例提供的车机端地图应用系统的控制方法的流程图。参考图4所示,本说明书实施例提供的车机端地图应用系统的控制方法,包括启动UI组件时对UI组件初始化的过程,具体如下步骤S101~S104:
S101、响应于目标应用对目标UI组件的启动指令,从供目标UI组件调用的目标业务组件获取目标UI组件的初始化数据,目标应用为N个应用中任意一个,目标UI组件为供目标应用调用的其中一个UI组件。
S102、基于初始化数据对目标UI组件的视图模型层进行初始化。
S103、获取目标UI组件的页面资源。
S104、基于页面资源构建目标UI组件的组件页面,并在目标应用上展示目标UI组件的组件页面。
在一些实施方式中,目标UI组件的组件配置提供了定制化能力,可以对目标UI组件的组件配置进行扩展:响应于目标应用对目标UI组件的启动指令,检测目标应用的自定义目录下是否存在目标UI组件的组件配置文件。如果目标应用的自定义目录下存在目标UI组件的组件配置文件,从目标应用的自定义目录下获取组件配置文件,并利用该组件配置文件对目标UI组件进行配置重写。在配置重写之后,从供目标UI组件调用的目标业务组件获取目标UI组件的初始化数据。如果目标应用的自定义目录下不存在目标UI组件的组件配置文件,则直接从供目标UI组件调用的目标业务组件获取目标UI组件的初始化数据。
在一些实施方式中,还可以对目标UI组件的属性和事件进行重写。响应于目标应用对目标UI组件的启动指令,检测是否需要对目标UI组件的属性和事件的重写;如果需要,通过中间件对目标UI组件的属性和事件进行重写。
需要说明的是,目标UI组件的属性是该组件的一些特性,事件绑定在组件上,当目标UI组件达到所绑定事件的触发条件时,会触发执行业务逻辑代码,以实现视图层和视图模型层之间的交互。可以理解的是,对目标UI组件的属性和事件进行重写可以是在初始化目标UI组件的视图模型层之后,且获取目标UI组件的页面资源之前。
如果不需要进行属性和事件的重写,则在对目标UI组件的视图模型层进行初始化就进入初始化视图层的过程:获取主页面的页面资源,根据主页面的页面资源构建目标UI组件的组件页面,并在目标应用展示目标UI组件的组件页面。
可以理解的是,目标UI组件的组件页面可以是单套布局和多套布局的动态切换。
在一些实施方式中,获取的目标UI组件的页面资源可以仅包括默认页面资源。各个产品线样式存在很大的差别,需要对各个UI组件的页面资源进行适配。因此,在另一些实施方式中,还可以提供对目标UI组件的页面资源的定制化能力。在获取目标UI组件的默认页面资源之后,检测目标应用的自定义目录下是否存在目标UI组件的定制化页面资源;如果存在目标UI组件的定制化页面资源,使用定制化页面资源对目标UI组件的页面资源进行适配,使用适配之后的页面资源构建目标UI组件的组件页面;如果不存在定制化页面资源,则使用默认页面资源构建目标UI组件的组件页面。
UI组件扩展了资源读取机制,来保证各个车型适配的准确性和便捷性。如果从目标应用的自定义目录下读取到目标UI组件的定制化页面资源;根据适配规则,对默认页面资源中与定制化页面资源同类型的资源文件进行替换。
可以理解的是,适配规则由资源类型决定。每个UI组件的默认页面资源包括:布局文件、图片文件以及各种页面配置文件资源类型,页面配置文件包括:主题配置文件、JSON(JavaScript Object Notation,JS对象简谱)配置文件等等,任意一种资源类型都可以进行自定义。对于布局文件和图片文件这些类型的页面资源,只需要在目标应用的自定义目录下放置同名资源,就可以快速替换系统中默认的图片文件、布局文件;对于各种页面的配置文件,在同名文件中指定相同的key值,就可以快速替换系统中默认的配置文件。因此,根据适配规则,对默认页面资源中与定制化页面资源同类型的资源文件进行替换的步骤包括:如果定制化页面资源中包括与默认页面资源中第一图片文件同名的第二图片文件,以第二图片文件替换默认页面资源中第一图片文件;如果定制化页面资源中包括与默认页面资源中第一布局文件同名的第二布局文件,以第二布局文件替换默认页面资源中第一布局文件;如果定制化页面资源中包括与默认页面资源中第一主题配置文件同名且键值相同的第二主题配置文件,以第二主题配置文件替换默认页面资源中第一主题配置文件;如果定制化页面资源中包括与默认页面资源中第一JSON配置文件同名且键值相同的第二JSON配置文件,以第二JSON配置文件中的同名键值替换默认页面资源的第一JSON配置文件中对应的键值。
构建目标UI组件的组件页面,包括:使用获取的页面资源构建页面布局以及添加主题和图片之后,进行目标UI组件的页面渲染。
在一些实施方式下,在目标应用上展示目标UI组件的组件页面之后,还包括:目标UI组件响应于预设事件,调用目标业务组件;目标业务组件在被调用之后,通过跨进程调用方式与地图服务进行通信,获取地图服务的反馈数据;目标业务组件将反馈数据提供给目标UI组件;目标UI组件基于反馈数据驱动目标UI组件的组件页面改变。
在一些实施方式中,响应于对目标应用的点击事件,目标应用引用M个地图应用组件中与点击事件对应的目标UI组件和目标业务组件。
下面以点击事件为例,对UI组件、业务组件以及地图服务之间的关系和调用流程进行描述,便于理解三者之间的关系:
响应于某一屏幕上的某一应用内启动的某一UI组件A的点击事件,UI组件A的页面响应于该点击事件,触发对该点击事件的定义并发起对UI组件A的抽象数据层的接口请求,UI组件A的抽象数据层响应于该接口请求,调用对应业务组件B的组件接口,以使业务组件B的组件接口向其通信层的IPC客户端接口发起请求,以使该通信层向地图服务发起IPC请求,地图服务响应于该IPC请求,向业务组件B的通信层回调IPC数据,业务组件B的业务逻辑层对回调的IPC数据进行处理,将处理结果回调给调用该业务组件B的UI组件A,以使该UI组件A通过进行状态定义和数据定义,以改变UI组件A的状态和数据。而通过改变数据驱动该UI组件A的页面改变。
通过本说明书实施例,实现了地图的本地服务和应用界面之间的分离,地图不需要应用层界面可以开机独立运行,保证了稳定性和安全性,解决了多进程业务的同步问题。业务模块抽成带有资源包的独立组件,相比普通插件使用起来方便。基于组件默认的资源和扩展出来的能力,可以最大程度的适配扩展,核心能力得到沉淀。由于使用组件化的分布式架构,而组件使用灵活。
基于同一发明构思,本说明书实施例还提供了一种电子设备。图5为本说明书实施例提供的电子设备的结构示意图。如图5所示,该电子设备包括存储器504、处理器502及存储在存储器504上并可在处理器502上运行的计算机程序,处理器502执行所述计算机程序时实现前述车机端地图应用系统的控制方法。
其中,在图5中,总线架构(用总线500来代表),总线500可以包括任意数量的互联的总线和桥,总线500将包括由处理器502代表的一个或多个处理器和存储器504代表的存储器的各种电路衔接在一起。总线500还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路衔接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口505在总线500和接收器501和发送器503之间提供接口。接收器501和发送器503可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器502负责管理总线500和通常的处理,而存储器504可以被用于存储处理器502在执行操作时所使用的数据。
基于同一发明构思,本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述车机端地图应用系统的控制方法。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本说明书的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本说明书范围的所有变更和修改。
显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。

Claims (13)

1.一种车机端地图应用系统,其特征在于,包括:
地图服务,是用于提供地图基础能力的本地服务;
M个地图应用组件,所述M个地图应用组件相互独立,所述N个应用分设于所述车机端的多个屏幕,M、N均为大于1的整数;
所述M个地图应用组件包括UI组件和业务组件两类,所述UI组件提供给所述N个应用中使用,所述业务组件提供给所述UI组件调用,且所述业务组件通过跨进程调用方式与所述地图服务进行通信。
2.如权利要求1所述的车机端地图应用系统,其特征在于,每个所述UI组件基于MVVM架构的分层包括:
包含各种UI元素的视图层;
用于负责处理事件和提供数据的视图模型层,所述UI组件的业务逻辑代码封装在所述视图模型层;以及
用于向所述视图模型层提供数据源的数据抽象层,所述数据源来自模拟数据或者与该UI组件对应的业务组件。
3.如权利要求1所述的车机端地图应用系统,其特征在于,每个所述业务组件的架构包括如下分层:
适配层,用于在所述业务组件的组件框架内对业务功能进行扩展;
业务逻辑层,用于提供所述业务组件的业务逻辑代码;
通信层,封装有IPC客户端接口,所述业务组件通过其通信层与所述地图服务进行跨进程调用方式的通信。
4.如权利要求1所述的车机端地图应用系统,其特征在于,所述M个地图应用组件集成于所述车机端或者发布于服务器;
发布于服务器的地图应用组件,在通过从所述服务器下载所述地图应用组件之后,添加应用对其需要调用的地图应用组件的依赖。
5.如权利要求1所述的车机端地图应用系统,其特征在于,所述M个地图应用组件被配置为由所述车机端的N个应用共享。
6.如权利要求5所述的车机端地图应用系统,其特征在于,所述业务组件还提供给至少一个所述应用直接使用。
7.一种车机端地图应用系统的控制方法,应用于如权利要求1-6中任一项所述的车机端地图应用系统,其特征在于,所述方法包括:
响应于目标应用对目标UI组件的启动指令,从供所述目标UI组件调用的目标业务组件获取所述目标UI组件的初始化数据,所述目标应用为所述N个应用中任意一个,所述目标UI组件为供所述目标应用调用的其中一个UI组件;
基于所述初始化数据对所述目标UI组件的视图模型层进行初始化;
获取所述目标UI组件的页面资源;
基于所述页面资源构建所述目标UI组件的组件页面,并在所述目标应用上展示所述目标UI组件的组件页面。
8.如权利要求7所述的方法,其特征在于,在所述从供所述目标UI组件调用的目标业务组件获取所述目标UI组件的初始化数据之前,还包括:
检测所述目标应用的自定义目录下是否存在所述目标UI组件的组件配置文件;
如果存在,从所述自定义目录下获取所述组件配置文件,并利用所述组件配置文件对所述目标UI组件进行配置重写。
9.如权利要求7所述的方法,其特征在于,所述获取所述目标UI组件的页面资源,包括:
获取所述目标UI组件的默认页面资源;
如果从所述目标应用的自定义目录下读取到所述目标UI组件的定制化页面资源;
根据适配规则,对所述默认页面资源中与所述定制化页面资源同类型的资源文件进行替换。
10.如权利要求9所述的方法,其特征在于,所述根据适配规则,对所述默认页面资源中与所述定制化页面资源同类型的资源文件进行替换,包括:
如果所述定制化页面资源中包括与所述默认页面资源中第一图片文件同名的第二图片文件,以所述第二图片文件替换所述默认页面资源中第一图片文件;
如果所述定制化页面资源中包括与所述默认页面资源中第一布局文件同名的第二布局文件,以所述第二布局文件替换所述默认页面资源中第一布局文件;
如果所述定制化页面资源中包括与所述默认页面资源中第一主题配置文件同名且键值相同的第二主题配置文件,以所述第二主题配置文件替换所述默认页面资源中第一主题配置文件;
如果所述定制化页面资源中包括与所述默认页面资源中第一JSON配置文件同名且键值相同的第二JSON配置文件,以所述第二JSON配置文件中的同名键值替换所述默认页面资源的第一JSON配置文件中对应的键值。
11.如权利要求9所述的方法,其特征在于,在所述目标应用上展示所述目标UI组件的组件页面之后,还包括:
所述目标UI组件响应于预设事件,调用所述目标业务组件;
所述目标业务组件在被调用之后,通过跨进程调用方式与所述地图服务进行通信,获取所述地图服务的反馈数据;
所述目标业务组件将所述反馈数据提供给所述目标UI组件;
所述目标UI组件基于所述反馈数据驱动所述目标UI组件的组件页面改变。
12.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求7-11中任一项的车机端地图应用系统的控制方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求7-11中任一项所述的车机端地图应用系统的控制方法。
CN202310988713.2A 2023-08-07 2023-08-07 车机端地图应用系统及其控制方法、电子设备和存储介质 Pending CN117111930A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310988713.2A CN117111930A (zh) 2023-08-07 2023-08-07 车机端地图应用系统及其控制方法、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310988713.2A CN117111930A (zh) 2023-08-07 2023-08-07 车机端地图应用系统及其控制方法、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN117111930A true CN117111930A (zh) 2023-11-24

Family

ID=88794076

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310988713.2A Pending CN117111930A (zh) 2023-08-07 2023-08-07 车机端地图应用系统及其控制方法、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN117111930A (zh)

Similar Documents

Publication Publication Date Title
CN104090749B (zh) 一种WinCE产品界面主题更新变换处理方法及系统
US9536023B2 (en) Code generation for using an element in a first model to call a portion of a second model
US9934005B2 (en) Dynamically building locale objects or subsections of locale objects based on historical data
US20030160822A1 (en) System and method for creating graphical user interfaces
CN105677421B (zh) 一种移动终端的桌面启动器的定制方法及系统
CN112764756B (zh) 软件资源编译方法及其相应的装置、设备、介质
CN108182070B (zh) 定制安卓系统rom的方法、装置及终端设备
US9141353B2 (en) Dynamically building locale objects at run-time
CN111580804B (zh) 一种软件项目开发的方法和装置
CN115586896B (zh) 基于模板引擎的页面项目开发方法、设备及存储介质
CN117111930A (zh) 车机端地图应用系统及其控制方法、电子设备和存储介质
CN111158684B (zh) 系统创建方法、装置、电子设备及可读存储介质
US20070220436A1 (en) Data templates in user interface elements
CN110599112A (zh) 一种网络页面开发、维护方法和装置
US7634721B1 (en) Composite component architecture using javaserver pages (JSP) tags
CN114026540A (zh) 用于支持和协商跨多个产品的多个api版本的系统和方法
CN111857657B (zh) 活动创建方法、装置、存储介质及计算机设备
WO2024017278A1 (en) Method, device and program carrier for cross-platform porting of applications
CN118819710A (zh) 一种技术组件的切换方法、装置、电子设备及存储介质
CN112328213B (zh) 一种在线软件开发过程的隔离方法、设备及介质
CN117707646A (zh) 一种低代码引擎的处理方法、装置、设备以及存储介质
CN118312170A (zh) 生成应用程序包的方法、装置、可读介质及电子设备
US9778917B2 (en) Dynamically building subsections of locale objects at run-time
CN117435262A (zh) 组件动态加载方法、装置、电子设备及存储介质
CN117251140A (zh) 多层级可动态扩展的软件处理方法、系统、芯片及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination