CN115048148A - 一种应用运行方法及电子设备 - Google Patents

一种应用运行方法及电子设备 Download PDF

Info

Publication number
CN115048148A
CN115048148A CN202110258436.0A CN202110258436A CN115048148A CN 115048148 A CN115048148 A CN 115048148A CN 202110258436 A CN202110258436 A CN 202110258436A CN 115048148 A CN115048148 A CN 115048148A
Authority
CN
China
Prior art keywords
application
electronic device
data processing
electronic equipment
data
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
CN202110258436.0A
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202110258436.0A priority Critical patent/CN115048148A/zh
Priority to PCT/CN2022/079565 priority patent/WO2022188750A1/zh
Publication of CN115048148A publication Critical patent/CN115048148A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution
    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请实施例提供了一种应用运行方法及电子设备,涉及终端技术领域。第一电子设备读取第一应用的界面布局文件,在根据界面布局文件生成第一UI的过程中向另一电子设备发送调用第一数据处理的请求,请求获取生成第一UI对应的第一数据;调用第一数据处理的请求包括第一电子设备标识,第一应用包名,第一数据处理名称和接口参数;另一电子设备根据第一应用包名,第一数据处理名称和接口参数获取第一数据,并将第一数据返回给第一电子设备;第一电子设备根据界面布局文件和第一数据生成第一应用的第一UI。这样,当第一电子设备是轻量级设备或硬件条件受限,也可以不受硬件制约,方便快捷的运行支持界面交互的应用,为用户提供丰富便捷的使用体验。

Description

一种应用运行方法及电子设备
技术领域
本申请涉及终端技术领域,尤其涉及一种应用运行方法及电子设备。
背景技术
根据终端设备的内存等硬件条件,智能手表、车机、智能音箱等终端设备称为轻量级设备;手机、电脑、大屏设备等终端设备称为富设备。受限于硬件条件,轻量级设备一般搭载轻量级操作系统。轻量级操作系统支持的数据库、应用编程接口(applicationprogramming interface,API)等资源比较少,通常,开发者需要为轻量级操作系统开发适配的应用;这些应用不支持界面交互。支持界面交互的应用需要运行在富设备上,无法直接在轻量级设备上运行。
随着技术发展,用户使用轻量级设备运行支持界面交互的应用的需求越来越强烈。如何在轻量级设备上方便快捷的运行支持界面交互的应用,是亟待解决的问题。
发明内容
本申请实施例提供一种应用运行方法及电子设备,使得轻量级设备不受硬件制约,方便快捷的运行支持界面交互的应用,为用户提供丰富便捷的使用体验。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供一种应用运行方法,应用于第一电子设备,第一电子设备与一个或多个第二电子设备分布式组网,该方法包括:第一电子设备读取第一应用的界面布局文件,界面布局文件用于对第一应用的用户接口界面UI进行UI布局描述和UI行为定义;第一电子设备向第三电子设备发送调用第一数据处理的请求;调用第一数据处理的请求包括第一电子设备标识,第一应用包名,第一数据处理名称和接口参数;第一数据处理用于提供根据界面布局文件生成第一UI对应的第一数据,接口参数用于指示第一数据;其中,第三电子设备是一个或多个第二电子设备中的一个。第一电子设备从第三电子设备获取第一数据;第一电子设备根据界面布局文件和第一数据生成第一应用的第一UI。其中,第一数据处理可以提供生成第一应用的第一UI需要的媒体资源,数据管理,媒体编解码能力等。
在该方法中,在第一电子设备上运行应用的UI,UI解析、渲染,UI交互事件处理均在该电子设备上完成。UI解析、渲染,UI交互事件处理过程中使用的媒体资源,数据管理,媒体编解码能力等由第三电子设备提供。比如,轻量级设备运行应用的UI,富设备提供数据和能力支持;通过轻量级设备和富设备的协同工作,应用可以直接运行在轻量级设备上。再比如,第一电子设备的硬件不支持应用运行需要的某些能力,可以调用第三电子设备的该能力,使得第一电子设备可以直接运行应用。这样,轻量级设备或一些硬件条件受限的电子设备也可以方便快捷的运行支持界面交互的应用;用户可以直接在轻量级设备或硬件条件受限的电子设备上通过应用的UI进行人机交互,为用户提供更丰富的使用体验。
结合第一方面,在一种可能的实现方式中,该方法还包括:第一电子设备根据第一数据的类型确定第一数据处理。
结合第一方面,在一种可能的实现方式中,该方法还包括:如果第一电子设备确定第一电子设备不支持第一数据处理,确定向第三电子设备发送调用第一数据处理的请求。
结合第一方面,在一种可能的实现方式中,该方法还包括:第一电子设备确定支持第一数据处理的一个或多个第二电子设备;根据预设策略将支持第一数据处理的一个或多个第二电子设备中的一个确定为第三电子设备。
也就是说,一个或多个第二电子设备都支持第一数据处理,第一电子设备根据预设策略确定向一个或多个第二电子设备中的一个请求获取第一数据。
在一种可能的实现方式中,预设策略包括:
1、将用户账号与第一电子设备的用户账号相同的第二电子设备确定为第三电子设备。
2、将在第一电子设备上拉起第一应用的第二电子设备确定为第三电子设备。
3、将第一数据处理所在进程存活的第二电子设备确定为第三电子设备。
4、根据支持第一数据处理的第二电子设备的硬件条件,确定第三电子设备;其中,硬件条件包括中央处理器CPU频率或内存大小。
在一种可能的实现方式中,上述预设策略1-4的优先级由高到低。
第二方面,本申请提供一种应用运行方法,该方法包括:第二电子设备运行第一应用的安装包,安装第一应用;第二电子设备接收调用第一数据处理的请求;其中,调用第一数据处理的请求包括第一电子设备标识,第一应用包名,第一数据处理名称和接口参数;第一数据处理用于提供根据第一应用的界面布局文件生成第一UI对应的第一数据,接口参数用于指示第一数据;第二电子设备根据第一应用包名,第一数据处理名称和接口参数获取第一数据;并根据第一电子设备标识确定第一电子设备,向第一电子设备发送第一数据。
在该方法中,第二电子设备根据第一电子设备的调用第一数据处理的请求,获取第一电子设备根据第一应用的界面布局文件生成第一UI对应的第一数据;并向第一电子设备提供第一数据;使得第一电子设备上可以运行第一应用的UI。比如,第一电子设备是轻量级设备,第二电子设备是富设备;通过轻量级设备和富设备的协同工作,第一应用可以直接运行在轻量级设备上。再比如,第一电子设备的硬件不支持第一应用运行需要的某些能力,可以调用第二电子设备的该能力,使得第一电子设备可以直接运行第一应用。这样,轻量级设备或一些硬件条件受限的电子设备也可以方便快捷的运行支持界面交互的应用;用户可以直接在轻量级设备或硬件条件受限的电子设备上通过应用的UI进行人机交互,为用户提供更丰富的使用体验。
结合第二方面,在一种可能的实现方式中,在第二电子设备运行第一应用的安装包,安装第一应用之后,该方法还包括:第一应用的一个或多个数据处理分别注册对应的数据处理信息;数据处理信息包括数据处理名称,数据处理所属应用包名,数据处理所在电子设备的设备标识;第二电子设备向分布式组网内电子设备同步第一电子设备上的数据处理信息。这样,分布式组网内每个电子设备的模型管理都包括分布式组网内全部电子设备上的数据处理的数据处理信息。第一电子设备可以根据保存的模型管理信息获取到支持第一数据处理的一个或多个第二电子设备。
结合第二方面,在一种可能的实现方式中,调用第一数据处理的请求中还包括用户签名;第二电子设备校验第二电子设备中第一应用包名与调用第一数据处理接口请求中的第一应用包名是否一致,校验第二电子设备中第一应用的签名与调用第一数据处理接口请求中第一应用的签名是否一致。这样,可以避免第一数据处理被第一应用之外的应用恶意调用,保证数据安全。
第三方面,本申请实施例提供一种电子设备,该电子设备可以实现上述第一方面或第二方面及其可能的实现方式所述的应用运行方法,其可以通过软件、硬件、或者通过硬件执行相应的软件实现上述方法。在一种可能的设计中,该电子设备可以包括处理器和存储器。该处理器被配置为支持该电子设备执行上述第一方面或第二方面方法中相应的功能。存储器用于与处理器耦合,其保存该电子设备必要的程序指令和数据。
第四方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当所述计算机指令在电子设备上运行时,使得电子设备执行如上述第一方面或第二方面及其可能的实现方式所述的应用运行方法。
第五方面,本申请实施例提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如上述第一方面或第二方面及其可能的实现方式所述的应用运行方法。
第三方面所述的电子设备,第四方面所述的计算机可读存储介质,第五方面所述的计算机程序产品所带来的技术效果可参见上述对应的方法所带来的技术效果,此处不再赘述。
附图说明
图1为现有技术中一种应用运行方法示意图;
图2为本申请实施例提供的应用运行方法场景示意图;
图3为本申请实施例提供的电子设备的硬件结构示意图;
图4为本申请实施例提供的应用运行方法所适用的场景架构示意图;
图5为本申请实施例提供的应用运行方法的流程示意图;
图6为本申请实施例提供的一种电子设备的结构组成示意图;
图7为本申请实施例提供的一种电子设备的结构组成示意图。
具体实施方式
以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请以下各实施例中,“至少一个”、“一个或多个”是指一个或两个以上(包含两个)。术语“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。术语“连接”包括直接连接和间接连接,除非另外说明。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
在本申请实施例中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
受限于硬件条件,轻量级设备一般搭载轻量级操作系统,比如
Figure BDA0002968529580000041
等物联网(internet of things,IOT)操作系统。IOT操作系统对设备硬件要求较低,大多可运行在随机存取存储器(random access memory,RAM)在10KB以内的设备上;轻量级操作系统提供的功能受设备限制,比如,不支持Java虚拟机(java virtual machine,JVM)、数据库等,不支持带用户界面的应用。支持界面交互的应用需要运行在搭载
Figure BDA0002968529580000042
等富操作系统的设备上。富操作系统对设备硬件要求较高。比如,Android 7.1的RAM最小需求为512MB,Android 4.4的RAM最小需求为340MB,Android Things的RAM最小需求为512MB。轻量级设备通常无法达到富操作系统的硬件要求。
随着物联网越来越普及,用户使用IOT设备时,在IOT设备上进行人机交互的需求越来越强烈。目前,轻量级设备一般不支持运行带用户界面的应用。现有技术中,可以将手机等富设备的用户界面投屏至车机等轻量级设备。以使得用户可以在轻量级设备进行人机交互。比如,如图1所示,手机搭载
Figure BDA0002968529580000043
操作系统,车机搭载IOT操作系统。应用运行在手机的
Figure BDA0002968529580000044
操作系统上,手机通过CarPlay将应用的用户界面投屏至车机上;车机屏幕显示投屏的用户界面,用户在车机屏幕上进行人机交互。应用开发者在应用中集成CarPlay框架,使用CarPlay框架预定义的接口即可使应用支持CarPlay;手机
Figure BDA0002968529580000045
操作系统与车机IOT操作系统之间通过CarPlay协议进行通信。
用户界面(user interface,UI)在手机侧生成,通过音视频流的方式传输至车机。车机接收到用户在UI上的操作,将交互事件传回手机进行处理。手机还将响应于交互事件更新的UI传输至车机进行显示。这样,用户在与CarPlay应用交互时,用户界面的响应时延较大。并且,CarPlay对应用的类型、用户的交互方式均存在限制;比如,CarPlay仅支持音乐、短信、VoIP、导航、整车管理类应用,且只能响应CarPlay框架限定的交互事件,灵活性受限。
本申请实施例提供一种应用运行方法,在轻量级设备上直接运行应用的UI,UI解析、渲染,UI交互事件处理均在轻量级设备上完成;UI解析、渲染,UI交互事件处理过程中使用的媒体资源,数据管理,媒体编解码能力等由富设备提供。通过轻量级设备和富设备的协同工作,用户可以直接在轻量级设备上通过应用的UI进行人机交互,为用户提供更丰富的使用体验。
在一种示例中,如图2所示,一个或多个电子设备100与一个或多个电子设备200分布式组网。比如,一个或多个电子设备100与一个或多个电子设备200接入同一个局域网。局域网内电子设备100和电子设备200之间可以进行无线通信。电子设备100硬件受限。比如,电子设备100的内存较小,不能支持
Figure BDA0002968529580000046
等富操作系统;比如,电子设备100没有摄像头,不具备获取图像数据能力等。一个应用分别安装在电子设备100和一个或多个电子设备200上。电子设备100根据应用的界面布局文件进行UI解析、渲染,并显示生成的UI;电子设备100还接收用户对UI的操作,生成UI交互事件,并对交互事件进行处理。电子设备100在UI解析、渲染,UI交互事件处理过程中使用的媒体资源,数据管理,媒体编解码能力等由一个或多个电子设备200提供。在一些实施例中,一个电子设备100上运行一个应用时使用的媒体资源,数据管理,媒体编解码能力等由一个电子设备200提供。在另一些实施例中,一个电子设备100上运行一个应用时使用的媒体资源,数据管理,媒体编解码能力等由多个电子设备200提供。比如,一个电子设备200提供UI解析使用的媒体资源,另一个电子设备200提供媒体编解码能力。这样,电子设备100的操作系统可以运行应用的UI,用户可以直接在电子设备100上通过应用的UI进行人机交互;并且不需提供UI的媒体资源,数据管理或媒体编解码能力等,降低了对电子设备100的硬件要求。示例性的,电子设备100的RAM最小要求在1MB以内。
上述电子设备100可以包括智能家居设备(比如,智能门锁、智能门铃、智能音箱、智能空调等)、可穿戴设备(比如,智能手表、智能手环等)、增强现实(augmented reality,AR)\虚拟现实(virtual reality,VR)设备、车载电脑等,本申请实施例对此不做任何限制。电子设备100的示例性实施例包括但不限于搭载IOT操作系统或其它操作系统的轻量级设备。可以理解的是,在其他一些实施例中,上述电子设备100也可以不是轻量级设备,而是搭载
Figure BDA0002968529580000051
或者其它操作系统的富设备。
上述电子设备200可以包括便携式计算机(如手机等)、手持计算机、平板电脑、笔记本电脑、上网本、个人电脑(personal computer,PC)、智能家居设备(比如,智能电视、智慧屏、大屏等)、个人数字助理(personal digital assistant,PDA)等,本申请实施例对此不做任何限制。电子设备200的示例性实施例包括但不限于搭载
Figure BDA0002968529580000052
或者其它操作系统的富设备。
示例性的,请参考图3,其示出了一种电子设备300的结构示意图。电子设备300可以是上述电子设备100或电子设备200。电子设备300可包括处理器110,外部存储器接口120,内部存储器121,音频模块130,扬声器130A,麦克风130B,显示屏140,无线通信模块150,电源模块160等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备300的具体限定。在本申请另一些实施例中,电子设备300可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元。例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digitalsignal processor,DSP),和/或神经网络处理器(neural-networkprocessing unit,NPU)等。其中,不同的处理单元可以是独立的部件,也可以集成在一个或多个处理器中。在一些实施例中,电子设备300也可以包括一个或多个处理器110。
其中,控制器是电子设备300的神经中枢和指挥中心。可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
应用处理器上可以运行电子设备300的操作系统,用于管理电子设备300的硬件与软件资源。比如,管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络、管理文件系统、管理驱动程序等。操作系统也可以用于提供一个让用户与系统交互的操作界面。其中,操作系统内可以安装各类软件,比如,驱动程序,应用程序(application,App)等。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路间(inter-integrated circuit,I2C)接口,集成电路间音频(integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronousreceiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,SIM卡接口,和/或USB接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备300的结构限定。在本申请另一些实施例中,电子设备300也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备300的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。处理器110可以通过运行存储在内部存储器121的上述指令,从而使得电子设备300执行本申请一些实施例中所提供的应用运行方法,以及各种应用以及数据管理等。内部存储器121可以包括代码存储区和数据存储区。其中,数据存储区可存储电子设备300使用过程中所创建的数据等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储部件,闪存部件,通用闪存存储器(universalflash storage,UFS)等。在一些实施例中,处理器110可以通过运行存储在内部存储器121的指令,和/或存储在设置于处理器110中的存储器的指令,来使得电子设备300执行本申请实施例中所提供的应用运行方法,以及其他应用及数据管理。
电子设备300可以通过音频模块130,扬声器130A,麦克风130B,以及应用处理器等实现音频功能。例如音乐播放,录音等。音频模块130用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块130还可以用于对音频信号编码和解码。在一些实施例中,音频模块130可以设置于处理器110中,或将音频模块130的部分功能模块设置于处理器110中。
扬声器130A,也称“喇叭”,用于将音频电信号转换为声音信号。
麦克风130B,也称“话筒”,“传声器”,用于将声音信号转换为电信号。用户可以通过人嘴靠近麦克风130B发声,将声音信号输入到麦克风130B。
电子设备300的无线通信功能可以通过天线1,天线2以及无线通信模块150等实现。
无线通信模块150可以提供应用在电子设备300上的包括Wi-Fi,蓝牙(bluetooth,BT),无线数传模块(例如,433MHz,868MHz,915MHz)等无线通信的解决方案。无线通信模块150可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块150经由天线1或者天线2接收电磁波,将电磁波信号滤波以及调频处理,将处理后的信号发送到处理器110。无线通信模块150还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线1或者天线2转为电磁波辐射出去。
电子设备300通过GPU,显示屏140,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏140和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏140用于显示图像,视频等。显示屏140包括显示面板。显示面板可以采用液晶显示屏(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)等。在一些实施例中,电子设备300可以包括1个或N个显示屏140,N为大于1的正整数。本申请实施例中,显示屏140可以用于显示UI,以及接收用户对UI的操作。
在一些实施例中,显示屏140上设置有压力传感器、触摸传感器等。压力传感器用于感受压力信号,可以将压力信号转换成电信号。当有触摸操作作用于显示屏140,电子设备300根据压力传感器检测所述触摸操作强度。电子设备300也可以根据压力传感器的检测信号计算触摸的位置。触摸传感器,也称“触控面板”,可以与显示屏140组成触摸屏,也称“触控屏”。触摸传感器用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。还可以通过显示屏140提供与触摸操作相关的视觉输出。
电源模块160,可以用于向电子设备300包含的各个部件供电。在一些实施例中,该电源模块160可以是电池,如可充电电池。
通常,开发者使用一种界面描述语言,在应用开发工具中开发UI,形成界面布局文件。界面布局文件包括UI布局描述和UI行为定义。UI布局描述是指使用界面描述语言描述UI的布局(layout),使用的控件,以及布局和控件的视觉风格等。UI行为定义是指使用界面描述语言定义电子设备对用户界面行为的交互逻辑;包括UI的动态变化,以及电子设备对UI动态变化的响应(比如对用户对UI操作的响应)。在一些示例中,开发者可以在界面布局文件中声明各个Model对运行设备的要求(比如,设备能力、设备类型等)。
开发者将界面布局文件打包到应用的安装包,在应用市场中发布应用。应用市场中可以提供各个应用的安装包供用户下载。用户可使用电子设备在应用市场中下载某一应用的安装包,通过运行安装包可将应用安装在手机中。
在一种示例中,电子设备100和电子设备200接入同一局域网。电子设备100和电子设备200分别安装应用。
如图4所示,电子设备100获取了应用安装包中的界面布局文件。电子设备100的操作系统包括UI引擎,控件库,图形渲染,模型管理(D-ModelManager),分布式通信,操作系统内核等单元。电子设备200的操作系统包括模型管理(D-ModelManager),分布式通信,操作系统内核等单元。其中,UI引擎用于解析和执行应用的界面布局文件,根据UI布局描述生成应用的UI。UI引擎还用于根据UI行为定义对用户在UI上的操作执行相应的交互逻辑。控件库用于提供构建UI的各类控件,例如显示文字的控件,显示图片的控件等。图形渲染用于对UI引擎生成的UI进行图形的渲染、整理,形成用于显示屏显示的UI。分布式通信用于电子设备与同一局域网内的其他电子设备进行通信。操作系统内核是操作系统的核心部分,用于管理存储器、文件、外设和系统资源等;操作系统内核用于运行进程,并提供进程间的通信。
UI引擎包括数据代理(ModelProxy)。数据代理运行在电子设备100应用进程中,用于语言转换(比如,将JS函数调用转换为C++函数调用),还用于根据电子设备的设备能力、设备类型等确定向操作系统请求数据,或向模型管理(D-ModelManager)请求跨设备调用数据处理(Model)接口。
数据处理(Model)用于提供应用的数据(比如字符,图片,视频等),执行数据的处理逻辑,提供媒体编解码能力等。数据处理(Model)运行在电子设备200应用进程,根据请求数据处理接口的传输参数区分不同的数据处理接口,处理结束后将计算结果返回。每一个应用可以包括一个或多个数据处理(Model)。比如,提供本地数据的数据处理(Model)、提供网络数据的数据处理(Model)、提供交互数据的数据处理(Model)等。开发者可以在应用的配置文件中根据数据处理(Model)需要的设备能力(比如,数据库、JVM、摄像头等),声明各个数据处理(Model)对运行设备的要求(比如,设备能力、设备类型等)。
模型管理(D-ModelManager)用于存储、同步、查询、请求局域网内各电子设备中注册的Model信息。Model信息包括:Model名称、Model所属应用包名、Model所在电子设备的设备标识、当前用户账号id等。应用安装在电子设备200上后,向模型管理(D-ModelManager)注册该应用的数据处理(Model)的信息。
电子设备100的UI引擎生成UI时,数据代理(ModelProxy)确定电子设备100不支持一些设备能力,向电子设备100的模型管理(D-ModelManager)请求数据处理(Model)接口。电子设备100的模型管理(D-ModelManager)接收到本设备调用Model接口的请求,通过分布式通信向电子设备200的模型管理(D-ModelManager)转发调用Model接口的请求。电子设备200的模型管理(D-ModelManager)根据Model名称向对应的进程请求数据处理(Model),并将处理结果返回。处理结果通过分布式通信返回给电子设备100的模型管理(D-ModelManager),电子设备100的模型管理(D-ModelManager)将处理结果返回电子设备100的UI引擎。
这样,应用的UI运行在电子设备100,UI的数据处理在电子设备200完成。由于硬件等条件限制不支持某些能力的电子设备100,也可以运行带用户界面的应用。
下面结合附图对本申请实施例提供的应用运行方法进行详细介绍。
以轻量级设备作为电子设备100,富设备作为电子设备200为例。轻量级设备与一个或多个富设备分布式组网。轻量级设备和富设备分别运行第一应用的安装包,安装第一应用。如图5所示,本申请实施例提供的应用运行方法包括:
S501、富设备中第一应用的一个或多个数据处理分别向模型管理注册数据处理信息。
富设备运行第一应用的安装包,安装第一应用。富设备根据该富设备的硬件条件获取到第一应用对应的一个或多个数据处理。
富设备中第一应用的一个或多个数据处理分别向模型管理注册数据处理信息。数据处理信息包括Model名称,Model所属应用包名,Model所在电子设备的设备标识(比如手机标识)等。在一些实施例中,数据处理信息还包括账号敏感信息,当前设备的用户账号(即当前手机上登录的用户账号,比如华为账号)。账号敏感信息用于指示该Model是否对账号敏感;比如,账号敏感信息为1表示该Model对账号敏感,账号敏感信息为0表示该Model不对账号敏感;或者,账号敏感信息出现表示该Model对账号敏感,账号敏感信息不出现表示该Model不对账号敏感。如果Model对账号敏感,要求查询并使用Model的电子设备与提供Model的电子设备的用户账号相同。
S502、富设备上的模型管理向分布式组网内各个电子设备的模型管理同步数据处理信息。
分布式组网内各个电子设备的模型管理信息发生变化,都向分布式组网内其他电子设备的模型管理同步数据处理信息。这样,分布式组网内每个电子设备的模型管理都包括分布式组网内全部电子设备上的数据处理的数据处理信息。在一种示例中,富设备的模型管理向分布式组网内各个电子设备(包括轻量级设备和富设备)的模型管理同步数据处理信息。
示例性的,表1为车机和手机上模型管理保存的模型管理信息的一种示例。如表1所示,手机上第一应用包括ModelA和ModelC,手机上第二应用包括ModelB,手机上登录的用户账号为账号1。分布式组网内还包括平板电脑,平板电脑上安装了第二应用,平板电脑上第二应用包括ModelB,平板电脑上登录的用户账号为账号2。示例性的,ModelA用于提供网络图片数据,ModelB用于提供本地图片数据,ModelC用于提供摄像头采集的图像数据。
表1
Model名称 Model所在的设备 Model所属应用包名 用户账号
ModelA 手机 第一应用 账号1
ModelB 手机 第二应用 账号1
ModelA 平板电脑 第一应用 账号2
ModelC 手机 第一应用 账号1
S503、轻量级设备中的UI引擎请求获取第一数据。
轻量级设备上安装第一应用,获取界面布局文件。第一应用在轻量级设备上启动。轻量级设备中UI引擎读取界面布局文件,根据界面布局文件生成第一应用的UI或响应于用户在第一应用UI上的操作执行交互逻辑。在轻量级设备生成第一应用的UI或响应于用户在第一应用UI上的操作执行交互逻辑过程中,请求获取第一数据。
轻量级设备中的数据代理根据第一数据的类型确定第一数据对应的第一数据处理。示例性的,车机的UI引擎根据第一应用的界面布局文件生成第一应用的UI,请求获取网络图片。数据代理确定网络图片对应的第一数据处理为ModelA(用于提供网络图片数据)。
如果根据轻量级设备的设备能力、设备类型等确定轻量级设备支持第一数据处理,轻量级设备UI引擎中数据代理从轻量级设备操作系统获取第一数据。如果根据轻量级设备的设备能力、设备类型等确定轻量级设备不支持第一数据处理,轻量级设备UI引擎中数据代理向模型管理请求跨设备调用第一数据处理接口,获取第一数据。比如,UI引擎中数据代理确定车机不支持ModelA,确定向模型管理请求跨设备调用ModelA接口。比如,UI引擎中数据代理确定车机不支持摄像头,确定向模型管理请求跨设备调用ModelC接口。
S504、轻量级设备UI引擎中数据代理向模型管理请求跨设备调用第一数据处理接口。
在一种实现方式中,数据代理调用第一数据处理接口时,接口函数的输入参数包括第一应用包名,第一数据处理名称,接口参数等。其中,接口参数用于指示第一数据;比如,接口参数为网络图片标识,网址等。
S505、轻量级设备的模型管理根据预设策略确定向第一富设备调用第一数据处理接口。
局域网内,一个或多个富设备上安装了第一应用。轻量级设备的模型管理根据保存的模型管理信息获取到支持第一数据处理的一个或多个富设备。示例性的,轻量级设备查询表1所示模型管理信息,确定支持ModelA的富设备包括手机和平板电脑。
轻量级设备根据预设策略确定向第一富设备调用第一数据处理接口。其中,第一富设备是支持第一数据处理的一个或多个富设备中的一个。
预设策略包括:
1、如果根据第一数据处理的数据处理信息中账号敏感信息确定第一数据处理对账号敏感,将用户账号与轻量级设备的用户账号相同的富设备确定为第一富设备。示例性的,第一数据处理为ModelA,根据表1,手机和平板电脑都支持ModelA。轻量级设备当前登录的用户账号是账号1,如果确定ModelA对账号敏感,将手机确定为第一富设备。比如,用户将手机上的菜谱app发送到微波炉上运行并操作,微波炉上的菜谱app需要获取用户的健康信息等个人数据时,即可通过用户账号找到相同用户账号的手机。
2、如果轻量级设备的第一应用是被一个富设备拉起的,并且该富设备支持第一数据处理,将拉起轻量级设备上第一应用的该富设备确定为第一富设备。比如,设备Y拉起设备X中的应用1,设备X的应用1拉起设备X的应用2;应用2请求Model时,优先选择设备Y中的Model。
示例性的,源设备id用于标识一个应用被跨设备拉起的源。跨设备拉起应用时,将发起方的设备id作为源设备id附在参数中传输给被拉起的应用,且源设备id可以传递。如果一个应用存在源设备id,则拉起同设备其他应用时,也将此源设备id通过参数传给新应用。例如,设备Y拉起设备X中的应用1,应用1的源设备id为设备Y;设备X的应用1再拉起设备X的应用2,应用2的源设备id也为设备Y。
3、优先将第一数据处理所在进程存活的富设备确定为第一富设备。在一种实现方式中,轻量级设备向支持第一数据处理的各个富设备查询第一数据处理所在进程是否在该富设备存活,优先将第一数据处理所在进程存活的富设备确定为第一富设备。
4、按照富设备的CPU频率从高到底,或内存从大到小的顺序,富设备被确定为第一富设备的优先级从高到低。
5、按照富设备在模型管理注册第一数据处理信息的时间从先到后的顺序,富设备被确定为第一富设备的优先级从高到低。
S506、轻量级设备的模型管理向第一富设备调用第一数据处理接口。
轻量级设备的模型管理向第一富设备的模型管理请求调用第一数据处理接口;接口函数的输入参数包括轻量级设备标识,第一应用包名,第一数据处理名称,接口参数等。其中,接口参数用于指示第一数据;比如,接口参数为网络图片标识,网址等。在一种实现方式中,接口函数的输入参数还包括第一应用的签名。
S507、第一富设备接收到调用第一数据处理接口请求,调用第一数据处理。
第一富设备接收到调用第一数据处理接口请求。
在一种实现方式中,第一富设备的模型管理校验第一富设备中第一应用包名与调用第一数据处理接口请求中的第一应用包名是否一致,校验第一富设备中第一应用的签名与调用第一数据处理接口请求中第一应用的签名是否一致。这样,可以避免第一数据处理被第一应用之外的应用恶意调用,保证数据安全。
如果校验成功,查询在第一富设备中第一应用的第一数据处理的进程是否存在。在一些示例中,模型管理监听程序管理模块,程序管理模块用于管理应用的进程。模型管理从程序管理模块获取应用的每个Model所在的进程id。如果确定第一应用的第一数据处理的进程存在,调用第一数据处理;如果确定第一应用的第一数据处理的进程不存在,将第一应用的第一数据处理的进程拉起,调用第一数据处理。
S508、第一富设备中第一数据处理向模型管理返回第一数据。
在一种实现方式中,第一数据处理根据接口参数进行内部逻辑计算,获取并返回计算结果(即第一数据)。比如,接口参数为网络图片标识,第一数据处理根据网络图片标识获取图片,将获取的图片返回。
S509、第一富设备的模型管理将第一数据发送给轻量级设备。
第一富设备的模型管理根据调用第一数据处理接口请求中轻量级设备标识确定轻量级设备,通过分布式通信将第一数据发送给轻量级设备。
S510、轻量级设备的模型管理将第一数据通过数据代理返回给UI引擎。
轻量级设备获取到在生成第一应用的UI或响应于用户在第一应用UI上的操作执行交互逻辑过程中,请求的第一数据。在该过程中,UI引擎不感知第一数据处理所处的电子设备,以及过程中的分布式处理逻辑,仅发起调用和获取第一数据即可。
本申请实施例提供的应用运行方法,在一个电子设备上运行应用的UI,UI解析、渲染,UI交互事件处理均在该电子设备上完成。UI解析、渲染,UI交互事件处理过程中使用的媒体资源,数据管理,媒体编解码能力等由另一电子设备提供。比如,轻量级设备运行应用的UI,富设备提供数据和能力支持;通过轻量级设备和富设备的协同工作,应用可以直接运行在轻量级设备上。再比如,电子设备的硬件不支持应用运行需要的某些能力,可以调用其他设备的该能力,使得该电子设备可以直接运行应用。这样,轻量级设备或一些硬件条件受限的电子设备也可以方便快捷的运行支持界面交互的应用;用户可以直接在轻量级设备或硬件条件受限的电子设备上通过应用的UI进行人机交互,为用户提供更丰富的使用体验。
可以理解的是,上述电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
本申请实施例可以根据上述方法示例对上述电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
如图6所示,本申请实施例公开了一种电子设备600,该电子设备可以为上述实施例中轻量级设备。
在一种示例中,请参考图6,其示出了上述实施例中所涉及的电子设备的一种可能的结构示意图。该电子设备600包括:处理单元601,存储单元602,通信单元603和显示单元604。
其中,处理单元601,用于对电子设备600的动作进行控制管理。例如,可以用于执行本申请实施例图5中S503,S504,S505,S510的处理步骤,和/或本申请实施例中其他处理步骤。
存储单元602用于保存电子设备600的程序代码和数据。例如,可以用于保存模型管理信息。
通信单元603用于支持电子设备600与其他电子设备的通信。例如,可以用于发送调用第一数据请求;或接收第一数据等。
显示单元604用于显示电子设备600的界面。比如用于显示电子设备600的UI。
当然,上述电子设备600中的单元模块包括但不限于上述处理单元601,存储单元602,通信单元603和显示单元604。例如,电子设备600中还可以包括电源单元等。电源单元用于对电子设备600供电。
其中,处理单元601可以是处理器或控制器,例如可以是中央处理器(centralprocessing unit,CPU),数字信号处理器(digital signal processor,DSP),专用集成电路(application-specific integrated circuit,ASIC),现场可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。存储单元602可以是存储器。通信单元603可以是收发器、收发电路等。显示单元604可以是显示屏。
例如,处理单元601为处理器(如图3所示的处理器110),存储单元602可以为存储器(如图3所示的内部存储器121),通信单元603可以称为通信接口,包括无线通信模块(如图3所示的无线通信模块150),显示单元604为显示屏(如图3所示的显示屏140,该显示屏140可以为触摸屏,该触摸屏中可以集成显示面板和触控面板)。本申请实施例所提供的电子设备600可以为图3所示的电子设备300。其中,上述处理器、存储器、通信接口、显示屏等可以连接在一起,例如通过总线连接。
如图7所示,本申请实施例公开了一种电子设备700,该电子设备可以为上述实施例中富设备。
在一种示例中,请参考图7,其示出了上述实施例中所涉及的电子设备的一种可能的结构示意图。该电子设备700包括:处理单元701,存储单元702,和通信单元703。
其中,处理单元701,用于对电子设备700的动作进行控制管理。例如,可以用于执行本申请实施例图5中S501,S507,S508的处理步骤,和/或本申请实施例中其他处理步骤。
存储单元702用于保存电子设备700的程序代码和数据。例如,可以用于保存模型管理信息。
通信单元703用于支持电子设备700与其他电子设备的通信。例如,可以用于执行本申请实施例图5中S502,S509的处理步骤,和/或本申请实施例中其他处理步骤。
当然,上述电子设备700中的单元模块包括但不限于上述处理单元701,存储单元702和通信单元703。例如,电子设备700中还可以包括显示单元,电源单元等。显示单元用于显示电子设备700的界面,电源单元用于对电子设备700供电。
其中,处理单元701可以是处理器或控制器,例如可以是中央处理器(centralprocessing unit,CPU),数字信号处理器(digital signal processor,DSP),专用集成电路(application-specific integrated circuit,ASIC),现场可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。存储单元702可以是存储器。通信单元703可以是收发器、收发电路等。
例如,处理单元701为处理器(如图3所示的处理器110),存储单元702可以为存储器(如图3所示的内部存储器121),通信单元703可以称为通信接口,包括无线通信模块(如图3所示的无线通信模块150)。本申请实施例所提供的电子设备700可以为图3所示的电子设备300。其中,上述处理器、存储器、通信接口等可以连接在一起,例如通过总线连接。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序代码,当处理器执行该计算机程序代码时,电子设备执行上述实施例中的方法。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述实施例中的方法。
其中,本申请实施例提供的电子设备600、电子设备700、计算机可读存储介质或者计算机程序产品均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以使用硬件的形式实现,也可以使用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (13)

1.一种应用运行方法,应用于第一电子设备,所述第一电子设备与一个或多个第二电子设备分布式组网,其特征在于,所述方法包括:
第一电子设备读取第一应用的界面布局文件,所述界面布局文件用于对所述第一应用的用户接口界面UI进行UI布局描述和UI行为定义;
所述第一电子设备向第三电子设备发送调用第一数据处理的请求;所述第三电子设备是所述一个或多个第二电子设备中的一个;所述调用第一数据处理的请求包括第一电子设备标识,第一应用包名,第一数据处理名称和接口参数;所述第一数据处理用于提供根据所述界面布局文件生成第一UI对应的第一数据,所述接口参数用于指示第一数据;
所述第一电子设备从所述第三电子设备获取所述第一数据;
所述第一电子设备根据所述界面布局文件和所述第一数据生成所述第一应用的第一UI。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一电子设备根据所述第一数据的类型确定所述第一数据处理。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
如果所述第一电子设备确定所述第一电子设备不支持所述第一数据处理,确定向第三电子设备发送调用第一数据处理的请求。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述方法还包括:
所述第一电子设备确定支持所述第一数据处理的一个或多个第二电子设备;
所述第一电子设备根据预设策略将所述支持所述第一数据处理的一个或多个第二电子设备中的一个确定为所述第三电子设备。
5.根据权利要求4所述的方法,其特征在于,所述预设策略包括:
将用户账号与所述第一电子设备的用户账号相同的第二电子设备确定为第三电子设备。
6.根据权利要求4或5所述的方法,其特征在于,所述预设策略包括:
将在所述第一电子设备上拉起所述第一应用的第二电子设备确定为所述第三电子设备。
7.根据权利要求4-6任意一项所述的方法,其特征在于,所述预设策略包括:
将所述第一数据处理所在进程存活的第二电子设备确定为所述第三电子设备。
8.根据权利要求4-7任意一项所述的方法,其特征在于,所述预设策略包括:
根据支持所述第一数据处理的第二电子设备的硬件条件,确定所述第三电子设备;所述硬件条件包括中央处理器CPU频率或内存大小。
9.一种应用运行方法,其特征在于,所述方法包括:
第二电子设备运行第一应用的安装包,安装第一应用;
所述第二电子设备接收调用第一数据处理的请求;所述调用第一数据处理的请求包括第一电子设备标识,第一应用包名,第一数据处理名称和接口参数;所述第一数据处理用于提供根据第一应用的界面布局文件生成第一UI对应的第一数据,所述接口参数用于指示第一数据;
所述第二电子设备根据所述第一应用包名,第一数据处理名称和接口参数获取第一数据;
所述第二电子设备根据所述第一电子设备标识确定第一电子设备,向所述第一电子设备发送所述第一数据。
10.根据权利要求9所述的方法,其特征在于,在所述第二电子设备运行第一应用的安装包,安装第一应用之后,所述方法还包括:
所述第一应用的一个或多个数据处理分别注册对应的数据处理信息;所述数据处理信息包括数据处理名称,数据处理所属应用包名,数据处理所在电子设备的设备标识;
所述第二电子设备向分布式组网内电子设备同步所述数据处理信息。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
显示屏;
存储器;
其中,所述存储器中存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述处理器执行时,使得所述电子设备执行如权利要求1-8任意一项所述的方法。
12.一种电子设备,其特征在于,包括:处理器,存储器;其中,所述存储器中存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述处理器执行时,使得所述电子设备执行如权利要求9或10所述的方法。
13.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求1-10任意一项所述的方法。
CN202110258436.0A 2021-03-09 2021-03-09 一种应用运行方法及电子设备 Pending CN115048148A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110258436.0A CN115048148A (zh) 2021-03-09 2021-03-09 一种应用运行方法及电子设备
PCT/CN2022/079565 WO2022188750A1 (zh) 2021-03-09 2022-03-07 一种应用运行方法及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110258436.0A CN115048148A (zh) 2021-03-09 2021-03-09 一种应用运行方法及电子设备

Publications (1)

Publication Number Publication Date
CN115048148A true CN115048148A (zh) 2022-09-13

Family

ID=83156090

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110258436.0A Pending CN115048148A (zh) 2021-03-09 2021-03-09 一种应用运行方法及电子设备

Country Status (2)

Country Link
CN (1) CN115048148A (zh)
WO (1) WO2022188750A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10423214B2 (en) * 2012-11-20 2019-09-24 Samsung Electronics Company, Ltd Delegating processing from wearable electronic device
CN104683401A (zh) * 2013-11-29 2015-06-03 钛马车联网(上海)网络技术有限公司 车载设备信息呈现方法及系统
CN108259141A (zh) * 2016-12-29 2018-07-06 乐视汽车(北京)有限公司 用于数据传输的方法、设备和系统
US11595397B2 (en) * 2017-12-15 2023-02-28 Google Llc Extending application access across devices
CN112035247A (zh) * 2020-08-12 2020-12-04 博泰车联网(南京)有限公司 一种资源调度方法、车机及计算机存储介质

Also Published As

Publication number Publication date
WO2022188750A1 (zh) 2022-09-15

Similar Documents

Publication Publication Date Title
WO2021129253A1 (zh) 显示多窗口的方法、电子设备和系统
WO2021121052A1 (zh) 一种多屏协同方法、系统及电子设备
WO2021052200A1 (zh) 一种设备能力调度方法及电子设备
CN107590057B (zh) 冻屏监测与解决方法、移动终端及计算机可读存储介质
CN113094123A (zh) 应用程序中功能的实现方法、装置、电子设备和存储介质
US20220156029A1 (en) Electronic device and method for providing application screen of display of external device thereof
CN114579954B (zh) 安全启动校验的方法及电子设备
WO2022083465A1 (zh) 电子设备的投屏方法及其介质和电子设备
WO2023051355A1 (zh) 权限检查的方法和电子设备
WO2021042991A1 (zh) 一种非侵入式交互方法及电子设备
CN114327087A (zh) 输入事件处理方法、装置、电子设备和存储介质
US20230216732A1 (en) Network Configuration Method and Device
CN115048148A (zh) 一种应用运行方法及电子设备
WO2022252804A1 (zh) 显示视图控件的方法及装置
CN115113867A (zh) 电子设备及其免安装应用的处理方法、介质
CN113591006A (zh) 一种基于WebSocket的Web扩展方法和装置
CN115086888A (zh) 消息通知方法与装置、电子设备
CN115373865A (zh) 一种并发线程管理方法、装置、电子设备和存储介质
CN113950033A (zh) 数据传输方法和设备
KR20210092083A (ko) 이미지 데이터를 처리하는 전자 장치 및 이미지 데이터 처리 방법
WO2023169157A1 (zh) 子应用程序的运行方法、装置、电子设备、程序产品及存储介质
CN111752688B (zh) 一种数据获取方法、装置、电子设备及存储介质
EP3042292B1 (en) Electronic device and method of processing user input by electronic device
WO2022083477A1 (zh) 一种mvvm架构的应用的开发方法及终端
WO2024153170A1 (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