CN113761427A - 自适应生成卡片的方法、终端设备和服务器 - Google Patents
自适应生成卡片的方法、终端设备和服务器 Download PDFInfo
- Publication number
- CN113761427A CN113761427A CN202010495049.4A CN202010495049A CN113761427A CN 113761427 A CN113761427 A CN 113761427A CN 202010495049 A CN202010495049 A CN 202010495049A CN 113761427 A CN113761427 A CN 113761427A
- Authority
- CN
- China
- Prior art keywords
- card
- style
- file
- component
- electronic device
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供了一种自适应生成卡片样式的方法及终端设备,终端设备可以是手机、平板电脑、可穿戴设备、车载设备等,该方法根据终端设备类型、设备版本、操作***版本等多个维度提供多套标准组件和标准样式,在卡片开发过程中基于卡片源文件和差异化的样式文件进行重新编译,生成不同样式的卡片;或者,基于卡片样式缓存机制,卡片引擎缓存本设备需要的目标样式文件,再通过目标样式文件替换原有样式文件,通过重编译、渲染,为用户呈现符合当前设备和***的卡片样式。以上方法可以满足不同设备对卡片样式差异化的要求,实现了一次开发和多端分发的目的,消除服务生态拓展的阻碍,提升终端设备体验的灵活性。
Description
技术领域
本申请涉及电子技术领域,尤其涉及一种自适应生成卡片的方法、终端设备和服务器。
背景技术
卡片是一种新的服务展示技术,广泛应用于泛终端设备上做服务内容展示。例如卡片可以嵌入各种超级APP或交互场景中,更好的满足用户需求,提供智慧化服务能力。在当前的生态开放***中,已将卡片作为一种服务,可以基于Javascript(JS)技术实现,由开发者自行开发上架到服务器,由服务器进行统一管理和分发。例如,服务器可以包括华为快服务智慧平台(HUAWEI Ability Gallery,HAG)等。
随着各种不同的终端设备的操作***的升级,不同操作***的卡片样式规范会有频繁的调整。卡片样式调整后,需要开发者或者内容提供商(content provider,CP)对卡片样式进行对应的调整,并重新上架再分发给用户。此外,对于同一个服务卡片(如天气卡片),在手机、平板等不同的终端设备或者不同操作***的样式不同。
CP在卡片开发过程中,不但要考虑不同的终端设备、不同操作***对卡片样式的差异化要求,还要兼顾卡片样式在新旧操作***的兼容逻辑,当前的卡片样式更新的机制约束了卡片生态的发展,极大的增加了CP开发卡片的难度,降低了服务效率,提升了生态推广的难度。
发明内容
本申请提供一种自适应生成卡片的方法、终端设备和服务器,该方法可以满足不同设备对卡片样式差异化的要求,实现了一次开发和多端分发的目的,消除服务生态拓展的阻碍,提升终端设备体验的灵活性。
第一方面,提供了一种生成卡片的方法,应用于包括电子设备和服务器的***,该服务器存储有一个或多个卡片的源文件,该方法包括:电子设备向该服务器发送第一卡片文件的请求消息,该第一卡片文件的请求消息包括第一卡片的标识信息和该电子设备的参数信息;服务器根据该第一卡片的标识信息,确定该第一卡片的源文件,以及根据该电子设备的参数信息,从一个或多个卡片样式文件中确定目标样式文件;服务器根据该第一卡片的源文件和该目标样式文件,生成该第一卡片文件;服务器向该电子设备发送该第一卡片文件;电子设备基于该第一卡片文件,显示该第一卡片。
应理解,服务器存储有一个或多个卡片的源文件,卡片的源文件是开发者开发的UX文件,第一卡片文件是该UX文件经过编译后的JS文件。在该实现过程中,开发者将卡片源文件(UX文件)上传到服务器进行托管。换言之,可以同时上传卡片源文件(UX)和编译后的卡片文件到服务器侧。
此外,本申请实施例为开发者提供一种卡片布局组件的示例,该布局组件的示例标准规范规定了多种标准组件,例如容器组件、图片组件、图片墙组件、布局组件、标签组件、开关组件、按钮组件、搜索组件、列表组件、文本框组件和评分组件等,每种组件可以实现调整字体类型,实现和终端设备的操作***统一;或者,还可以调整字体大小,例如将字体大小与终端设备的操作***字体进行等比例调整、或者一定比例的缩小、放大等;又或者,可以对卡片进行镜像布局、栅格化处理等。
再者,***维护人员可以根据设备类型、设备版本、操作***版本、应用、应用版本、组件类型等多个维度开发多套样式文件,并将多套样式文件上传到服务器进行保存和管理。示例性的,本申请实施例为开发者提供一种卡片样式的示例,该卡片样式的示例为开发者提供了多种卡片样式。该多套样式文件可以提供卡片镜像布局的转化能力,支持每一种组件样式的统一刷新。当某一个组件样式被修改后,所有引用该样式的组件都统一修改为新的样式。以及卡片样式可以根据操作***的版本进行适配等功能。
上述生成卡片文件的过程,基于卡片的源文件,根据终端设备类型、设备版本、操作***版本、应用、应用版本、组件类型等多个维度生成多套样式文件,再根据卡片源文件和多套样式文件,通过重编译机制,一个卡片源文件编译出多套不同的卡片文件。其中,每个卡片文件可以适用于不同样式要求的终端设备。在用户请求卡片服务过程中,对于同一个卡片服务,建立不同的卡片分发机制,可以根据终端设备类型、设备版本、操作***版本、应用、应用版本、组件类型等要求,分发不同的卡片文件,以适配不同的终端设备。
以上过程可以理解为在开发卡片过程中,基于卡片的源文件,将不同的多套样式文件结合卡片的源文件进行重编译,生成不同样式的卡片,以满足不同的终端设备对卡片样式的差异化要求。此外,该过程可以减轻开发者的开发负担和任务,对于不同的终端设备,可以在卡片开发阶段就适配不同的卡片样式,实现了一次开发和多端分发的目的,消除服务生态拓展的阻碍,提升终端设备体验的灵活性。
结合第一方面,在第一方面的某些实现方式中,当该电子设备检测到用户调用该第一卡片的操作时,该电子设备向该服务器发送该第一卡片文件的请求消息;或者当该电子设备匹配到预设场景时,该电子设备向该服务器发送该第一卡片文件的请求消息,该预设场景包括用户待完成的行程、会议安排、事件提醒中的至少一种。
一种可能的实现方式中,终端设备可以将意图事件发送给服务器。具体地,意图事件可以包括用户主动意图和/或卡片所包含的场景信息等。其中,用户主动意图可以理解为用户通过一定的操作请求某个卡片,此时可以出发终端设备向服务器发送请求卡片文件的消息。
另一种可能的实现方式中,意图还可以包括终端设备自动匹配的用户当前有未完成的时间信息,例如终端设备检测到用户有未完成的行程、会议安排、事件提醒中的至少一种时,此时可以出发终端设备向服务器发送请求卡片文件的消息。
或者,意图还可以是根据终端设备上安装的多个应用之间的交互确定的。示例性的,当用户通过航班动态购买了机票,用户的行程等航班信息以短信息的方式方到终端设备,终端设备检测到相关信息后,告诉给终端设备的智能情景应用,从而触发智能情景应用向服务器请求航班动态卡片,最终显示在负一屏上供用户查看。
结合第一方面和上述实现方式,在第一方面的某些实现方式中,第一卡片文件包括根组件和一个或多个适配组件,该电子设备基于该第一卡片文件,显示该第一卡片,包括:根组件获取该第一卡片对应的第一应用的样式和该电子设备的操作***的样式;根组件根据该第一应用的样式和该电子设备的操作***的样式,确定该根组件的组件样式规则,该组件样式规则包括该根组件的字体、字体大小和栅格布局中的至少一种;根组件通知该一个或多个适配组件该第一应用的样式和该电子设备的操作***的样式;一个或多个适配组件中的每个适配组件分别根据该第一应用的样式和该电子设备的操作***的样式,修改组件样式规则,该组件样式规则包括每个适配组件的字体、字体大小和栅格布局中的至少一种;基于该根组件的组件样式规则和该一个或多个适配组件中的每个适配组件的组件样式规则,显示该第一卡片。
示例性的,Container组件作为所有其他适配组件的根组件,可以监听终端设备的操作***样式的变更,监听用户修改字体的事件、终端设备横竖屏的变化事件、折叠屏的变化事件、终端设备语言环境的变化事件等。终端设备发生的所有变化都可以由Container组件监听调度,并通过消息的方式告知其他适配组件,其他适配组件可以监听Container组件的消息通知,调整自身样式,例如字体、宽度、高度等,适配终端设备发生的变化,实现和终端设备的操作***统一;或者,还可以调整字体大小,例如将字体大小与终端设备的操作***字体进行等比例调整、或者一定比例的缩小、放大等。
结合第一方面和上述实现方式,在第一方面的某些实现方式中,第一卡片文件包括根组件和一个或多个适配组件,当该电子设备的状态变化时,该方法还包括:根组件获取该电子设备的状态变化事件,该电子设备的状态变化事件包括***字体变化和/或该电子设备的屏幕状态变化;根组件根据该电子设备的状态变化事件,修改该根组件的组件样式规则,该组件样式规则包括该根组件的字体、字体大小和栅格布局中的至少一种;根组件通知该一个或多个适配组件该电子设备的状态变化事件;一个或多个适配组件中的每个适配组件分别根据该电子设备的状态变化事件修改组件样式规则,其中,该组件样式规则包括每个适配组件的字体、字体大小和栅格布局中的至少一种。
示例性的,当终端设备的屏幕状态发生变化时,如横屏和竖屏的变化、屏幕折叠和展开的变化等,本申请实施例提供的标准组件还可以根据栅格公式自动压缩或扩张组件,以调整长宽比例。
应理解,在本申请实施例中,终端设备的屏幕状态的改变可以是用户通过手机设置等入口修改引发的,例如用户设置在大屏手机上的仅部分区域显示手机界面等;或者,终端设备的屏幕状态的改变也可以是自发进行,例如,手机的加速度传感器和重力传感器检测到手机发生翻转,从而确定屏幕发生横屏、竖屏之间的切换,或者具有折叠屏的手机的展开和折叠状态等,导致手机的屏幕状态的改变,本申请实施例对终端设备的屏幕状态改变的方式不做限定。
一种可能的实现方式中,可以将以上列举的组件总体分大、中、小3个尺寸等级,每一种尺寸等级对应不同的组件宽度、高度。多种不同的组件样式可以支持不同的终端设备的,例如华为发布的全场景智慧化战略的“1+8+n”泛终端设备。
结合第一方面和上述实现方式,在第一方面的某些实现方式中,根组件是容器组件,该适配组件是图片组件、图片墙组件、布局组件、标签组件、开关组件、按钮组件、搜索组件、列表组件、文本框组件和评分组件中的一种或多种。
通过上述介绍的方法,对多种组件进行组件标准化,可以在标准组件里实现卡片样式和操作***样式的关联适配。在用户修改了***字体或者卡片样式的场景中,通过卡片引擎监听终端设备的字体的变化,从而同步修改自身的各个组件的字体,完成卡片样式的同步。该过程可以减少开发者的开发负担和任务,当用户手工修改***的字体时,避免了开发者不断修改所有卡片涉及组件的样式的过程,以及避免了卡片和***字体等不统一的问题。
结合第一方面和上述实现方式,在第一方面的某些实现方式中,服务器存储有一个或多个卡片样式文件,其中,一个或多个卡片样式文件中每个卡片样式文件对应至少一种类型的电子设备;和/或一个或多个卡片样式文件中每个卡片样式文件对应至少一种版本的电子设备;和/或一个或多个卡片样式文件中每个卡片样式文件对应至少一种操作***版本;和/或一个或多个卡片样式文件中每个卡片样式文件对应至少一种应用版本。
结合第一方面和上述实现方式,在第一方面的某些实现方式中,电子设备的参数信息包括以下至少一种信息:电子设备的类型信息、电子设备的版本信息、电子设备的操作***版本信息以及卡片服务请求对应的应用版本信息。
综上所述,该方案可以基于卡片的源文件,根据终端设备类型、设备版本、操作***版本、应用、应用版本、组件类型等多个维度生成多套样式文件,再根据卡片源文件和多套样式文件,通过重编译机制,一个卡片源文件编译出多套不同的卡片文件。其中,每个卡片文件可以适用于不同样式要求的终端设备。在用户请求卡片服务过程中,对于同一个卡片服务,建立不同的卡片分发机制,可以根据终端设备类型、设备版本、操作***版本、应用、应用版本、组件类型等要求,分发不同的卡片文件,以适配不同的终端设备。
第二方面,提供了一种生成卡片的方法,应用于包括电子设备和服务器的***,该方法包括:电子设备向该服务器发送第一卡片文件的请求消息,该第一卡片文件的请求消息包括第一卡片的标识信息和该电子设备的参数信息;服务器根据该第一卡片文件的标识信息,确定第一卡片文件,以及该服务器根据该电子设备的参数信息,确定该电子设备的目标样式文件的版本;服务器向该电子设备发送该第一卡片文件和该目标样式文件的版本信息;电子设备基于该第一卡片文件和第一样式文件,显示该第一卡片,该第一样式文件是该电子设备存储的样式文件。
应理解,在该实现过程中,***维护人员可以根据设备类型、设备版本、操作***版本、应用、应用版本、组件类型等多个维度开发多套样式文件,并将多套样式文件上传到服务器进行保存和管理,该过程可以仅上传编译后的卡片文件,不需要对卡片源文件进行托管。
上述生成卡片文件的过程,根据终端设备类型、设备版本、操作***版本、应用、应用版本、组件类型等多个维度生成多套样式文件,基于卡片样式缓存机制,卡片引擎缓存本设备需要的目标样式文件,如果本地没有缓存相应的目标样式文件,可以在渲染卡片时从HAG云侧请求获取该目标样式文件。再通过该目标样式文件替换原有样式文件,通过重编译、渲染,为用户呈现符合当前设备和***的卡片样式。在该实现过程中,卡片引擎可以支持样式文件独立于卡片文件,卡片加载时可以将目标样式文件加载到卡片引擎中,替代卡片原有样式并生效。
应理解,上述实现过程可以理解为在卡片的运行过程中,动态加载与当前设备和***适配的样式文件,并进行编译,以满足不同终端设备对卡片样式的差异化要求。此外,该过程可以减轻开发者的开发负担和任务,对于不同的终端设备,可以在卡片开发阶段就适配不同的卡片样式,实现了一次开发和多端分发的目的,消除服务生态拓展的阻碍,提升终端设备体验的灵活性。
结合第二方面,在第二方面的某些实现方式中,该方法还包括:电子设备向该服务器发送用于请求更新该第一样式文件的第二请求消息;服务器根据该第二请求消息,向该电子设备发送第二样式文件;电子设备保存该第二样式文件。
结合第二方面和上述实现方式,在第二方面的某些实现方式中,电子设备向该服务器发送用于请求更新该第一样式文件的第二请求消息,包括:电子设备周期性地向该服务器发送用于请求更新该第一样式文件的第二请求消息。
在具体实现过程中,终端设备调用卡片引擎进行卡片文件进行渲染时,是根据当前从服务器获取的目标卡片文件和本地缓存的样式文件进行重编译,用本地缓存的样式文件替换了目标卡片文件中的样式模块,重编译后将卡片显示给用户。
应理解,以上终端设备和服务器的样式文件进行同步更新的过程可以周期性进行,例如每个月终端设备主动和服务器同步更新2次样式文件,终端设备可以借此更新本地缓存的样式文件,以待下次终端设备请求卡片服务时,使用从服务器获取的目标卡片文件和本地最新缓存的样式文件进行重编译。或者,该同步更新的过程可以在终端设备向服务器请求该卡片服务的次数每满足50次时进行,本申请实施例对此不作限定。
综上,终端设备的样式文件都是从本地缓存中获取的,同时,本地缓存的样式文件可以以一定频率进行更新,和服务器实现同步,该过程可以减少服务器向终端设备发送样式文件的次数,从而降低时延;而且,先使用从服务器获取的目标卡片文件和本地缓存的样式文件进行重编译并渲染卡片,后来如果样式文件被更新后,再结合目标卡片文件和最新的样式文件进行重编译并渲染卡片,该过程可以实现用户无感知,无需用户交互实现最新卡片样式的匹配,提高了用户用户体验。结合第二方面和上述实现方式,在第二方面的某些实现方式中,当该电子设备检测到用户调用该第一卡片的操作时,该电子设备向该服务器发送该第一卡片文件的请求消息;或者当该电子设备匹配到预设场景时,该电子设备向该服务器发送该第一卡片文件的请求消息,该预设场景包括用户待完成的行程、会议安排、事件提醒中的至少一种。
结合第二方面和上述实现方式,在第二方面的某些实现方式中,第一卡片文件是JS文件,该JS文件包括模板部分、样式部分和脚本部分,以及该电子设备基于该第一卡片文件和第一样式文件,显示该第一卡片,包括:该电子设备通过该第一样式文件替换该第一卡片文件中的样式部分,编译得到第二卡片文件;电子设备基于该第二卡片文件,显示该第一卡片。
结合第二方面和上述实现方式,在第二方面的某些实现方式中,第二卡片文件包括根组件和一个或多个适配组件,该电子设备基于该第二卡片文件,显示该第一卡片,包括:根组件获取该第一卡片对应的第一应用的样式和该电子设备的操作***的样式;根组件根据该第一应用的样式和该电子设备的操作***的样式,确定该根组件的组件样式规则,该组件样式规则包括该根组件的字体、字体大小和栅格布局中的至少一种;根组件通知该一个或多个适配组件该第一应用的样式和该电子设备的操作***的样式;一个或多个适配组件中的每个适配组件分别根据该第一应用的样式和该电子设备的操作***的样式,修改组件样式规则,该组件样式规则包括每个适配组件的字体、字体大小和栅格布局中的至少一种;基于该根组件的组件样式规则和该一个或多个适配组件中的每个适配组件的组件样式规则,显示该第一卡片。
结合第二方面和上述实现方式,在第二方面的某些实现方式中,第二卡片文件包括根组件和一个或多个适配组件,当该电子设备的状态变化时,该方法还包括:根组件获取该电子设备的状态变化事件,该电子设备的状态变化事件包括***字体变化和/或该电子设备的屏幕状态变化;根组件根据该电子设备的状态变化事件,修改该根组件的组件样式规则,该组件样式规则包括该根组件的字体、字体大小和栅格布局中的至少一种;根组件通知该一个或多个适配组件该电子设备的状态变化事件;一个或多个适配组件中的每个适配组件分别根据该电子设备的状态变化事件修改组件样式规则,其中,该组件样式规则包括每个适配组件的字体、字体大小和栅格布局中的至少一种。
结合第二方面和上述实现方式,在第二方面的某些实现方式中,根组件是容器组件,该适配组件是图片组件、图片墙组件、布局组件、标签组件、开关组件、按钮组件、搜索组件、列表组件、文本框组件和评分组件中的一种或多种。
结合第二方面和上述实现方式,在第二方面的某些实现方式中,服务器存储有一个或多个卡片样式文件,其中,一个或多个卡片样式文件中每个卡片样式文件对应至少一种类型的电子设备;和/或一个或多个卡片样式文件中每个卡片样式文件对应至少一种版本的电子设备;和/或一个或多个卡片样式文件中每个卡片样式文件对应至少一种操作***版本;和/或一个或多个卡片样式文件中每个卡片样式文件对应至少一种应用版本。
结合第二方面和上述实现方式,在第二方面的某些实现方式中,电子设备的参数信息包括以下至少一种信息:电子设备的类型信息、电子设备的版本信息、电子设备的操作***版本信息以及该卡片服务请求对应的应用版本信息。
第三方面,提供了一种生成卡片的方法,应用于包括第一电子设备、第二电子设备和服务器的***,该第一电子设备和该第二电子设备的类型不同,该服务器存储有第一卡片的源文件,该方法包括:第一电子设备向该服务器发送第一卡片文件的第一请求消息,该第一请求消息包括第一卡片的标识信息和该第一电子设备的参数信息;第二电子设备向该服务器发送第一卡片文件的第二请求消息,该第一请求消息包括该第一卡片的标识信息和该第二电子设备的参数信息;服务器根据该第一卡片的标识信息,确定该第一卡片的源文件,以及根据该第一电子设备的参数信息,从一个或多个卡片样式文件中确定第一目标样式文件,根据该第二电子设备的参数信息,从一个或多个卡片样式文件中确定第二目标样式文件;服务器根据该第一卡片的源文件和该第一目标样式文件,生成该第一卡片文件,向该第一电子设备发送该第一卡片文件;服务器根据该第一卡片的源文件和该第二目标样式文件,生成第二卡片文件,向该第二电子设备发送该第二卡片文件;第一电子设备基于该第一卡片文件,显示具有第一样式的该第一卡片,该第二电子设备基于该第二卡片文件,显示具有该第二样式的该第一卡片。
结合第三方面和上述实现方式,在第三方面的某些实现方式中,第一样式和该第二样式相同或不同。
结合第三方面和上述实现方式,在第三方面的某些实现方式中,具有第一样式的该第一卡片的显示区域包括标题区、内容区、操作区和声明区中的一个或多个区域,具有第二样式的该第一卡片的显示区域包括标题区、内容区、操作区和声明区中的一个或多个区域。
结合第三方面和上述实现方式,在第三方面的某些实现方式中,当该第一电子设备检测到用户调用该第一卡片的操作时,向该服务器发送该第一卡片文件的第一请求消息;或者当该第一电子设备识别到预设场景时,向该服务器发送该第一卡片文件的第一请求消息,该预设场景包括用户待完成的行程、会议安排、事件提醒中的至少一种;以及当该第二电子设备检测到用户调用该第一卡片的操作时,向该服务器发送该第一卡片文件的第二请求消息;或者当该第二电子设备识别到预设场景时,向该服务器发送该第一卡片文件的第二请求消息,该预设场景包括用户待完成的行程、会议安排、事件提醒中的至少一种。
结合第三方面和上述实现方式,在第三方面的某些实现方式中,服务器存储有一个或多个卡片样式文件,其中,一个或多个卡片样式文件中每个卡片样式文件对应至少一种类型的电子设备;和/或一个或多个卡片样式文件中每个卡片样式文件对应至少一种版本的电子设备;和/或一个或多个卡片样式文件中每个卡片样式文件对应至少一种操作***版本;和/或一个或多个卡片样式文件中每个卡片样式文件对应至少一种应用版本。
结合第三方面和上述实现方式,在第三方面的某些实现方式中,第一卡片的源文件是UX文件,该第一卡片文件是该UX文件和目标样式文件经过编译后的JS文件。
结合第三方面和上述实现方式,在第三方面的某些实现方式中,第一电子设备的参数信息包括以下至少一种信息:第一电子设备的类型信息、第一电子设备的版本信息、第一电子设备的操作***版本信息以及该卡片服务请求对应的应用版本信息;以及第二电子设备的参数信息包括以下至少一种信息:第二电子设备的类型信息、第二电子设备的版本信息、第二电子设备的操作***版本信息以及卡片服务请求对应的应用版本信息。
第四方面,提供了一种电子设备,该电子设备用于:向服务器发送第一卡片文件的请求消息,该第一卡片文件的请求消息包括第一卡片的标识信息和该电子设备的参数信息;接收该服务器发送的该第一卡片文件,该第一卡片文件是该服务器根据该第一卡片的源文件和目标样式文件生成的,该第一卡片的源文件是该服务器根据该第一卡片的标识信息确定的,该目标样式文件是该服务器根据该电子设备的参数信息从一个或多个卡片样式文件中确定的;基于该第一卡片文件,显示该第一卡片。
结合第四方面,在第四方面的某些实现方式中,当该电子设备检测到用户调用该第一卡片的操作时,向该服务器发送该第一卡片文件的请求消息;或者当该电子设备匹配到预设场景时,向该服务器发送该第一卡片文件的请求消息,该预设场景包括用户待完成的行程、会议安排、事件提醒中的至少一种。
结合第四方面和上述实现方式,在第四方面的某些实现方式中,第一卡片文件包括根组件和一个或多个适配组件,该电子设备基于该第一卡片文件,显示该第一卡片,包括:根组件获取该第一卡片对应的第一应用的样式和该电子设备的操作***的样式;根组件根据该第一应用的样式和该电子设备的操作***的样式,确定该根组件的组件样式规则,该组件样式规则包括该根组件的字体、字体大小和栅格布局中的至少一种;根组件通知该一个或多个适配组件该第一应用的样式和该电子设备的操作***的样式;一个或多个适配组件中的每个适配组件分别根据该第一应用的样式和该电子设备的操作***的样式,修改组件样式规则,该组件样式规则包括每个适配组件的字体、字体大小和栅格布局中的至少一种;基于该根组件的组件样式规则和该一个或多个适配组件中的每个适配组件的组件样式规则,显示该第一卡片。
结合第四方面和上述实现方式,在第四方面的某些实现方式中,第一卡片文件包括根组件和一个或多个适配组件,当该电子设备的状态变化时,根组件获取该电子设备的状态变化事件,该电子设备的状态变化事件包括***字体变化和/或该电子设备的屏幕状态变化;根组件根据该电子设备的状态变化事件,修改该根组件的组件样式规则,该组件样式规则包括该根组件的字体、字体大小和栅格布局中的至少一种;根组件通知该一个或多个适配组件该电子设备的状态变化事件;一个或多个适配组件中的每个适配组件分别根据该电子设备的状态变化事件修改组件样式规则,其中,该组件样式规则包括每个适配组件的字体、字体大小和栅格布局中的至少一种。
结合第四方面和上述实现方式,在第四方面的某些实现方式中,根组件是容器组件,该适配组件是图片组件、图片墙组件、布局组件、标签组件、开关组件、按钮组件、搜索组件、列表组件、文本框组件和评分组件中的一种或多种。
结合第四方面和上述实现方式,在第四方面的某些实现方式中,卡片的源文件是UX文件,该第一卡片文件是该UX文件和该目标样式文件经过编译后的JS文件。
结合第四方面和上述实现方式,在第四方面的某些实现方式中,电子设备的参数信息包括以下至少一种信息:电子设备的类型信息、该电子设备的版本信息、该电子设备的操作***版本信息以及该卡片服务请求对应的应用版本信息。
第五方面,提供了一种电子设备,该电子设备用于:向该服务器发送第一卡片文件的请求消息,该第一卡片文件的请求消息包括第一卡片的标识信息和该电子设备的参数信息;基于该第一卡片文件和第一样式文件,显示第一卡片,该第一样式文件是该电子设备存储的样式文件,该第一卡片文件是该服务器根据该第一卡片文件的标识信息确定的。
结合第五方面,在第五方面的某些实现方式中,该电子设备还用于:向该服务器发送用于请求更新该第一样式文件的第二请求消息;接收该服务器发送的第二样式文件,保存该第二样式文件。
结合第五方面和上述实现方式,在第五方面的某些实现方式中,电子设备向该服务器发送用于请求更新该第一样式文件的第二请求消息,包括:电子设备周期性地向该服务器发送用于请求更新该第一样式文件的第二请求消息。
结合第五方面和上述实现方式,在第五方面的某些实现方式中,当该电子设备检测到用户调用该第一卡片的操作时,该电子设备向该服务器发送该第一卡片文件的请求消息;或者当该电子设备匹配到预设场景时,该电子设备向该服务器发送该第一卡片文件的请求消息,该预设场景包括用户待完成的行程、会议安排、事件提醒中的至少一种。
结合第五方面和上述实现方式,在第五方面的某些实现方式中,第一卡片文件是JS文件,该JS文件包括模板部分、样式部分和脚本部分,以及该电子设备还用于:通过该第一样式文件替换该第一卡片文件中的样式部分,编译得到第二卡片文件;基于该第二卡片文件,显示该第一卡片。
结合第五方面和上述实现方式,在第五方面的某些实现方式中,第二卡片文件包括根组件和一个或多个适配组件,该电子设备基于该第二卡片文件,显示该第一卡片,包括:根组件获取该第一卡片对应的第一应用的样式和该电子设备的操作***的样式;根组件根据该第一应用的样式和该电子设备的操作***的样式,确定该根组件的组件样式规则,该组件样式规则包括该根组件的字体、字体大小和栅格布局中的至少一种;根组件通知该一个或多个适配组件该第一应用的样式和该电子设备的操作***的样式;一个或多个适配组件中的每个适配组件分别根据该第一应用的样式和该电子设备的操作***的样式,修改组件样式规则,该组件样式规则包括每个适配组件的字体、字体大小和栅格布局中的至少一种;基于该根组件的组件样式规则和该一个或多个适配组件中的每个适配组件的组件样式规则,显示该第一卡片。
结合第五方面和上述实现方式,在第五方面的某些实现方式中,第二卡片文件包括根组件和一个或多个适配组件,当该电子设备的状态变化时,根组件获取该电子设备的状态变化事件,该电子设备的状态变化事件包括***字体变化和/或该电子设备的屏幕状态变化;该根组件根据该电子设备的状态变化事件,修改该根组件的组件样式规则,该组件样式规则包括该根组件的字体、字体大小和栅格布局中的至少一种;根组件通知该一个或多个适配组件该电子设备的状态变化事件;一个或多个适配组件中的每个适配组件分别根据该电子设备的状态变化事件修改组件样式规则,其中,该组件样式规则包括每个适配组件的字体、字体大小和栅格布局中的至少一种。
结合第五方面和上述实现方式,在第五方面的某些实现方式中,根组件是容器组件,该适配组件是图片组件、图片墙组件、布局组件、标签组件、开关组件、按钮组件、搜索组件、列表组件、文本框组件和评分组件中的一种或多种。
结合第五方面和上述实现方式,在第五方面的某些实现方式中,电子设备的参数信息包括以下至少一种信息:电子设备的类型信息、电子设备的版本信息、电子设备的操作***版本信息以及该卡片服务请求对应的应用版本信息。
第六方面,提供了一种服务器,包括:卡片管理模块,存储有一个或多个卡片的源文件;样式管理模块,存储有一个或多个卡片样式文件;卡片管理模块,还用于接收电子设备发送的第一卡片文件的请求消息,该第一卡片文件的请求消息包括第一卡片的标识信息和该电子设备的参数信息;根据该第一卡片的标识信息,确定该第一卡片的源文件,以及根据该电子设备的参数信息,从一个或多个卡片样式文件中确定目标样式文件;根据该第一卡片的源文件和该目标样式文件,生成该第一卡片文件;向该电子设备发送该第一卡片文件。
结合第六方面,在第六方面的某些实现方式中,该一个或多个卡片样式文件中每个卡片样式文件对应至少一种类型的电子设备;和/或一个或多个卡片样式文件中每个卡片样式文件对应至少一种版本的电子设备;和/或一个或多个卡片样式文件中每个卡片样式文件对应至少一种操作***版本;和/或一个或多个卡片样式文件中每个卡片样式文件对应至少一种应用版本。
结合第六方面和上述实现方式,在第六方面的某些实现方式中,卡片的源文件是UX文件,该第一卡片文件是该UX文件和该目标样式文件经过编译后的JS文件。
结合第六方面和上述实现方式,在第六方面的某些实现方式中,电子设备的参数信息包括以下至少一种信息:电子设备的类型信息、电子设备的版本信息、电子设备的操作***版本信息以及该卡片服务请求对应的应用版本信息。
第七方面,提供了一种服务器,包括:卡片管理模块,存储有一个或多个卡片的源文件;样式管理模块,存储有一个或多个卡片样式文件;卡片管理模块,还用于接收电子设备发送的第一卡片文件的请求消息,该第一卡片文件的请求消息包括第一卡片的标识信息和该电子设备的参数信息;根据该第一卡片文件的标识信息,确定第一卡片文件,以及根据该电子设备的参数信息,确定该电子设备的目标样式文件的版本;该服务器向该电子设备发送该第一卡片文件和该目标样式文件的版本信息。
结合第七方面,在第七方面的某些实现方式中,该卡片管理模块还用于:接收该电子设备发送的用于请求更新该第一样式文件的第二请求消息;根据该第二请求消息,向该电子设备发送第二样式文件。
结合第七方面和上述实现方式,在第七方面的某些实现方式中,卡片管理模块还用于:周期性地接收该电子设备发送的用于请求更新该第一样式文件的第二请求消息。
结合第七方面和上述实现方式,在第七方面的某些实现方式中,第一卡片文件是JS文件,该JS文件包括模板部分、样式部分和脚本部分。
结合第七方面和上述实现方式,在第七方面的某些实现方式中,第二卡片文件包括根组件和一个或多个适配组件,该根组件是容器组件,该适配组件是图片组件、图片墙组件、布局组件、标签组件、开关组件、按钮组件、搜索组件、列表组件、文本框组件和评分组件中的一种或多种。
结合第七方面和上述实现方式,在第七方面的某些实现方式中,一个或多个卡片样式文件中每个卡片样式文件对应至少一种类型的电子设备;和/或一个或多个卡片样式文件中每个卡片样式文件对应至少一种版本的电子设备;和/或一个或多个卡片样式文件中每个卡片样式文件对应至少一种操作***版本;和/或一个或多个卡片样式文件中每个卡片样式文件对应至少一种应用版本。
结合第七方面和上述实现方式,在第七方面的某些实现方式中,电子设备的参数信息包括以下至少一种信息:电子设备的类型信息、电子设备的版本信息、电子设备的操作***版本信息以及卡片服务请求对应的应用版本信息。
第八方面,提供了一种电子设备,包括:一个或多个处理器;一个或多个存储器;多个应用程序;以及一个或多个程序,其中该一个或多个程序被存储在该存储器中,当该一个或者多个程序被该处理器执行时,使得该电子设备执行如第一方面和第一方面的实现方式、第二方面和第二方面的实现方式、第三方面和第三方面的实现方式中任一项电子设备执行的方法。
第九方面,提供了一种装置,该装置包含在电子设备中,该装置具有实现上述方面及上述方面的可能实现方式中电子设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,显示模块或单元、检测模块或单元、处理模块或单元等。
第十方面,一种服务器,其特征在于,包括:处理器、存储器和接口,所述处理器、存储器和接口相互配合,使得所述服务器执行上述如第一方面和第一方面的实现方式、第二方面和第二方面的实现方式、第三方面和第三方面的实现方式中任一项所述服务器可以执行的方法。
第十一方面,本申请提供了一种电子设备,包括:触摸显示屏,其中,触摸显示屏包括触敏表面和显示器;摄像头;一个或多个处理器;存储器;多个应用程序;以及一个或多个计算机程序,其中,一个或多个计算机程序被存储在存储器中,一个或多个计算机程序包括指令,当指令被电子设备执行时,使得电子设备执行上述任一方面任一项可能的方法。
第十二方面,本申请提供了一种电子设备,包括一个或多个处理器和一个或多个存储器。该一个或多个存储器与一个或多个处理器耦合,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,使得电子设备执行上述如第一方面和第一方面的实现方式、第二方面和第二方面的实现方式、第三方面和第三方面的实现方式中任一项电子设备执行的方法。
第十三方面,本申请提供了一种计算机可读存储介质,存储有计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述如第一方面和第一方面的实现方式、第二方面和第二方面的实现方式、第三方面和第三方面的实现方式、第四方面和第四方面的实现方式中任一项可能的方法。
第十四方面,本申请提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述如第一方面和第一方面的实现方式、第二方面和第二方面的实现方式、第三方面和第三方面的实现方式中任一项可能的方法。
附图说明
图1是本申请实施例提供的一例终端设备的结构示意图。
图2是本申请实施例的终端设备的软件结构框图。
图3是一例卡片样式的更新机制示意图。
图4是本申请实施例提供的一例卡片服务***示意图。
图5是本申请实施例提供的一例手机上卡片服务的图形用户界面示意图。
图6是本申请实施例提供的另一例手机上卡片服务的示意图。
图7是本申请实施例提供的又一例卡片的示意图。
图8是本申请实施例提供的又一例卡片的示意图。
图9和图10是本申请实施例提供的一例调整卡片样式的示意性流程图。
图11和图12是本申请实施例提供的又一例调整卡片样式的示意性流程图。
图13和图14是本申请实施例提供的又一例调整卡片样式的示意性流程图。
图15是本申请实施例提供的一例卡片文件开发过程的示意图。
图16是本申请实施例提供的又一例自适应生成卡片样式方法的示意性流程图。
图17是本申请实施例提供的一例卡片文件运行过程的示意图。
图18是本申请实施例提供的又一例的自适应生成卡片样式方法的示意性流程图。
图19是本申请实施例提供的一例卡片开发过程的示意图。
图20是本申请实施例提供的又一例卡片开发过程的示意图。
图21是本申请实施例提供的又一例卡片样式的更新机制示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
本申请实施例提供的自适应生成卡片样式的方法可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等终端设备上,本申请实施例对终端设备的具体类型不作任何限制。
示例性的,图1是本申请实施例提供的一例终端设备100的结构示意图。终端设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universalserial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对终端设备100的具体限定。在本申请另一些实施例中,终端设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是终端设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了***的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
I2C接口是一种双向同步串行总线,包括一根串行数据线(serial data line,SDA)和一根串行时钟线(derail clock line,SCL)。在一些实施例中,处理器110可以包含多组I2C总线。处理器110可以通过不同的I2C总线接口分别耦合触摸传感器180K,充电器,闪光灯,摄像头193等。例如:处理器110可以通过I2C接口耦合触摸传感器180K,使处理器110与触摸传感器180K通过I2C总线接口通信,实现终端设备100的触摸功能。
I2S接口可以用于音频通信。在一些实施例中,处理器110可以包含多组I2S总线。处理器110可以通过I2S总线与音频模块170耦合,实现处理器110与音频模块170之间的通信。在一些实施例中,音频模块170可以通过I2S接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。
PCM接口也可以用于音频通信,将模拟信号抽样,量化和编码。在一些实施例中,音频模块170与无线通信模块160可以通过PCM总线接口耦合。在一些实施例中,音频模块170也可以通过PCM接口向无线通信模块160传递音频信号,实现通过蓝牙耳机接听电话的功能。所述I2S接口和所述PCM接口都可以用于音频通信。
UART接口是一种通用串行数据总线,用于异步通信。该总线可以为双向通信总线。它将要传输的数据在串行通信与并行通信之间转换。在一些实施例中,UART接口通常被用于连接处理器110与无线通信模块160。例如:处理器110通过UART接口与无线通信模块160中的蓝牙模块通信,实现蓝牙功能。在一些实施例中,音频模块170可以通过UART接口向无线通信模块160传递音频信号,实现通过蓝牙耳机播放音乐的功能。
MIPI接口可以被用于连接处理器110与显示屏194,摄像头193等***器件。MIPI接口包括摄像头串行接口(camera serial interface,CSI),显示屏串行接口(displayserial interface,DSI)等。在一些实施例中,处理器110和摄像头193通过CSI接口通信,实现终端设备100的拍摄功能。处理器110和显示屏194通过DSI接口通信,实现终端设备100的显示功能。
GPIO接口可以通过软件配置。GPIO接口可以被配置为控制信号,也可被配置为数据信号。在一些实施例中,GPIO接口可以用于连接处理器110与摄像头193,显示屏194,无线通信模块160,音频模块170,传感器模块180等。GPIO接口还可以被配置为I2C接口,I2S接口,UART接口,MIPI接口等。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为终端设备100充电,也可以用于终端设备100与***设备之间传输数据。也可以用于连接耳机,通过耳机播放音频。该接口还可以用于连接其他终端设备,例如AR设备等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端设备100的结构限定。在本申请另一些实施例中,终端设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过终端设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为终端设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
终端设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。终端设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在终端设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在终端设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星***(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,终端设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得终端设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯***(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位***(global positioning system,GPS),全球导航卫星***(global navigation satellite system,GLONASS),北斗卫星导航***(beidounavigation satellite system,BDS),准天顶卫星***(quasi-zenith satellitesystem,QZSS)和/或星基增强***(satellite based augmentation systems,SBAS)。
终端设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,终端设备100可以包括1个或N个显示屏194,N为大于1的正整数。
终端设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,终端设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当终端设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。终端设备100可以支持一种或多种视频编解码器。这样,终端设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现终端设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行终端设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
终端设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。终端设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当终端设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。终端设备100可以设置至少一个麦克风170C。在另一些实施例中,终端设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,终端设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动终端设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。终端设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,终端设备100根据压力传感器180A检测所述触摸操作强度。终端设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器180B可以用于确定终端设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定终端设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测终端设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消终端设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
气压传感器180C用于测量气压。在一些实施例中,终端设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
磁传感器180D包括霍尔传感器。终端设备100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当终端设备100是翻盖机时,终端设备100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器180E可检测终端设备100在各个方向上(一般为三轴)加速度的大小。当终端设备100静止时可检测出重力的大小及方向。还可以用于识别终端设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。终端设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,终端设备100可以利用距离传感器180F测距以实现快速对焦。
接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。终端设备100通过发光二极管向外发射红外光。终端设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定终端设备100附近有物体。当检测到不充分的反射光时,终端设备100可以确定终端设备100附近没有物体。终端设备100可以利用接近光传感器180G检测用户手持终端设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。终端设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测终端设备100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。终端设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,终端设备100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,终端设备100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,终端设备100对电池142加热,以避免低温导致终端设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,终端设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于终端设备100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器180M也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器180M获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器180M获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。终端设备100可以接收按键输入,产生与终端设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过***SIM卡接口195,或从SIM卡接口195拔出,实现和终端设备100的接触和分离。终端设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时***多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。终端设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,终端设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在终端设备100中,不能和终端设备100分离。
终端设备100的软件***可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android***为例,示例性说明终端设备100的软件结构。
图2是本申请实施例的终端设备100的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android***分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和***库,以及内核层。应用程序层可以包括一系列应用程序包。
如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图***,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图***包括可视控件,例如显示文字的控件,显示图片的控件等。视图***可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供终端设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在***顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,终端设备振动,指示灯闪烁等。
Android runtime包括核心库和虚拟机。Android runtime负责安卓***的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
***库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子***进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
为了便于理解,本申请以下实施例将以具有图1和图2所示结构的终端设备为例,结合附图和应用场景,对本申请实施例提供的自适应生成卡片样式的方法进行具体阐述。
图3是一例卡片服务的实现过程的示意图。如图3所示,在卡片服务的实现过程中,包括两个阶段——卡片的开发阶段和卡片的运行阶段,该过程主要涉及开发者设备、服务器侧和用户侧终端设备之间的交互。具体地,具体地包括以下步骤。
卡片的开发阶段:
步骤1,卡片开发者开发卡片文件;
步骤2,开发者将卡片文件上传到服务器侧。
应理解,在开发者开发卡片过程中,编写的卡片源代码为UX文件,UX文件经过编译生成JS文件,即上传到服务器侧的卡片文件为编译后的JS文件,又可以称为“卡片执行文件”。
示例性的,可以如下表1-表3列举的UX文件代码所示,该UX文件可以包括模板(template)部分、样式(style)部分和脚本(script)部分组成。
其中,模板(template)部分的代码可以如表1所示,类似HTML的标签语言,结合基础组件、自定义组件、事件等,构建出页面的结构。
样式(style)部分的代码可以如表2所示,用于描述template模板的组件样式,该部分可以决定组件如何显示。
脚本(script)部分的代码可以如表3所示,用于定义页面数据和实现生命周期接口。
卡片的运行阶段:
步骤3,用户通过终端设备向服务器侧请求卡片服务,从服务器侧获取卡片文件;
步骤4,终端设备运行该卡片文件,完成卡片的渲染过程,在终端设备上呈现给用户卡片。
应理解,卡片的渲染过程是卡片的显示过程。具体地,终端设备的宿主应用(application,App)获取该卡片文件,并由宿主App的快应用引擎(FastappEngine App)获取当前终端设备的***能力,进而运行该卡片文件完成卡片的渲染过程。示例性的,宿主App可以是指终端设备的负一屏,或者语音助手等应用。
图3示出了多种可能的用户侧终端设备,例如手机、平板、智能手表、车载设备等,不同的终端设备可能对应不同的操作***。对于不同类型的终端设备或者不同的操作***,对卡片样式的要求不同。但是目前终端设备从服务器侧获取的卡片文件是已经编译的JS文件,该卡片文件不能满足越来越多的终端设备对卡片的样式需求。
此外,对于当前实现卡片服务的过程,如果终端设备的操作***发生变化,或者用户期望修改卡片样式时,只能由开发者修改卡片的源文件(即UX文件),并重新经过开发、编译,上传到服务器侧,重新在终端设备上运行。该过程使得卡片样式的修改过程繁琐,增加了CP开发卡片的难度。
图4是本申请实施例提供的一例卡片服务***示意图。如图4所示,该卡片服务***400包括卡片集成开发环境(integrated development environment,IDE)10、卡片管理平台20、卡片分发平台30和安装有卡片引擎40的终端设备100。
卡片IDE 10可以理解为针对快应用及快服务卡片开发的集成开发环境,包括一系列卡片辅助开发工具,辅助开发工具可以包括Visual Studio、Dev C++、Xcode、Visual C++6.0、C-Free、Code::Blocks等。例如,目前华为提供过的卡片IDE还可以称为“华为快应用IDE”,开发者们可以在华为应用市场下载华为快应用IDE,并安装、注册,进一步通过该华为快应用IDE进行高效编程、断点调试、云端测试等实现卡片服务,此处不再赘述。
卡片管理平台20和卡片分发平台30是服务器侧的功能模块。示例性的,本申请实施例可以以华为快服务智慧平台(HUAWEI Ability Gallery,HAG)作为服务器侧,简称为“HAG云侧”,该HAG云侧可以包括卡片管理平台20和卡片分发平台30。换言之,卡片管理平台20和卡片分发平台30是HAG云侧按照不同的功能进行区分的模块。在后续的描述或者具体实现中,终端设备如果从HAG云侧请求卡片文件,可以是从卡片管理平台20和/或卡片分发平台30请求,本申请实施例对此不作严格区分。
其中,卡片管理平台20和卡片分发平台30是聚合泛终端设备的全场景的流量入口,可以实现服务一次接入、全媒体分发。具体地,卡片管理平台20可以对卡片源文件(UX文件)、卡片文件(JS文件)进行保存、管理等,以及可以实现UX文件的编译过程,还可以将已经完成编译的JS文件转发给卡片分发平台30。卡片分发平台30可以保存、管理卡片文件等,以及实现卡片文件的动态编译过程。在不同应用场景中,卡片管理平台20和卡片分发平台30可以为情景智能、智慧搜索、服务直达、智慧语音以及智慧视觉等流量入口提供服务技能,将结合不同的实施例进行介绍,此处不再赘述。
示例性的,卡片管理平台20可以包括卡片管理模块21和/或样式管理模块22。卡片分发平台30也可以是卡片管理模块21的用于下发卡片文件的单元,本申请实施例对HAG云侧的功能模块的划分不作限定。
终端设备100可以是具有图1介绍的硬件结构和图2介绍的软件架构的设备,例如手机、大屏电视、平板、有屏音箱、车机设备、手表及其他泛终端设备,本申请实施例对此不作限定。该终端设备100上安装有卡片引擎40,以手机为例,该卡片引擎40可以用于手机负一屏调用其他应用的卡片服务;卡片引擎40也可以是某一个应用内部的模块,例如语音助手包含该模块,可以调用如天气应用、航班管家应用的卡片服务等,为了便于描述,本申请实施例统一称为“卡片引擎”。
还应理解,本申请实施例中,卡片引擎40除了具有图3中介绍的快应用引擎的卡片渲染功能之外,还具有编译功能。换言之,卡片引擎40可以实现卡片编译和卡片渲染的功能,在后续实施例中有详细描述,此处不做赘述。
首先,在介绍本申请实施例提供的生成卡片样式的方法之前,先对不同应用在不同终端设备上提供的卡片服务、相同应用在不同终端设备上提供的卡片服务进行介绍。
图5是本申请实施例提供的一例手机上卡片服务的图形用户界面(graphicaluser interface,GUI)示意图,图5将以手机作为终端设备,展示了不同应用在手机的负一屏上的卡片示意图。
其中,图5中的(a)图示出了手机的解锁模式下,手机的屏幕显示***显示了当前输出的界面内容501,该界面内容501为手机的主界面。该界面内容501显示了多款应用程序(application,App),例如音乐、设置、天气和语音助手等。应理解,界面内容501还可以包括其他更多的应用程序,本申请对此不作限定。
用户执行如图5中的(a)图所示的操作,在手机主界面501上向右滑动,手机显示如(b)图所示的负一屏界面502。应理解,用户可以经过一次或者多次滑动显示负一屏界面502,本申请实施例对此不作限定。
还应理解,手机的负一屏可以集合应用建议、运动健康、生活服务、新闻、视频、音乐等多种应用的快捷显示内容,手机的负一屏还可以自动生成情景智能的各种应用对应的提醒卡片,卡片可以提供一种比App更细粒度的服务,可以清楚地呈现该卡片的能力,例如以可交互的卡片服务的形式直接将用户最关心的服务或内容展示给用户,方便用户快速浏览和使用。
如图5中的(b)图所示,手机的负一屏界面502上可以显示全局搜索、运动与健康信息、刷卡与付款码、快递信息、日程信息等,以及显示了不同应用的卡片。以天气应用和航班管家应用为例,在该负一屏界面502上,天气卡片50和航班管家卡片60可以显示如(b)图所示。
一种可能的实现方式中,不同应用的卡片的样式、大小和显示内容不同。在本申请实施例中,可以将卡片所在区域划分为多个功能区域,例如标题区、内容区、声明区、操作区等,不同区域显示不同的内容以实现该区域对应的功能。
可选地,标题区用于标识该卡片所属的应用或者该卡片提供的服务。该标题区可以显示图标或者标题文本进行,且标题区还可以包括卡片管理按钮。内容区用于选择所述应用的内容模板并进行填充;声明区用于展示卡片所述应用或者服务来源、更新状态、更新时间、责任声明等内容;操作区可以包括与业务相关的按钮等。其中,标题区、内容区为卡片的必须组成部分,声明区和操作区等为卡片可选的组成部分。
示例性的,如图5中的(c)图所示,天气卡片50可以包括标题区、内容区和声明区,其中,标题区用于标识卡片50所属应用“天气”,或者进一步地显示为用户当前所在地的“西安天气”。内容区用于填充卡片50所属天气应用的显示内容,例如当前西安天气为“28℃、晴、空气质量优”,该内容区还可以包括“太阳”、“云朵”等天气小图标,方便用户快速获取天气信息,提升用户的视觉体验。声明区显示了卡片50所属天气应用的更新时间,该天气数据更新于上午9:00。
示例性的,如图5中的(d)图所示,航班管家卡片60可以包括标题区、内容区、声明区和操作区。其中,标题区用于标识航班管家卡片60所提供的服务——航班动态。内容区用于填充供用户查看的航班动态信息,例如用户未完成的行程信息——5月11日下午20:00从西安咸阳国际机场T2航站楼至22:00北京首都国际机场T3航站楼,以及更多的值机柜台、登机口等信息。声明区显示了航班管家卡片60所提供的航班动态信息的数据来源、更新时间等。操作区包括与当前服务相关的“导航”、“打车”、“航班详情”等按钮,用户可以点击该操作区的任意按钮,从而进入按钮相关的应用,例如用户点击“导航”,手机可以启动已安装的高德地图、百度地图等可以提供导航功能的应用,此处不再赘述。
此外,不同的卡片的大小尺寸可以相同或者不同。示例性的,天气卡片50和航班管家卡片60在手机的负一屏上的显示长度相同、显示宽度不同,当前天气卡片50在手机负一屏的显示长度为1376px,显示宽度为320px;航班管家卡片60的显示长度为1376px,显示宽度为640px。其中px为密度无关像素(density independent pixels,px),用于表示显示屏上的图标、区域的尺寸。
上述结合天气卡片50和航班管家卡片60介绍了不同应用的卡片可以有不同的样式、不同的大小、不同的组成区域、不同的显示内容等,此外,同一个应用的卡片在不同的使用过程也可以有不同的样式、不同的大小、不同的组成区域、不同的显示内容等。
图6是本申请实施例提供的另一例手机上卡片服务的示意图,图6将以手机作为终端设备,展示了航班管家卡片60在手机的语音助手使用过程中的示意图。应理解,在语音助手使用过程中,用户可以通过不同的语音指令调用不同的应用或者功能,其中,不同的应用可以在语音助手中提供卡片服务,进而用户可以快捷的使用该应用的相关功能。
当手机开启了语音助手功能,用户可以通过预设的语音指令唤醒手机。示例性的,如图6中的(a)图所示,在手机未解锁的情况下,用户通过“小艺小艺”的语音指令唤醒手机,并发出“查看我的航班”的语音指令,响应于该语音指令,手机显示如图6中的(b)图所示的界面602。该界面602包括航班管家卡片60、推荐的其他语音指令等内容,结合图5和图6,对于来源于同一个应用——航班管家的卡片,航班管家卡片60的样式可以不同。
用户使用语音助手的场景一般是不方便通过手指操作手机的场景,例如用户开车时期望查看航班信息的场景等。因此,在语音助手提供的航班管家卡片60可以在内容区显示更多的信息,同时减少操作区或者减少操作区的用户可以点击的按钮等,而在手机界面预留更多的区域展示一些推荐给用户的语音指令,方便用户通过其他语音指令进一步执行操作,获取更多的服务。
示例性的,如图6中的(c)图所示,在语音助手应用中的航班管家卡片60可以包括标题区、内容区和声明区。区别于图5中手机负一屏的航班管家卡片,该语音助手中提供的航班管家卡片可以不包括操作区,在手机界面602上预留更多的区域展示一些推荐给用户的语音指令,例如“导航去机场”、“订机票”等与当前用户查看航班信息的场景相关的语音指令,便于用户通过语音指令获取更多的服务。此外,该语音助手中提供的航班管家卡片60的尺寸大小与图5中手机负一屏的航班管家卡片60也可以不同,例如显示长度为1376px,显示宽度为820px,本申请实施例对此不作限定。
图7是本申请实施例提供的又一例卡片的示意图,图7示出了在车载设备上,天气卡片50和航班管家卡片60的一种可能的显示示意图。
应理解,车载设备一般有更大的显示屏,可以提供更大的显示区域显示相关的卡片,不同的卡片也可以显示更详细更多的内容,方便用户查看获取更多的信息。
如图7中的(a)图所示,天气卡片50和航班管家卡片60可以以宫格型横向排列在车载设备界面701上,以适应车载设备的大显示屏。用户可以通过左滑、右滑等方式查看更多的卡片,以获取相应服务。
示例性的,如图7中的(b)图所示,在车载设备界面701上的天气卡片50可以包括标题区、内容区、操作区和声明区。其中,标题区、声明区的显示可以参照图5中的相关介绍,也可以包括更多的信息,此处不再赘述。内容区可以包括当天、明天、后天等多天数的西安天气,方便用户快速获取当前和未来多天内的天气信息,本申请实施例对显示天气的天数和日期不做限定。操作区可以包括“查看更多”按钮,用户如果想查看更多的天气信息,可以点击该“查看更多”按钮,进入天气应用,获取更多的天气信息。此外,天气卡片50的显示长度和显示宽度可以适应当前车载设备的显示屏的尺寸大小,例如天气卡片50在车载设备的显示长度为2176px,显示宽度为3676px;
示例性的,如图7中的(c)图所示,在车载设备界面701上的航班管家卡片60可以包括标题区、内容区和操作区。其中,操作区包括与当前服务相关的“导航”、“航班详情”等按钮,用户可以点击该操作区的任意按钮,从而进入按钮相关的应用,例如用户点击“导航”,可以启动车载设备的导航功能,以更好的适应当前用户的开车场景。此外,航班管家卡片60显示长度为3176px,显示宽度为3676px,该车载设备的航班管家卡片60的显示宽度和天气卡片50的显示宽度相同,可以更整齐美观的以宫格型排列显示在车载设备的显示屏上,提升用户的视觉或者观感体验,本申请实施例对此不作限定。
图8是本申请实施例提供的又一例卡片的示意图,图8示出了在智能手表上,航班管家卡片60的一种可能的显示示意图。
应理解,智能手表的显示屏比较小,因此可以显示当前卡片包含的与用户相关的关键信息,方便提醒用户查看获取关键信息。
如图8中的(a)图所示,航班管家卡片60可以平铺在智能手表界面上,和智能手表的显示屏具有适配的不规则轮廓的样式,以适应智能手表的显示屏。用户可以通过滑动、单击、双击等不同操作方式查看更多的卡片、退出卡片等,本申请实施例对此不作限定。
示例性的,如图8中的(b)图所示,在智能手表界面的航班管家卡片60可以包括标题区、内容区和操作区。其中,内容区仅包括用户的航班日程和时间等关键信息,操作区包括“查看航班详情”按钮,用户可以点击该“查看航班详情”按钮,从而进入航班管家应用,查看值机柜台、登机口等更多的航班信息。
可选地,对于像智能手表等具有不规则形状的显示屏的终端设备,卡片的形状可以适配不规则形状的显示屏,或者,卡片的形状还可以为规则的诸如长方形、正方形、圆形等不同形状,本申请实施例对此不作限定。
通过以上图5至图8的卡片示意图的举例,不同应用在不同终端设备上提供的卡片样式可以不同,且相同应用在不同终端设备上提供的卡片样式也是多变的。
首先,本申请实施例为开发者提供一种卡片布局组件的示例该布局组件的示例规定了多种标准组件。在本申请实施例中,以下表4示出的11种组件为例,每种组件的功能列举如下。
表4
具体地,根据表4列举的11种标准组件可知,该11种标准组件可以提供以下主要功能:
1、Container组件可以作为组件调度中心
示例性的,Container组件作为所有其他适配组件的根组件,可以监听终端设备的操作***样式的变更,监听用户修改字体的事件、终端设备横竖屏的变化事件、折叠屏的变化事件、终端设备语言环境的变化事件等。终端设备发生的所有变化都可以由Container组件监听调度,并通过消息的方式告知其他适配组件,其他适配组件可以监听Container组件的消息通知,调整自身样式,例如字体、宽度、高度等,适配终端设备发生的变化。
2、字体自适应调整
示例性的,以上列举的标准组件可以调整字体类型,实现和终端设备的操作***统一;或者,还可以调整字体大小,例如将字体大小与终端设备的操作***字体进行等比例调整、或者一定比例的缩小、放大等。
3、布局自适应调整
以上列举的标准组件可以对卡片进行镜像布局。示例性的,对于***国家,语言环境变化成镜像语言时,组件的布局也可以对应更改为镜像布局。
或者,部分组件还可以实现卡片样式的栅格化。示例性的,当终端设备的屏幕状态发生变化时,如横屏和竖屏的变化、屏幕折叠和展开的变化等,本申请实施例提供的标准组件还可以根据栅格公式自动压缩或扩张组件,以调整长宽比例。
应理解,以上表4列举的11种标准组件可以全部或者部分地参与到卡片样式调整的过程,本申请实施例对此不作限定。
还应理解,以上表4列举的11种标准组件可以支持不同的终端设备的,例如华为发布的全场景智慧化战略的“1+8+n”泛终端设备。其中“1”表示“手机”,“8”表示“平板、PC、可穿戴设备、高分辨率(high definition,HD)设备、人工智能(artificial intelligence,AI)音箱、耳机、VR设备、车机”等,“N”表示“泛物联网(the Internet of things,IoT)硬件设备”,包括照明、安防、环境、清扫等不同功能的终端设备,泛终端设备可以覆盖多个场景。
一种可能的实现方式中,可以将以上的标准组件总体分大、中、小3个尺寸等级,每一种尺寸等级对应不同的组件宽度、高度。例如图8中的(c)图所示的操作区的“查看航班详情”按钮,可以由Button组件等控制该按钮有大尺寸(294px×50px)、中尺寸(194px×30px)、小尺寸(100px×20px)的不同显示。应理解,对于不同的按钮可以对应不同的尺寸规格,此处不再一一举例。
本申请实施例提供一套卡片布局组件的示例,开发者在开发不同的卡片时,可以根据***提供的卡片布局组件进行卡片布局,对于各种可能的造成卡片样式改变的场景,开发者通过调整卡片的各种卡片布局组件来实现调整卡片的整体布局。
可选地,本申请实施例中可能的造成卡片样式改变的场景可以包括以下:
场景一
针对不同的终端设备,如手机、平板、大屏电视、车载设备、智能手表等,或者针对同一种终端设备的不同***版本,或者针对同一种终端设备的横屏、竖屏、折叠屏等不同的屏幕呈现方式,对同一个卡片的样式的要求不同。
场景二
卡片的样式可能会伴随终端设备的属性改变而发生变化,终端设备的属性改变可以包括当前终端设备的类型、操作***、屏幕状态等发生改变。
应理解,首次在终端设备上加载卡片时,***会根据当前终端设备的类型、操作***、屏幕状态等属性,获取卡片及卡片对应的样式文件,该样式文件决定了卡片在显示屏上的显示样式。当终端设备的属性改变时,卡片的样式也会伴随着发生改变,并覆盖卡片原有的样式文件。
场景三
卡片已经完成渲染过程,用户在使用过程中,如果主动修改了终端设备的显示字体大小、屏幕翻转模式等,卡片的样式也会伴随着发生改变。
对于以上的不同场景,如果每次都通过开发者去调整卡片样式或者组件布局,加重了卡片开发的技术难度,阻碍了卡片服务的生态拓展。针对以上不同场景,本申请实施例提供自适应生成卡片样式的方法,以下针对不同的应用场景进行详细的介绍。
图9和图10是本申请实施例提供的一例调整卡片样式的示意性流程图。下面将以航班动态卡片60在手机的语音助手应用的初始化过程为例,介绍了首次在手机上加载卡片的过程。
如图9所示,该方法包括:
901,用户在宿主应用查看卡片,即请求卡片服务。
示例性的,用户在语音助手应用中首次请求查看航班动态,当前的语音助手应用可以理解为宿主应用,用户申请查看的卡片为航班动态卡片,即用户通过语音助手应用向航班管家应用请求卡片服务。
或者,示例性的,手机负一屏也可以为宿主应用,可以向航班管家应用、天气应用等请求卡片服务。
902,宿主应用获取卡片文件。卡片文件可以是前述介绍的JS文件。
903,卡片引擎40对卡片文件初始化。具体地,卡片初始化的过程就是卡片引擎40开始对卡片进行渲染的过程。
904,卡片渲染时,首先调用Container组件查询当前宿主应用是否支持卡片样式的自适应调整。
905,当宿主应用支持卡片样式的自适应调整时,卡片引擎40调用Container组件获取终端设备的操作***的样式。
可选地,操作***的样式可以包含当前的字体、字体大小、屏幕状态等信息。屏幕状态可以是指屏幕的显示尺寸、横屏显示、竖屏显示等。
906,Container组件根据操作***的样式,同步修改Container组件自身的字体、字体大小和栅格布局,以适配当前操作***的样式。
907,Container组件以消息的方式通知其他的适配组件该修改事件。
可选地,该消息可以包含Container组件修改后的字体、字体大小和栅格布局等信息。一种可能的实现方式中,该消息可以是广播消息,本申请实施例对此不做限定。
可选地,本申请实施例中的适配组件可以指表4中列举的除了Container组件之外的一种或者多种组件,例如Image组件、Image_gallery组件、Frame组件等组件中的一种或者多种组件,本申请实施例对此不做限定。
908,其他适配组件接受到Container组件的消息后,完成本组件的字体、字体大小的修改和栅格化处理,以适配当前操作***的样式。
示例性的,以图6中的(c)图所示的航班动态卡片60的样式为例,在手机的语音助手应用中修首次加载航班管家的卡片时,可以由Container组件获取终端设备的操作***的样式,进而自身组件和其他的Image组件、Image_gallery组件、Frame组件、Button组件等多种适配组件同步修改为与当前操作***样式适配的字体、字体大小和栅格布局等,最终经过渲染呈现给用户的该航班动态卡片60包括标题区、内容区和声明区,各个区域的布局以及显示的文字可以适配当前操作***样式。
以上方法900的过程对应到本申请实施例提供的***400中,可以如图10所示的步骤1-步骤5的过程。具体地,卡片引擎40获取的卡片的JS文件中,包括Container组件和其他适配组件模块,过程包括:
步骤1对应图9中的901-904,在进行卡片渲染时,由Container组件确定宿主应用是否支持大字体适配等,即确定宿主应用是否支持卡片样式的自适应调整;
步骤2对应图9中的905,Container组件获取终端设备的操作***的样式;
步骤3对应于图9中的906,Container组件修改Container组件自身的字体等,例如根据操作***的样式,同步修改字体、字体大小和栅格布局,以适配当前操作***的样式;
步骤4对应于图9中的907,Container组件以消息的方式传递修改事件给其他适配组件;
步骤5对应于图9中的908,其他适配组件收到修改事件,修改本组件的字体等,以适配当前操作***的样式。
应理解,本申请实施例的其他适配组件可以包括以上表4中列举的一种或者多种组件,或者更多的未列举的其他适配组件,本申请实施例对此不作限定。
首次在终端设备上加载卡片时,***会根据当前终端设备的类型、操作***、屏幕状态等属性信息,获取卡片及卡片对应的样式文件,该样式文件决定了卡片在显示屏上的显示样式。
通过上述介绍的方法,对多种组件进行组件标准化,可以在标准组件里实现卡片样式和操作***样式的关联适配。在卡片样式的开发过程中,开发者不感知终端设备的操作***的样式变化;在卡片初始化过程中,通过卡片引擎40监听终端设备的操作***的样式变化,从而同步修改自身的各个组件的样式,完成卡片样式的同步。该过程可以减少开发者的开发负担和任务,避免了开发者不断修改所有卡片涉及组件的样式的过程,以及避免了用户手工修改***的字体或者屏幕状态时,导致卡片和操作***的样式不统一的问题。
图11和图12是本申请实施例提供的又一例调整卡片样式的示意性流程图。下面将以图5中的(d)图所示的航班动态卡片60的样式为例,介绍用户修改手机字体的场景中,航班动态卡片60做字体适配的过程。
如图11所示,该方法包括:
1101,用户修改了终端设备***的字体。
示例性的,用户修改了***的字体可以包括从楷体到宋体的字体样式修改,或者字体的显示大小的修改等,此处不再一一举例。
1102,终端设备调用卡片引擎40,通知***字体变化事件。例如,通过卡片引擎40的回调函数调用卡片引擎40,告知卡片引擎40当前的***字体发生了变化。
1103,卡片引擎40收到字体变化事件的通知后,发消息通知Container组件。
1104,Container组件根据消息的内容修改本组件的字体大小。示例性的,Container组件可以按照操作***字体和卡片字体的比例,等比放大或者缩小来修改本组件的字体大小。
1105,Container组件以消息的方式通知其他的适配组件修改事件。
可选地,该消息可以包含Container组件修改后的字体、字体大小等信息。一种可能的实现方式中,该消息可以是广播消息,本申请实施例对此不做限定。
1106,其他适配组件接受到Container组件的消息后,完成本组件的字体、字体大小的修改,以适配当前操作***的样式。
示例性的,以图5中的(d)图所示的航班动态卡片60的样式为例,如果用户在手机上修改了***的字体,该航班动态卡片60中的标题区、内容区、声明区和操作区的文字的字体也会进行相应调整,或者进行等比例的缩小或放大等。
以上方法1100的过程对应到本申请实施例提供的***400中,可以如图12所示的步骤1-步骤6的过程。具体地,卡片引擎40获取的卡片的JS文件中,包括Container组件和其他适配组件模块,过程包括:
步骤1-步骤2对应图11中的1101,用户修改了终端设备***的字体,且宿主应用可以监听***字体的变化事件;
步骤3对应图11中的1102,终端设备调用卡片引擎40,发送***字体修改事件;
步骤4对应于图11中的1104,Container组件修改Container组件自身的字体等;
步骤5对应于图11中的1105,Container组件以消息的方式传递字体修改事件给其他适配组件;
步骤6对应于图11中的1106,其他适配组件收到修改事件,修改本组件的字体等,以适配当前用户修改的字体。
应理解,本申请实施例的其他适配组件可以包括以上表4中列举的一种或者多种组件,或者更多的未列举的其他适配组件,本申请实施例对此不作限定。
还应理解,该方法除了应用于用户修改终端设备字体、字体大小等场景中,还可以应用于用户切换语言模式,例如从英文到中文的语言切换过程,或者还可以应用于语言环境变化成镜像语言的场景,只要用户的修改动作导致了***的字体、字体大小等显示发生变化的场景,都可以应用本申请实施例提供过的卡片样式的调整方法。
通过上述介绍的方法,对多种组件进行组件标准化,可以在标准组件里实现卡片样式和操作***样式的关联适配。在用户修改了***字体或者卡片样式的场景中,通过卡片引擎监听终端设备的字体的变化,从而同步修改自身的各个组件的字体,完成卡片样式的同步。该过程可以减少开发者的开发负担和任务,当用户手工修改***的字体时,避免了开发者不断修改所有卡片涉及组件的样式的过程,以及避免了卡片和***字体等不统一的问题。
图13和图14是本申请实施例提供的又一例调整卡片样式的示意性流程图。下面将以图5中的(d)图所示的航班动态卡片60的样式为例,介绍屏幕状态发生改变的场景中,航班动态卡片60做样式适配的过程。
如图13所示,该方法包括:
1301,用户改变了终端设备的屏幕状态。
可选地,终端设备的屏幕状态的改变可以是用户通过手机设置等入口修改引发的,例如用户设置在大屏手机上的仅部分区域显示手机界面等;或者,终端设备的屏幕状态的改变也可以是自发进行,例如,手机的加速度传感器和重力传感器检测到手机发生翻转,从而确定屏幕发生横屏、竖屏之间的切换,或者具有折叠屏的手机的展开和折叠状态等,导致手机的屏幕状态的改变,本申请实施例对终端设备的屏幕状态改变的方式不做限定。
1302,终端设备调用卡片引擎40,通知屏幕状态变化事件。例如,通过卡片引擎40的回调函数调用卡片引擎40,告知卡片引擎40当前的屏幕状态发生了变化。
1303,卡片引擎40收到字体变化事件的通知后,发消息通知Container组件。
1304,Container组件根据消息的内容修改本组件的布局方式,例如栅格适配等。
1305,Container组件以消息的方式通知其他适配组件屏幕状态变化事件。
可选地,该消息可以包含Container组件的布局方式等信息。一种可能的实现方式中,该消息可以是广播消息,本申请实施例对此不做限定。
1306,其他适配组件接受到Container组件的消息后,完成本组件的布局方式的修改,以适配当前的屏幕状态。
示例性的,以图5中的(d)图所示的航班动态卡片60的样式为例,如果手机由竖屏切换为横屏状态,该航班动态卡片60中的标题区、内容区、声明区和操作区的栅格会重新进行布局,例如更换为和横屏同宽度的扁平化显示,同时航班动态卡片60中的显示内容的字体也会进行相应调整,或者进行等比例的缩小或放大等。
以上方法1300的过程对应到本申请实施例提供的***400中,可以如图14所示的步骤1-步骤6的过程。具体地,卡片引擎40获取的卡片文件中,包括Container组件和其他适配组件模块,过程包括:
步骤1-步骤2对应图13中的1301,终端设备的屏幕状态发生变化,且宿主应用可以监听屏幕状态变化事件;
步骤3对应图13中的1302,终端设备调用卡片引擎,发送屏幕状态变化事件;
步骤4对应于图13中的1304,Container组件修改Container组件自身的布局方式等;
步骤5对应于图13中的1305,Container组件以消息的方式传递屏幕状态变化事件给其他适配组件;
步骤6对应于图13中的1306,其他适配组件收到屏幕状态变化事件,修改本组件的布局方式等,以适配当前的屏幕状态。
应理解,本申请实施例的其他适配组件可以包括以上表4中列举的一种或者多种组件,或者更多的未列举的其他适配组件,本申请实施例对此不作限定。
通过上述介绍的方法,对多种组件进行组件标准化,可以在标准组件里实现卡片样式和操作***样式的关联适配。在终端设备的屏状态发生变化或切换的场景中,通过卡片引擎监听终端设备的屏幕状态变化,从而同步修改自身的各个组件的布局,完成卡片样式的同步。该过程可以减少开发者的开发负担和任务,当终端设备以任何方式发生屏幕状态变化时,避免了开发者不断修改所有卡片涉及组件的布局的过程,以及避免了卡片和屏幕状态不统一的问题。
上述以卡片布局组件为例,介绍了在多种卡片布局组件里实现卡片样式根据操作***的样式、屏幕状态等进行自适应调整的过程,在另一种可能的实现方式中,本申请实施例为开发者提供一种卡片样式的示例,该卡片样式的示例为开发者提供了多种卡片样式。在本申请实施例中,以下表5示出的14种样式文件为例,每种样式文件的功能列举如下。
表5
具体地,根据表5列举的14种卡片样式文件的示例可知,该14种卡片样式可以提供以下主要功能:
1、提供镜像布局的转化能力。
在镜像语言的环境下,样式也实现镜像转化。例如***国家,语言环境变化成镜像语言时,样式布局也可以对应更改为镜像布局。
2、支持每一种组件样式的统一刷新。当某一个组件样式被修改后,所有引用该样式的组件都统一修改为新的样式。
3、样式可以根据操作***的版本进行适配。新的样式可叠加覆盖原有样式,全局样式可以覆盖私有样式。
针对以上列举的多种标准样式,分别从设备类型、设备版本、操作***版本、组件类型等多个维度生成多套样式文件,每一种样式文件可以适配至少一种终端设备,或者适配至少一种设备版本,或者适配一个操作***版本,又或者适配至少一种组件,本申请实施例对此不作限定。
一种可能的实现方式中,可以基于一套卡片源文件,为不同的样式文件生成新的卡片执行文件。图15是本申请实施例提供过的一例卡片文件开发过程的示意图,如图15所示,由样式管理模块22根据设备类型、设备版本、操作***版本、组件类型等多个维度生成多套样式文件。
卡片管理模块21保存有卡片源文件(UX文件),结合图3和表1-表3示出该卡片源文件的组成结构可知,该卡片源文件中可以包括针对不同组件的样式文件,即图15中卡片管理模块21中示出的组件1、组件2、组件3等,其中组件1、组件2、组件3分别具有卡片源文件中规定的老样式,且组件1、组件2、组件3的老样式可以相同或不同。
用户请求卡片服务时,卡片管理模块21可以从样式管理模块22查询适合当前用户设备、设备版本、操作***版本、组件类型的样式文件;或者由卡片管理模块21告诉样式管理模块22当前用户设备、设备版本、操作***版本、组件类型等信息,卡片管理模块21选择适配的样式文件,返回给卡片管理模块21。卡片管理模块21可以调用编译模块23对卡片源文件和新的样式文件进行重编译,以得到新的卡片文件。
在上述过程中,可以理解为用新的样式文件替换了卡片源文件中的老样式文件,然后进行重编译,得到新的卡片文件,该卡片文件可以适配用户当前设备、设备版本、操作***版本、组件类型等,经过渲染后为用户提供卡片服务。
可选地,该样式管理模块22可以对应于图4中***400的卡片管理平台20中的功能模块;该卡片管理模块21可以对应于图4中***400的卡片管理平台20中的功能模块,也可以是服务器侧的功能模块;编译模块23可以对应于图4中***400的卡片管理平台20中的功能模块,也可以是服务器侧的功能模块,又或者,是用户的终端设备的功能模块,本申请实施例对此不作限定。
应理解,用户的终端设备请求卡片服务时,由卡片管理模块21向样式管理模块22查询卡片服务时,可以基于终端设备的属性(例如当前设备类型、设备版本、操作***版本、组件类型等信息)维度过滤卡片,从多种样式文件中选择适配的目标样式文件,换言之,过滤后的样式文件可以满足用户的终端设备对卡片样式的要求。
根据以上的方法,可以基于卡片的源文件,将差异化的不同样式文件结合卡片的源文件重新编译,生成不同样式的卡片,满足不同设备对卡片样式差异化的要求。应理解,在该种实现方式中,首先开发者必须将卡片源文件托管到服务器端。
针对上述过程,图16是本申请实施例提供的又一例自适应生成卡片样式方法的示意性流程图,该方法描述了用户侧、***维护人员、开发者设备侧和服务器侧的交互过程。如图16所示,该方法1600包括:
1601,卡片开发者使用卡片IDE 10开发卡片。
具体地,在卡片开发过程中,使用表4介绍标准组件和/或表5介绍的标准样式文件,卡片开发后得到卡片源文件(UX文件),经过编译后得到卡片文件。
1602,将卡片源文件(UX文件)上传到卡片管理模块21进行托管。可选地,该过程可以同时上传卡片源文件(UX)和编译后的卡片文件。
1603,***维护人员根据不同的设备类型、设备版本、操作***版本、组件类型等信息,维护多种样式文件。
具体地,根据图15的相关介绍,***维护人员可以根据设备类型、设备版本、操作***版本、应用、应用版本、组件类型等多个维度开发多套样式文件,并将多套样式文件上传到样式管理模块22进行保存和管理,此处不再赘述。
1604,***维护人员请求编译新卡片。
1605,卡片管理模块21可以根据当前的用户设备、设备版本、操作***版本以及服务入口应用的版本等信息,从样式管理模块22获取新的卡片样式,新的样式文件可以满足用户的终端设备对卡片样式的要求。
1606,卡片管理模块21调用编译模块23的编译服务。
1607,卡片管理模块21根据卡片源文件和新的样式文件,调用编译服务为每个样式文件都生成卡片文件,即卡片执行文件。
1608,用户通过终端设备请求卡片服务。
一种可能的实现方式中,终端设备可以将意图事件发送给服务器。具体地,意图事件可以包括用户主动意图和/或卡片所包含的场景信息等。其中,用户主动意图可以理解为用户通过一定的操作请求某个卡片,此时可以出发终端设备向服务器发送请求卡片文件的消息。或者,意图还可以包括终端设备自动匹配的用户当前有未完成的时间信息,例如终端设备检测到用户有未完成的行程、会议安排、事件提醒中的至少一种时,此时可以出发终端设备向服务器发送请求卡片文件的消息。1609,终端设备请求获取卡片文件。
1610,卡片管理模块21根据当前的设备参数信息确定目标卡片文件。应理解,这里设备参数信息可以包括设备类型、设备版本、操作***版本、组件版本、应用、应用版本等一种或多种信息。
1611,返回符合当前终端设备样式要求的目标卡片文件。
1612,目标卡片文件在终端设备上的渲染以及显示。
上述生成卡片文件的过程,基于卡片的源文件,根据终端设备类型、设备版本、操作***版本、应用、应用版本、组件类型等多个维度生成多套样式文件,再根据卡片源文件和多套样式文件,通过重编译机制,一个卡片源文件编译出多套不同的卡片文件。其中,每个卡片文件可以适用于不同样式要求的终端设备。在用户请求卡片服务过程中,对于同一个卡片服务,建立不同的卡片分发机制,可以根据终端设备类型、设备版本、操作***版本、应用、应用版本、组件类型等要求,分发不同的卡片文件,以适配不同的终端设备。
以上过程可以理解为在开发卡片过程中,基于卡片的源文件,将不同的多套样式文件结合卡片的源文件进行重编译,生成不同样式的卡片,以满足不同的终端设备对卡片样式的差异化要求。此外,该过程可以减轻开发者的开发负担和任务,对于不同的终端设备,可以在卡片开发阶段就适配不同的卡片样式,实现了一次开发和多端分发的目的,消除服务生态拓展的阻碍,提升终端设备体验的灵活性。
另一种可能的实现方式中,针对以上列举的针对不同设备类型、设备版本、操作***版本、组件类型等多个维度的多种样式文件,本申请实施例还提供一种卡片样式的动态加载的方法,通过在卡片运行过程中实现自动加载差异化的多种样式文件,可以满足不同终端设备对卡片样式的要求。
图17是本申请实施例提供过的一例卡片文件运行过程的示意图,如图17所示,由样式管理模块22根据设备类型、设备版本、操作***版本、组件类型等多个维度生成多套样式文件,并将多套样式文件上传到服务器侧,服务器侧保存了多套样式文件。根据图4的相关介绍,服务器侧可以是卡片管理平台20和/或卡片分发平台30,本申请实施例对此不作限定。
应理解,在该实施例中,服务器侧除了保存有多套样式文件之外,还保存有编译后的卡片文件,该卡片文件可以是基于卡片源文件和多套样式文件编译的多种卡片执行文件。该过程可以简单描述为以下步骤:
步骤1,在用户向服务器侧请求卡片服务过程中,服务器侧向终端设备分发卡片时,除了分发卡片文件,还下发当前设备和操作***对应的样式文件版本号。
步骤2,卡片引擎40根据样式文件版本号查询本地的样式文件,并判断本地的样式文件是否需要更新。
步骤3,当卡片引擎40确定本地没有当前设备和操作***对应的样式文件或者样式文件版本需要更新时,向服务器侧请求获取目标样式文件。
步骤4,服务器侧响应于终端设备的请求,将目标样式文件发送给终端设备。
步骤5,卡片引擎40渲染卡片时,动态加载模块可以动态加载获取的目标样式文件,使用目标样式文件替换原样式文件,进行重编译和卡片渲染,以呈现符合当前要求的卡片;并在本地缓存该目标样式文件。
上述实现过程中,由服务器侧管理并维护针对不同设备类型、设备版本、操作***版本、组件版本、应用、应用版本等多个维度的多套样式文件。卡片引擎40在卡片渲染过程中,可以判断本地的样式文件是否需要更新,并向HAG侧请求新的样式文件,在卡片渲染时动态加载该新的样式文件,完成卡片编译过程,从而使用卡片最新的样式文件覆盖原有样式文件。
针对上述过程,图18是本申请实施例提供的又一例自适应生成卡片样式方法的示意性流程图,该方法描述了用户侧、***维护人员、开发者设备侧和服务器侧的交互过程。
如图18所示,该方法1800包括:
1801,卡片开发者使用卡片IDE 10开发卡片。具体地,在卡片开发过程中,可以使用表4介绍标准组件和/或表5介绍的标准样式文件,卡片开发后得到卡片源文件(UX文件),经过编译后得到卡片文件。
1802,将卡片文件上传到卡片管理模块21统一管理。可选地,该过程区别于图16中的步骤1602,可以仅上传编译后的卡片文件,不需要对卡片源文件进行托管。
1803,***维护人员根据不同的设备类型、设备版本、操作***版本、组件类型等信息,维护多种样式文件。
具体地,***维护人员可以根据设备类型、设备版本、操作***版本、应用、应用版本、组件类型等多个维度开发多套样式文件,并将多套样式文件上传到样式管理模块22进行保存和管理,此处不再赘述。
1804,用户通过终端设备请求卡片服务。
1805,用户在终端设备设备上获取卡片服务,同时终端设备向卡片管理模块21上传设备参数信息。应理解,这里设备参数信息可以包括设备类型、设备版本、操作***版本、组件版本、应用、应用版本等一种或多种信息。
1806,卡片管理模块21根据设备参数信息确定目标卡片文件。
1807,卡片管理模块21返回给终端设备符合设备样式要求的目标卡片文件和当前设备和***对应的样式文件版本号。
1808,终端设备调用卡片引擎40进行卡片渲染。
1809,卡片引擎40根据样式文件版本号,从本地缓存中查询卡片样式。
1810,卡片引擎40确定本地没有缓存该样式文件版本号对应的样式文件,向样式管理模块22请求目标样式文件,并向样式管理模块22上传设备参数信息。
1811,样式管理模块22根据设备参数信息确定目标样式文件。
1812,样式管理模块22向卡片引擎40返回目标样式文件。
在具体实现过程中,终端设备调用卡片引擎40进行卡片文件进行渲染时,是根据当前从服务器获取的目标卡片文件和本地缓存的样式文件进行重编译,用本地缓存的样式文件替换了目标卡片文件中的样式模块,重编译后将卡片显示给用户。
应理解,以上步骤1810-1812为可选的步骤。该步骤1810-1812的过程可以理解为终端设备和服务器的样式文件进行同步更新的过程,该同步更新的过程可以周期性进行,例如每个月终端设备主动和服务器同步更新2次样式文件,终端设备可以借此更新本地缓存的样式文件,以待下次终端设备请求卡片服务时,使用从服务器获取的目标卡片文件和本地最新缓存的样式文件进行重编译。或者,该同步更新的过程可以在终端设备向服务器请求该卡片服务的次数每满足50次时进行,本申请实施例对此不作限定。
综上,终端设备的样式文件都是从本地缓存中获取的,同时,本地缓存的样式文件可以以一定频率进行更新,和服务器实现同步,该过程可以减少服务器向终端设备发送样式文件的次数,从而降低时延;而且,先使用从服务器获取的目标卡片文件和本地缓存的样式文件进行重编译并渲染卡片,后来如果样式文件被更新后,再结合目标卡片文件和最新的样式文件进行重编译并渲染卡片,该过程可以实现用户无感知,无需用户交互实现最新卡片样式的匹配,提高了用户用户体验。1813,卡片引擎40在本地缓存该目标样式文件。
1814,卡片引擎40动态加载该目标样式文件,用该目标样式文件替换卡片原样式文件进行编译。
1815,卡片引擎40根据编译后的卡片文件进行渲染。
1816,卡片渲染完成后显示卡片给用户。
上述生成卡片文件的过程,根据终端设备类型、设备版本、操作***版本、应用、应用版本、组件类型等多个维度生成多套样式文件,基于卡片样式缓存机制,卡片引擎缓存本设备需要的目标样式文件,如果本地没有缓存相应的目标样式文件,可以在渲染卡片时从HAG云侧请求获取该目标样式文件。再通过该目标样式文件替换原有样式文件,通过重编译、渲染,为用户呈现符合当前设备和***的卡片样式。在该实现过程中,卡片引擎可以支持样式文件独立于卡片文件,卡片加载时可以将目标样式文件加载到卡片引擎中,替代卡片原有样式并生效。
应理解,上述实现过程可以理解为在卡片的运行过程中,动态加载与当前设备和***适配的样式文件,并进行编译,以满足不同终端设备对卡片样式的差异化要求。此外,该过程可以减轻开发者的开发负担和任务,对于不同的终端设备,可以在卡片开发阶段就适配不同的卡片样式,实现了一次开发和多端分发的目的,消除服务生态拓展的阻碍,提升终端设备体验的灵活性。
针对上述介绍的所有实施例,基于卡片开发阶段和卡片运行阶段的不同实现过程,总结如下:
卡片的开发阶段
在卡片服务的实现过程中的卡片的开发阶段,本申请实施例提供了两种卡片开发过程的示例,例如卡片布局组件的示例和样式文件的示例。
其中,卡片布局组件的示例定义了卡片开发中使用的多种标准组件,各个标准组件可以实现字体、字体大小、栅格化、样式覆盖、语音控制等通用功能,以满足不同设备、不同操作***、不同展示场景的诉求。样式文件的示例定义了卡片开发中使用的多种标准样式,为后续卡片样式的自适应调整提供标准支撑。
图19是本申请实施例提供的一例卡片开发过程的示意图。具体地,如图19所示,在卡片的开发阶段,包括:
步骤1,卡片开发者根据卡片布局组件的示例和卡片样式文件的示例开发卡片。
步骤2,卡片发布到HAG侧。例如,将编译后的卡片文件上传到HAG云侧的卡片管理模块21;将标准样式中的多种样式文件上传到样式管理模块22。
应理解,样式管理模块22中除了本申请实施例提供过的多种标准样式示例之外,还可以包括内置的常规样式。例如本申请的多种标准样式示例中包括针对华为MATE 30Pro的“宋体5号”的标准样式1,内置的常规样式包括“Calibri”、“Aharoni”等多种预置字体,当不同用户的负一屏上设置不同时,样式管理模块22可以对提供的多种标准样式示例和内置的常规样式进行兼容,以确定新的样式“Calibri 5号”,更好的满足用户的需求。
卡片的运行阶段——方法一
本申请实施例还提供了一种卡片样式自适应调整的方法,卡片开发者可以将卡片源文件(UX文件)托管到服务器端(如HAG云侧的卡片管理模块21)。
在卡片开发过程中将差异化的样式文件重新编译到卡片源文件中,生成不同样式的卡片,满足不同设备对卡片样式差异化的要求,从而实现卡片自适配与不同的终端设备或操作***。
一种可能的实现方式中,结合图15和图16的介绍,开发者将卡片源文件(UX文件)也托管到HAG云侧的卡片管理模块21,卡片管理模块21可以调用编译服务,将卡片源文件和新的样式文件进行重编译,以在HAG云侧形成新的不同样式的卡片库。
图20是本申请实施例提供的又一例卡片开发过程的示意图。具体地,如图20所示,包括:
步骤1,卡片开发者根据卡片布局组件的示例和卡片样式文件的示例开发卡片。
步骤2,卡片发布到卡片管理平台20。例如,将编译后的卡片文件和卡片源文件(UX文件)上传到服务器侧的卡片管理模块21;将标准样式中的多种样式文件上传到样式管理模块22。
步骤3,卡片管理平台基于卡片源文件和不同样式文件进行重编译,编译出多种不同样式的卡片文件。
步骤4,卡片库的同步到卡片分发平台30。
应理解,卡片管理平台20和卡片分发平台30可以统称为HAG云侧,这里为了阐述不同的功能进行区分。可选地,卡片管理平台可以包括前述的卡片管理模块21和/或样式管理模块22,这里的执行也可以卡片管理模块21来完成。卡片分发平台也可以是卡片管理模块21的用于下发卡片文件的单元。
步骤5,用户请求卡片服务。
步骤6,终端设备向HAG云侧请求获取卡片。
步骤7,卡片分发平台30从卡片库中确定符合设备样式的目标卡片文件,返回终端设备。
步骤8,卡片引擎40进行卡片的渲染以及显示。
卡片的运行阶段——方法二
本申请实施例还提供了一种卡片样式动态加载的方法,卡片开发者可以将样式文件上传到服务器端(如服务器侧的样式管理模块22等)。在卡片渲染过程中,卡片引擎40可以自动加载差异化的样式文件,生成不同样式的卡片,满足不同设备对卡片样式差异化的要求,从而实现卡片自适配与不同的终端设备或操作***。
图21是本申请实施例提供的又一例卡片样式的更新机制示意图。区别于图3示出的现有的卡片更新过程,本申请实施例在卡片服务的实现过程中,分别在两个阶段——卡片的开发阶段和卡片的运行阶段进行改进,具体地包括:
具体地,如图20所示,包括:
步骤1,卡片开发者根据卡片布局组件的示例和卡片样式文件的示例开发卡片。
步骤2,卡片发布到卡片管理平台20。例如,将卡片文件上传到卡片管理模块21,将卡片样式文件的示例中的多种样式文件上传到样式管理模块22。
步骤3,卡片库和样式库分别同步到卡片分发平台30。
步骤4,用户请求卡片服务。
步骤5,终端设备向HAG云侧请求获取卡片。
步骤6,卡片分发平台30从卡片库中确定符合设备样式的目标卡片文件,返回终端设备;并且返回当前设备和***对应的样式文件版本号。
步骤7,卡片引擎40本地缓存有卡片样式,根据样式文件版本号查询判断是否需要更新本地的卡片样式。
步骤8,当卡片样式需要更新时,卡片引擎40向HAG云侧请求当前设备参数信息对应的目标样式文件。
步骤9,卡片分发平台30从样式库中确定目标样式文件,并返回给卡片引擎40。
步骤10,卡片引擎40的动态加载模块动态加载新的目标样式文件替换原有样式,进行卡片的渲染以及显示。
以上为本申请实施例提供过的多种自适应调整卡片样式的方法,通过以上过程,开发者一次开发就可以满足不同终端设备和操作***的样式要求,不用关注不同设备、不同***的卡片样式差异化要求,实现一次开发和多端分发。该方法可以消除卡片服务生态拓展的阻碍,减轻开发者的负担,提升终端产品体验的灵活性。
可以理解的是,终端设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本实施例可以根据上述方法示例对终端设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块可以采用硬件的形式实现。需要说明的是,本实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
本实施例提供的终端设备,用于执行上述生成卡片样式的方法。在采用集成的单元的情况下,终端设备可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对终端设备的动作进行控制管理,例如,可以用于支持终端设备执行显示单元、检测单元和处理单元执行的步骤。存储模块可以用于支持终端设备执行存储程序代码和数据等。通信模块,可以用于支持终端设备与其他设备的通信。
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、Wi-Fi芯片等与其他终端设备交互的设备。
在一个实施例中,当处理模块为处理器,存储模块为存储器时,本实施例所涉及的终端设备可以为具有图1所示结构的设备。
本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在终端设备上运行时,使得终端设备执行上述相关方法步骤实现上述实施例中的自适应生成卡片样式的方法。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的自适应生成卡片样式的方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的自适应生成卡片样式的方法。
其中,本实施例提供的终端设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (55)
1.一种生成卡片的方法,应用于包括电子设备和服务器的***,所述服务器存储有一个或多个卡片的源文件,其特征在于,所述方法包括:
所述电子设备向所述服务器发送第一卡片文件的请求消息,所述第一卡片文件的请求消息包括第一卡片的标识信息和所述电子设备的参数信息;
所述服务器根据所述第一卡片的标识信息,确定所述第一卡片的源文件,以及根据所述电子设备的参数信息,从一个或多个卡片样式文件中确定目标样式文件;
所述服务器根据所述第一卡片的源文件和所述目标样式文件,生成所述第一卡片文件;
所述服务器向所述电子设备发送所述第一卡片文件;
所述电子设备基于所述第一卡片文件,显示所述第一卡片。
2.根据权利要求1所述的方法,其特征在于,当所述电子设备检测到用户调用所述第一卡片的操作时,所述电子设备向所述服务器发送所述第一卡片文件的请求消息;或者
当所述电子设备匹配到预设场景时,所述电子设备向所述服务器发送所述第一卡片文件的请求消息,所述预设场景包括用户待完成的行程、会议安排、事件提醒中的至少一种。
3.根据权利要求1或2所述的方法,其特征在于,所述第一卡片文件包括根组件和一个或多个适配组件,所述电子设备基于所述第一卡片文件,显示所述第一卡片,包括:
所述根组件获取所述第一卡片对应的第一应用的样式和所述电子设备的操作***的样式;
所述根组件根据所述第一应用的样式和所述电子设备的操作***的样式,确定所述根组件的组件样式规则,所述组件样式规则包括所述根组件的字体、字体大小和栅格布局中的至少一种;
所述根组件通知所述一个或多个适配组件所述第一应用的样式和所述电子设备的操作***的样式;
所述一个或多个适配组件中的每个适配组件分别根据所述第一应用的样式和所述电子设备的操作***的样式,修改组件样式规则,所述组件样式规则包括每个适配组件的字体、字体大小和栅格布局中的至少一种;
基于所述根组件的组件样式规则和所述一个或多个适配组件中的每个适配组件的组件样式规则,显示所述第一卡片。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述第一卡片文件包括根组件和一个或多个适配组件,当所述电子设备的状态变化时,所述方法还包括:
所述根组件获取所述电子设备的状态变化事件,所述电子设备的状态变化事件包括***字体变化和/或所述电子设备的屏幕状态变化;
所述根组件根据所述电子设备的状态变化事件,修改所述根组件的组件样式规则,所述组件样式规则包括所述根组件的字体、字体大小和栅格布局中的至少一种;
所述根组件通知所述一个或多个适配组件所述电子设备的状态变化事件;
所述一个或多个适配组件中的每个适配组件分别根据所述电子设备的状态变化事件修改组件样式规则,其中,所述组件样式规则包括每个适配组件的字体、字体大小和栅格布局中的至少一种。
5.根据权利要求3或4所述的方法,其特征在于,所述根组件是容器组件,所述适配组件是图片组件、图片墙组件、布局组件、标签组件、开关组件、按钮组件、搜索组件、列表组件、文本框组件和评分组件中的一种或多种。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述服务器存储有一个或多个卡片样式文件,其中,
所述一个或多个卡片样式文件中每个卡片样式文件对应至少一种类型的电子设备;和/或
所述一个或多个卡片样式文件中每个卡片样式文件对应至少一种版本的电子设备;和/或
所述一个或多个卡片样式文件中每个卡片样式文件对应至少一种操作***版本;和/或
所述一个或多个卡片样式文件中每个卡片样式文件对应至少一种应用版本。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述卡片的源文件是UX文件,所述第一卡片文件是所述UX文件和所述目标样式文件经过编译后的JS文件。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述电子设备的参数信息包括以下至少一种信息:
所述电子设备的类型信息、所述电子设备的版本信息、所述电子设备的操作***版本信息以及所述卡片服务请求对应的应用版本信息。
9.一种生成卡片的方法,应用于包括电子设备和服务器的***,其特征在于,所述方法包括:
所述电子设备向所述服务器发送第一卡片文件的请求消息,所述第一卡片文件的请求消息包括第一卡片的标识信息和所述电子设备的参数信息;
所述服务器根据所述第一卡片文件的标识信息,确定第一卡片文件,以及所述服务器根据所述电子设备的参数信息,确定所述电子设备的目标样式文件的版本;
所述服务器向所述电子设备发送所述第一卡片文件和所述目标样式文件的版本信息;
所述电子设备基于所述第一卡片文件和第一样式文件,显示所述第一卡片,所述第一样式文件是所述电子设备存储的样式文件。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
所述电子设备向所述服务器发送用于请求更新所述第一样式文件的第二请求消息;
所述服务器根据所述第二请求消息,向所述电子设备发送第二样式文件;
所述电子设备保存所述第二样式文件。
11.根据权利要求10所述的方法,其特征在于,所述电子设备向所述服务器发送用于请求更新所述第一样式文件的第二请求消息,包括:
所述电子设备周期性地向所述服务器发送用于请求更新所述第一样式文件的第二请求消息。
12.根据权利要求9至11中任一项所述的方法,其特征在于,当所述电子设备检测到用户调用所述第一卡片的操作时,所述电子设备向所述服务器发送所述第一卡片文件的请求消息;或者
当所述电子设备匹配到预设场景时,所述电子设备向所述服务器发送所述第一卡片文件的请求消息,所述预设场景包括用户待完成的行程、会议安排、事件提醒中的至少一种。
13.根据权利要求9至12中任一项所述的方法,其特征在于,所述第一卡片文件是JS文件,所述JS文件包括模板部分、样式部分和脚本部分,以及所述电子设备基于所述第一卡片文件和第一样式文件,显示所述第一卡片,包括:
所述电子设备通过所述第一样式文件替换所述第一卡片文件中的样式部分,编译得到第二卡片文件;
所述电子设备基于所述第二卡片文件,显示所述第一卡片。
14.根据权利要求13所述的方法,其特征在于,所述第二卡片文件包括根组件和一个或多个适配组件,所述电子设备基于所述第二卡片文件,显示所述第一卡片,包括:
所述根组件获取所述第一卡片对应的第一应用的样式和所述电子设备的操作***的样式;
所述根组件根据所述第一应用的样式和所述电子设备的操作***的样式,确定所述根组件的组件样式规则,所述组件样式规则包括所述根组件的字体、字体大小和栅格布局中的至少一种;
所述根组件通知所述一个或多个适配组件所述第一应用的样式和所述电子设备的操作***的样式;
所述一个或多个适配组件中的每个适配组件分别根据所述第一应用的样式和所述电子设备的操作***的样式,修改组件样式规则,所述组件样式规则包括每个适配组件的字体、字体大小和栅格布局中的至少一种;
基于所述根组件的组件样式规则和所述一个或多个适配组件中的每个适配组件的组件样式规则,显示所述第一卡片。
15.根据权利要求13或14所述的方法,其特征在于,所述第二卡片文件包括根组件和一个或多个适配组件,当所述电子设备的状态变化时,所述方法还包括:
所述根组件获取所述电子设备的状态变化事件,所述电子设备的状态变化事件包括***字体变化和/或所述电子设备的屏幕状态变化;
所述根组件根据所述电子设备的状态变化事件,修改所述根组件的组件样式规则,所述组件样式规则包括所述根组件的字体、字体大小和栅格布局中的至少一种;
所述根组件通知所述一个或多个适配组件所述电子设备的状态变化事件;
所述一个或多个适配组件中的每个适配组件分别根据所述电子设备的状态变化事件修改组件样式规则,其中,所述组件样式规则包括每个适配组件的字体、字体大小和栅格布局中的至少一种。
16.根据权利要求14或15所述的方法,其特征在于,所述根组件是容器组件,所述适配组件是图片组件、图片墙组件、布局组件、标签组件、开关组件、按钮组件、搜索组件、列表组件、文本框组件和评分组件中的一种或多种。
17.根据权利要求9至16中任一项所述的方法,其特征在于,所述服务器存储有一个或多个卡片样式文件,其中,
所述一个或多个卡片样式文件中每个卡片样式文件对应至少一种类型的电子设备;和/或
所述一个或多个卡片样式文件中每个卡片样式文件对应至少一种版本的电子设备;和/或
所述一个或多个卡片样式文件中每个卡片样式文件对应至少一种操作***版本;和/或
所述一个或多个卡片样式文件中每个卡片样式文件对应至少一种应用版本。
18.根据权利要求9至17中任一项所述的方法,其特征在于,所述电子设备的参数信息包括以下至少一种信息:
所述电子设备的类型信息、所述电子设备的版本信息、所述电子设备的操作***版本信息以及所述卡片服务请求对应的应用版本信息。
19.一种生成卡片的方法,应用于包括第一电子设备、第二电子设备和服务器的***,所述第一电子设备和所述第二电子设备的类型不同,所述服务器存储有第一卡片的源文件,其特征在于,所述方法包括:
所述第一电子设备向所述服务器发送第一卡片文件的第一请求消息,所述第一请求消息包括第一卡片的标识信息和所述第一电子设备的参数信息;
所述第二电子设备向所述服务器发送第一卡片文件的第二请求消息,所述第一请求消息包括所述第一卡片的标识信息和所述第二电子设备的参数信息;
所述服务器根据所述第一卡片的标识信息,确定所述第一卡片的源文件,以及根据所述第一电子设备的参数信息,从一个或多个卡片样式文件中确定第一目标样式文件,根据所述第二电子设备的参数信息,从一个或多个卡片样式文件中确定第二目标样式文件;
所述服务器根据所述第一卡片的源文件和所述第一目标样式文件,生成所述第一卡片文件,向所述第一电子设备发送所述第一卡片文件;
所述服务器根据所述第一卡片的源文件和所述第二目标样式文件,生成第二卡片文件,向所述第二电子设备发送所述第二卡片文件;
所述第一电子设备基于所述第一卡片文件,显示具有第一样式的所述第一卡片,所述第二电子设备基于所述第二卡片文件,显示具有所述第二样式的所述第一卡片。
20.根据权利要求19所述的方法,其特征在于,所述第一样式和所述第二样式相同或不同。
21.根据权利要求19或20所述的方法,其特征在于,具有第一样式的所述第一卡片的显示区域包括标题区、内容区、操作区和声明区中的一个或多个区域,具有第二样式的所述第一卡片的显示区域包括标题区、内容区、操作区和声明区中的一个或多个区域。
22.根据权利要求19至21中任一项所述的方法,其特征在于,当所述第一电子设备检测到用户调用所述第一卡片的操作时,向所述服务器发送所述第一卡片文件的第一请求消息;或者
当所述第一电子设备识别到预设场景时,向所述服务器发送所述第一卡片文件的第一请求消息,所述预设场景包括用户待完成的行程、会议安排、事件提醒中的至少一种;以及
当所述第二电子设备检测到用户调用所述第一卡片的操作时,向所述服务器发送所述第一卡片文件的第二请求消息;或者
当所述第二电子设备识别到预设场景时,向所述服务器发送所述第一卡片文件的第二请求消息,所述预设场景包括用户待完成的行程、会议安排、事件提醒中的至少一种。
23.根据权利要求19至22中任一项所述的方法,其特征在于,所述服务器存储有一个或多个卡片样式文件,其中,
所述一个或多个卡片样式文件中每个卡片样式文件对应至少一种类型的电子设备;和/或
所述一个或多个卡片样式文件中每个卡片样式文件对应至少一种版本的电子设备;和/或
所述一个或多个卡片样式文件中每个卡片样式文件对应至少一种操作***版本;和/或
所述一个或多个卡片样式文件中每个卡片样式文件对应至少一种应用版本。
24.根据权利要求19至23中任一项所述的方法,其特征在于,所述第一卡片的源文件是UX文件,所述第一卡片文件是所述UX文件和目标样式文件经过编译后的JS文件。
25.根据权利要求19至24中任一项所述的方法,其特征在于,所述第一电子设备的参数信息包括以下至少一种信息:
所述第一电子设备的类型信息、所述第一电子设备的版本信息、所述第一电子设备的操作***版本信息以及所述卡片服务请求对应的应用版本信息;以及
所述第二电子设备的参数信息包括以下至少一种信息:
所述第二电子设备的类型信息、所述第二电子设备的版本信息、所述第二电子设备的操作***版本信息以及所述卡片服务请求对应的应用版本信息。
26.一种电子设备,其特征在于,所述电子设备用于:
向服务器发送第一卡片文件的请求消息,所述第一卡片文件的请求消息包括第一卡片的标识信息和所述电子设备的参数信息;
接收所述服务器发送的所述第一卡片文件,所述第一卡片文件是所述服务器根据所述第一卡片的源文件和目标样式文件生成的,所述第一卡片的源文件是所述服务器根据所述第一卡片的标识信息确定的,所述目标样式文件是所述服务器根据所述电子设备的参数信息从一个或多个卡片样式文件中确定的;
基于所述第一卡片文件,显示所述第一卡片。
27.根据权利要求26所述的电子设备,其特征在于,当所述电子设备检测到用户调用所述第一卡片的操作时,向所述服务器发送所述第一卡片文件的请求消息;或者
当所述电子设备匹配到预设场景时,向所述服务器发送所述第一卡片文件的请求消息,所述预设场景包括用户待完成的行程、会议安排、事件提醒中的至少一种。
28.根据权利要求26或27所述的电子设备,其特征在于,所述第一卡片文件包括根组件和一个或多个适配组件,所述电子设备基于所述第一卡片文件,显示所述第一卡片,包括:
所述根组件获取所述第一卡片对应的第一应用的样式和所述电子设备的操作***的样式;
所述根组件根据所述第一应用的样式和所述电子设备的操作***的样式,确定所述根组件的组件样式规则,所述组件样式规则包括所述根组件的字体、字体大小和栅格布局中的至少一种;
所述根组件通知所述一个或多个适配组件所述第一应用的样式和所述电子设备的操作***的样式;
所述一个或多个适配组件中的每个适配组件分别根据所述第一应用的样式和所述电子设备的操作***的样式,修改组件样式规则,所述组件样式规则包括每个适配组件的字体、字体大小和栅格布局中的至少一种;
基于所述根组件的组件样式规则和所述一个或多个适配组件中的每个适配组件的组件样式规则,显示所述第一卡片。
29.根据权利要求26至28中任一项所述的电子设备,其特征在于,所述第一卡片文件包括根组件和一个或多个适配组件,当所述电子设备的状态变化时,
所述根组件获取所述电子设备的状态变化事件,所述电子设备的状态变化事件包括***字体变化和/或所述电子设备的屏幕状态变化;
所述根组件根据所述电子设备的状态变化事件,修改所述根组件的组件样式规则,所述组件样式规则包括所述根组件的字体、字体大小和栅格布局中的至少一种;
所述根组件通知所述一个或多个适配组件所述电子设备的状态变化事件;
所述一个或多个适配组件中的每个适配组件分别根据所述电子设备的状态变化事件修改组件样式规则,其中,所述组件样式规则包括每个适配组件的字体、字体大小和栅格布局中的至少一种。
30.根据权利要求28或29所述的电子设备,其特征在于,所述根组件是容器组件,所述适配组件是图片组件、图片墙组件、布局组件、标签组件、开关组件、按钮组件、搜索组件、列表组件、文本框组件和评分组件中的一种或多种。
31.根据权利要求26至30中任一项所述的电子设备,其特征在于,所述卡片的源文件是UX文件,所述第一卡片文件是所述UX文件和所述目标样式文件经过编译后的JS文件。
32.根据权利要求26至31中任一项所述的电子设备,其特征在于,所述电子设备的参数信息包括以下至少一种信息:
所述电子设备的类型信息、所述电子设备的版本信息、所述电子设备的操作***版本信息以及所述卡片服务请求对应的应用版本信息。
33.一种电子设备,其特征在于,所述电子设备用于:
向所述服务器发送第一卡片文件的请求消息,所述第一卡片文件的请求消息包括第一卡片的标识信息和所述电子设备的参数信息;
基于所述第一卡片文件和第一样式文件,显示第一卡片,所述第一样式文件是所述电子设备存储的样式文件,所述第一卡片文件是所述服务器根据所述第一卡片文件的标识信息确定的。
34.根据权利要求33所述的电子设备,其特征在于,所述电子设备还用于:
向所述服务器发送用于请求更新所述第一样式文件的第二请求消息;
接收所述服务器发送的第二样式文件,保存所述第二样式文件。
35.根据权利要求34所述的电子设备,其特征在于,所述电子设备向所述服务器发送用于请求更新所述第一样式文件的第二请求消息,包括:
所述电子设备周期性地向所述服务器发送用于请求更新所述第一样式文件的第二请求消息。
36.根据权利要求33至35中任一项所述的电子设备,其特征在于,当所述电子设备检测到用户调用所述第一卡片的操作时,所述电子设备向所述服务器发送所述第一卡片文件的请求消息;或者
当所述电子设备匹配到预设场景时,所述电子设备向所述服务器发送所述第一卡片文件的请求消息,所述预设场景包括用户待完成的行程、会议安排、事件提醒中的至少一种。
37.根据权利要求33至36中任一项所述的电子设备,其特征在于,所述第一卡片文件是JS文件,所述JS文件包括模板部分、样式部分和脚本部分,以及所述电子设备还用于:
通过所述第一样式文件替换所述第一卡片文件中的样式部分,编译得到第二卡片文件;
基于所述第二卡片文件,显示所述第一卡片。
38.根据权利要求37所述的电子设备,其特征在于,所述第二卡片文件包括根组件和一个或多个适配组件,所述电子设备基于所述第二卡片文件,显示所述第一卡片,包括:
所述根组件获取所述第一卡片对应的第一应用的样式和所述电子设备的操作***的样式;
所述根组件根据所述第一应用的样式和所述电子设备的操作***的样式,确定所述根组件的组件样式规则,所述组件样式规则包括所述根组件的字体、字体大小和栅格布局中的至少一种;
所述根组件通知所述一个或多个适配组件所述第一应用的样式和所述电子设备的操作***的样式;
所述一个或多个适配组件中的每个适配组件分别根据所述第一应用的样式和所述电子设备的操作***的样式,修改组件样式规则,所述组件样式规则包括每个适配组件的字体、字体大小和栅格布局中的至少一种;
基于所述根组件的组件样式规则和所述一个或多个适配组件中的每个适配组件的组件样式规则,显示所述第一卡片。
39.根据权利要求37或38所述的电子设备,其特征在于,所述第二卡片文件包括根组件和一个或多个适配组件,当所述电子设备的状态变化时,
所述根组件获取所述电子设备的状态变化事件,所述电子设备的状态变化事件包括***字体变化和/或所述电子设备的屏幕状态变化;
所述根组件根据所述电子设备的状态变化事件,修改所述根组件的组件样式规则,所述组件样式规则包括所述根组件的字体、字体大小和栅格布局中的至少一种;
所述根组件通知所述一个或多个适配组件所述电子设备的状态变化事件;
所述一个或多个适配组件中的每个适配组件分别根据所述电子设备的状态变化事件修改组件样式规则,其中,所述组件样式规则包括每个适配组件的字体、字体大小和栅格布局中的至少一种。
40.根据权利要求38或39所述的电子设备,其特征在于,所述根组件是容器组件,所述适配组件是图片组件、图片墙组件、布局组件、标签组件、开关组件、按钮组件、搜索组件、列表组件、文本框组件和评分组件中的一种或多种。
41.根据权利要求33至40中任一项所述的电子设备,其特征在于,所述电子设备的参数信息包括以下至少一种信息:
所述电子设备的类型信息、所述电子设备的版本信息、所述电子设备的操作***版本信息以及所述卡片服务请求对应的应用版本信息。
42.一种服务器,其特征在于,包括:
卡片管理模块,存储有一个或多个卡片的源文件;
样式管理模块,存储有一个或多个卡片样式文件;
所述卡片管理模块,还用于接收电子设备发送的第一卡片文件的请求消息,所述第一卡片文件的请求消息包括第一卡片的标识信息和所述电子设备的参数信息;
根据所述第一卡片的标识信息,确定所述第一卡片的源文件,以及根据所述电子设备的参数信息,从一个或多个卡片样式文件中确定目标样式文件;
根据所述第一卡片的源文件和所述目标样式文件,生成所述第一卡片文件;
向所述电子设备发送所述第一卡片文件。
43.根据权利要求42所述的服务器,其特征在于,
所述一个或多个卡片样式文件中每个卡片样式文件对应至少一种类型的电子设备;和/或
所述一个或多个卡片样式文件中每个卡片样式文件对应至少一种版本的电子设备;和/或
所述一个或多个卡片样式文件中每个卡片样式文件对应至少一种操作***版本;和/或
所述一个或多个卡片样式文件中每个卡片样式文件对应至少一种应用版本。
44.根据权利要求42或43所述的服务器,其特征在于,所述卡片的源文件是UX文件,所述第一卡片文件是所述UX文件和所述目标样式文件经过编译后的JS文件。
45.根据权利要求42至44中任一项所述的服务器,其特征在于,所述电子设备的参数信息包括以下至少一种信息:
所述电子设备的类型信息、所述电子设备的版本信息、所述电子设备的操作***版本信息以及所述卡片服务请求对应的应用版本信息。
46.一种服务器,其特征在于,包括:
卡片管理模块,存储有一个或多个卡片的源文件;
样式管理模块,存储有一个或多个卡片样式文件;
所述卡片管理模块,还用于接收电子设备发送的第一卡片文件的请求消息,所述第一卡片文件的请求消息包括第一卡片的标识信息和所述电子设备的参数信息;
根据所述第一卡片文件的标识信息,确定第一卡片文件,以及根据所述电子设备的参数信息,确定所述电子设备的目标样式文件的版本;
所述服务器向所述电子设备发送所述第一卡片文件和所述目标样式文件的版本信息。
47.根据权利要求46所述的服务器,其特征在于,所述卡片管理模块还用于:
接收所述电子设备发送的用于请求更新所述第一样式文件的第二请求消息;
根据所述第二请求消息,向所述电子设备发送第二样式文件。
48.根据权利要求47所述的服务器,其特征在于,所述卡片管理模块还用于:
周期性地接收所述电子设备发送的用于请求更新所述第一样式文件的第二请求消息。
49.根据权利要求46至48中任一项所述的服务器,其特征在于,所述第一卡片文件是JS文件,所述JS文件包括模板部分、样式部分和脚本部分。
50.根据权利要求49所述的服务器,其特征在于,所述第二卡片文件包括根组件和一个或多个适配组件,所述根组件是容器组件,所述适配组件是图片组件、图片墙组件、布局组件、标签组件、开关组件、按钮组件、搜索组件、列表组件、文本框组件和评分组件中的一种或多种。
51.根据权利要求46至50中任一项所述的服务器,其特征在于,
所述一个或多个卡片样式文件中每个卡片样式文件对应至少一种类型的电子设备;和/或
所述一个或多个卡片样式文件中每个卡片样式文件对应至少一种版本的电子设备;和/或
所述一个或多个卡片样式文件中每个卡片样式文件对应至少一种操作***版本;和/或
所述一个或多个卡片样式文件中每个卡片样式文件对应至少一种应用版本。
52.根据权利要求46至51中任一项所述的服务器,其特征在于,所述电子设备的参数信息包括以下至少一种信息:
所述电子设备的类型信息、所述电子设备的版本信息、所述电子设备的操作***版本信息以及所述卡片服务请求对应的应用版本信息。
53.一种电子设备,其特征在于,包括:
一个或多个处理器;
一个或多个存储器;
安装有多个应用程序的模块;
所述存储器存储有一个或多个程序,当所述一个或者多个程序被所述处理器执行时,使得所述电子设备执行如权利要求1至25中任一项所述电子设备所执行的方法。
54.一种服务器,其特征在于,包括:处理器、存储器和接口;
所述处理器、存储区和接口相互配合,使得所述服务器执行如权利要求1至25中任一项所述服务器所执行的方法。
55.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在电子设备、或者服务器上运行时,执行如权利要求1至25中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010495049.4A CN113761427A (zh) | 2020-06-03 | 2020-06-03 | 自适应生成卡片的方法、终端设备和服务器 |
PCT/CN2021/087565 WO2021244154A1 (zh) | 2020-06-03 | 2021-04-15 | 自适应生成卡片的方法、终端设备和服务器 |
EP21817763.2A EP4148567A4 (en) | 2020-06-03 | 2021-04-15 | ADAPTIVE MAP GENERATION METHOD, TERMINAL DEVICE AND SERVER |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010495049.4A CN113761427A (zh) | 2020-06-03 | 2020-06-03 | 自适应生成卡片的方法、终端设备和服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113761427A true CN113761427A (zh) | 2021-12-07 |
Family
ID=78783251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010495049.4A Pending CN113761427A (zh) | 2020-06-03 | 2020-06-03 | 自适应生成卡片的方法、终端设备和服务器 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4148567A4 (zh) |
CN (1) | CN113761427A (zh) |
WO (1) | WO2021244154A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115022269A (zh) * | 2021-12-30 | 2022-09-06 | 北京字跳网络技术有限公司 | 一种消息处理方法、装置、设备及介质 |
CN115033331A (zh) * | 2022-06-28 | 2022-09-09 | Oppo广东移动通信有限公司 | 卡片显示方法及相关产品 |
WO2023005711A1 (zh) * | 2021-07-28 | 2023-02-02 | 华为技术有限公司 | 一种服务的推荐方法及电子设备 |
CN116700573A (zh) * | 2022-04-29 | 2023-09-05 | 荣耀终端有限公司 | 一种替换应用卡片的方法及终端设备 |
WO2023226922A1 (zh) * | 2022-05-27 | 2023-11-30 | 华为技术有限公司 | 卡片管理方法、电子设备及计算机可读存储介质 |
WO2024055875A1 (zh) * | 2022-09-14 | 2024-03-21 | 华为技术有限公司 | 服务卡片的添加方法、电子设备及计算机可读存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116450259A (zh) * | 2022-01-10 | 2023-07-18 | 荣耀终端有限公司 | 服务异常提醒方法、电子设备及存储介质 |
CN117420936A (zh) * | 2022-07-19 | 2024-01-19 | 荣耀终端有限公司 | 日历视图的显示方法、电子设备及可读存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160103927A1 (en) * | 2014-10-09 | 2016-04-14 | Wrap Media, LLC | Automatic sizing of wrap packages of cards |
US20170017634A1 (en) * | 2015-07-17 | 2017-01-19 | Wrap Media, LLC | System and method for authoring and delivering wrap packages of cards |
US10326858B2 (en) * | 2017-05-23 | 2019-06-18 | Cdk Global, Llc | System and method for dynamically generating personalized websites |
CN107729074B (zh) * | 2017-09-25 | 2021-02-23 | 百富计算机技术(深圳)有限公司 | 一种pos应用的用户界面的加载方法及装置 |
CN110572431A (zh) * | 2019-07-31 | 2019-12-13 | 华为技术有限公司 | 一种卡片分享方法、装置及*** |
-
2020
- 2020-06-03 CN CN202010495049.4A patent/CN113761427A/zh active Pending
-
2021
- 2021-04-15 WO PCT/CN2021/087565 patent/WO2021244154A1/zh active Application Filing
- 2021-04-15 EP EP21817763.2A patent/EP4148567A4/en active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023005711A1 (zh) * | 2021-07-28 | 2023-02-02 | 华为技术有限公司 | 一种服务的推荐方法及电子设备 |
CN115022269A (zh) * | 2021-12-30 | 2022-09-06 | 北京字跳网络技术有限公司 | 一种消息处理方法、装置、设备及介质 |
WO2023124906A1 (zh) * | 2021-12-30 | 2023-07-06 | 北京字跳网络技术有限公司 | 一种消息处理方法、装置、设备及介质 |
CN116700573A (zh) * | 2022-04-29 | 2023-09-05 | 荣耀终端有限公司 | 一种替换应用卡片的方法及终端设备 |
WO2023207128A1 (zh) * | 2022-04-29 | 2023-11-02 | 荣耀终端有限公司 | 一种替换应用卡片的方法及终端设备 |
CN116700573B (zh) * | 2022-04-29 | 2024-05-03 | 荣耀终端有限公司 | 一种替换应用卡片的方法及终端设备 |
WO2023226922A1 (zh) * | 2022-05-27 | 2023-11-30 | 华为技术有限公司 | 卡片管理方法、电子设备及计算机可读存储介质 |
CN115033331A (zh) * | 2022-06-28 | 2022-09-09 | Oppo广东移动通信有限公司 | 卡片显示方法及相关产品 |
WO2024055875A1 (zh) * | 2022-09-14 | 2024-03-21 | 华为技术有限公司 | 服务卡片的添加方法、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP4148567A4 (en) | 2023-11-01 |
EP4148567A1 (en) | 2023-03-15 |
WO2021244154A1 (zh) | 2021-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114397979B (zh) | 一种应用显示方法及电子设备 | |
CN114816210B (zh) | 一种移动终端的全屏显示方法及设备 | |
WO2021244154A1 (zh) | 自适应生成卡片的方法、终端设备和服务器 | |
CN110597512B (zh) | 显示用户界面的方法及电子设备 | |
WO2020253758A1 (zh) | 一种用户界面布局方法及电子设备 | |
CN112148400B (zh) | 锁定状态下的显示方法及装置 | |
CN111316199B (zh) | 一种信息处理方法及电子设备 | |
WO2020093988A1 (zh) | 一种图像处理方法及电子设备 | |
CN111190681A (zh) | 显示界面适配方法、显示界面适配设计方法和电子设备 | |
CN113553130B (zh) | 应用执行绘制操作的方法及电子设备 | |
CN113778574B (zh) | 卡片分享方法、电子设备及通信*** | |
WO2022095744A1 (zh) | Vr显示控制方法、电子设备及计算机可读存储介质 | |
CN116450251A (zh) | 一种适配多设备的页面布局的方法及电子设备 | |
CN115934314A (zh) | 一种应用运行方法以及相关设备 | |
CN115333941A (zh) | 获取应用运行情况的方法及相关设备 | |
US20230259346A1 (en) | Application Module Startup Method and Electronic Device | |
CN113495733A (zh) | 主题包安装方法、装置、电子设备及计算机可读存储介质 | |
WO2024046010A1 (zh) | 一种界面显示方法、设备及*** | |
CN116737292B (zh) | 一种显示模式的切换方法、电子设备及可读存储介质 | |
WO2023066177A1 (zh) | 动画效果显示方法及电子设备 | |
WO2022143891A1 (zh) | 焦点同步方法及电子设备 | |
CN117850727A (zh) | Vsync信号的控制方法、电子设备、存储介质及芯片 | |
CN114692641A (zh) | 获取字符的方法和装置 | |
CN117666861A (zh) | 服务卡片分发方法、***和电子设备 | |
CN115373778A (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 |