CN107102798B - 动态修改用户界面的方法、***及相关模块 - Google Patents
动态修改用户界面的方法、***及相关模块 Download PDFInfo
- Publication number
- CN107102798B CN107102798B CN201610096011.3A CN201610096011A CN107102798B CN 107102798 B CN107102798 B CN 107102798B CN 201610096011 A CN201610096011 A CN 201610096011A CN 107102798 B CN107102798 B CN 107102798B
- Authority
- CN
- China
- Prior art keywords
- user interface
- module
- attribute
- request message
- server
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 230000000051 modifying effect Effects 0.000 title claims abstract description 52
- 238000012986 modification Methods 0.000 claims abstract description 111
- 230000004048 modification Effects 0.000 claims abstract description 111
- 238000000547 structure data Methods 0.000 claims abstract description 75
- 238000002715 modification method Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 3
- 238000012857 repacking Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000001094 effect on targets Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0483—Interaction with page-structured environments, e.g. book metaphor
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开一种动态修改用户界面的方法、服务端模块、客户端模块及***,其中本申请一个实施例的动态修改用户界面的方法包括:服务端模块接收来自客户端模块的用户界面层次视图结构请求消息,生成所述目标应用程序的当前视图窗口的用户界面层次视图结构数据,并将所述用户界面层次视图结构数据发送至所述客户端模块;所述服务端模块接收来自所述客户端模块的用户界面修改请求消息,其中所述用户界面修改请求消息根据所述用户界面层次视图结构数据生成;所述服务端模块根据所述用户界面修改请求消息修改用户界面控件的属性。通过本申请能够实时、动态修改应用程序的用户界面控件属性,不需要重新打包部署运行,从而极大地提高了工作效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种动态修改用户界面的方法、服务端模块、客户端模块及***。
背景技术
为了提升用户体验,应用程序的图形用户界面(Graphical User Interface,简称GUI)界面会进行精细的设计和搭配。例如,各种用户界面控件的排列顺序和间距、单个用户界面控件的颜色及图标选择等。
在开发和联调过程中,需要相当长的一段时间进行用户界面联调,即修改用户界面控件的属性来实现最完美的视觉效果。现有技术中的用户界面联调,需要在应用程序源代码中修改用户界面控件的属性,然后打包部署运行,在目标设备上查看修改效果。但是,这种方式非常浪费时间,如花费1秒钟完成源代码修改,但打包部署运行可能需要几分钟。这种时间浪费累积下来,极大降低了工作效率。
发明内容
本申请的主要目的在于提供一种动态修改用户界面的方法、服务端模块、客户端模块及***,以克服现有技术中的上述问题。
根据本申请实施例提供一种动态修改用户界面的方法,应用于包括服务端模块和客户端模块的网络环境,所述服务端模块设置于目标应用程序中,所述客户端模块独立于目标应用程序设置,所述方法包括:服务端模块接收来自客户端模块的用户界面层次视图结构请求消息,生成所述目标应用程序的当前视图窗口的用户界面层次视图结构数据,并将所述用户界面层次视图结构数据发送至所述客户端模块;所述服务端模块接收来自所述客户端模块的用户界面修改请求消息,其中所述用户界面修改请求消息根据所述用户界面层次视图结构数据生成;所述服务端模块根据所述用户界面修改请求消息修改用户界面控件的属性。
根据本申请实施例提供一种动态修改用户界面的方法,其包括:客户端模块向服务端模块发送对于目标应用程序的当前视图窗口的用户界面层次视图结构请求消息,并接收来自所述服务端模块的用户界面层次视图结构数据;所述客户端模块向所述服务端模块发送用户界面修改请求消息,以使所述服务端模块根据所述用户界面修改请求消息修改所述用户界面控件的属性,其中所述用户界面修改请求消息根据所述用户界面层次视图结构数据生成。
根据本申请实施例提供一种动态修改用户界面的方法,其包括:获取对于目标应用程序的当前视图窗口的用户界面层次视图结构数据;在当前视图窗口显示所述用户界面层次视图结构数据;接收用户界面修改请求命令,根据所述用户界面修改请求命令对用户界面控件的属性进行修改。
根据本申请实施例提供一种动态修改用户界面的服务端模块,其包括:第一接收模块,用于接收来自客户端模块的用户界面层次视图结构请求消息;生成模块,用于响应所述用户界面层次视图结构请求消息,生成所述目标应用程序的当前视图窗口的用户界面层次视图结构数据;第一发送模块,用于将所述用户界面层次视图结构数据发送至所述客户端模块;第二接收模块,用于接收来自所述客户端模块的用户界面修改请求消息,其中所述用户界面修改请求消息根据所述用户界面层次视图结构数据生成;属性修改模块,用于根据所述用户界面修改请求消息修改用户界面控件的属性。
根据本申请实施例提供一种动态修改用户界面的客户端模块,其包括:第三发送模块,用于向服务端模块发送对于目标应用程序的当前视图窗口的用户界面层次视图结构请求消息;第四接收模块,用于接收来自所述服务端模块的用户界面层次视图结构数据;第四发送模块,用于向所述服务端模块发送用户界面修改请求消息,以使所述服务端模块根据所述用户界面修改请求消息修改所述用户界面控件的属性,其中所述用户界面修改请求消息根据所述用户界面层次视图结构数据生成。
根据本申请实施例提供一种动态修改用户界面的***,其包括:第二获取模块,用于获取对于目标应用程序的当前视图窗口的用户界面层次视图结构数据;显示模块,用于在当前视图窗口显示所述用户界面层次视图结构数据;修改模块,用于接收用户界面修改请求命令,根据所述用户界面修改请求命令对用户界面控件的属性进行修改。
根据本申请的技术方案,服务端模块将生成的用户界面层次视图结构数据发送至客户端模块,并且服务端模块根据来自客户端模块的用户界面修改请求消息修改用户界面控件的属性。通过本申请能够实时、动态修改应用程序的用户界面控件属性,不需要重新打包部署运行,从而极大地提高了工作效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请一个实施例的服务端的用户界面控件属性的修改方法的流程图;
图2是根据本申请另一实施例的服务端的用户界面控件属性的修改方法的流程图;
图3是根据本申请一个实施例的用户界面控件层次结构关系的示意图;
图4是根据本申请一个实施例的客户端的用户界面控件属性的修改方法的流程图;
图5是根据本申请另一实施例的客户端的用户界面控件属性的修改方法的流程图;
图6是根据本申请一个实施例的修改用户界面控件属性的服务端模块的结构框图;
图7是根据本申请另一实施例的修改用户界面控件属性的服务端模块的结构框图;
图8是根据本申请一个实施例的修改用户界面控件属性的客户端模块的结构框图;
图9是根据本申请另一实施例的修改用户界面控件属性的客户端模块的结构框图;
图10是根据本申请一个实施例的动态修改用户界面的方法的流程图;
图11是根据本申请一个实施例的动态修改用户界面的***的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明,本申请的技术方案可以包括服务端模块(Server)和客户端模块(Client)两方面内容。所述服务端模块嵌入在目标应用程序内部,负责响应客户端请求;而客户端模块是独立运行的,设置于目标应用程序之外,用于浏览目标应用程序用户界面层次视图并实时动态修改用户界面控件属性。在实际应用中,客户端模块与内置有所述服务端模块的目标应用程序分别运行在不同的设备上,例如,目标应用程序可以运行在移动终端的Android***上,而客户端模块可以运行在计算机的Windows或者Mac***上。
图1是根据本申请一个实施例的服务端的动态修改用户界面的方法的流程图,如图1所示,所述方法至少包括以下步骤:
步骤S102,服务端模块接收到来自客户端模块的用户界面(UI)层次视图结构请求消息,生成目标应用程序的当前视图窗口的用户界面层次视图结构数据,并将所述用户界面层次视图结构数据发送至所述客户端模块。
当目标应用程序(以下简称Target)启动时,设置在Target中的服务端模块同时启动,此时Target向服务端模块注册,通知服务端模块Target当前的视图窗口的信息;此后每当Target切换视图窗口时,都需要将当前的视图窗口的信息通知服务端模块,使得服务端模块能够实时记录当前的视图窗口的信息。
在服务端模块首次被Target注册时,启动一个网络服务器用于和客户端模块通信。客户端模块启动后,向服务端模块发起建立连接的请求,网络服务器监听到网络连接后与客户端建立连接,连接建立的方式可以是基于TCP/IP的网络连接也可以是蓝牙或其他连接方式,本申请对此不进行限定。客户端模块与服务端模块建立连接后,向服务端模块发送用户界面层次视图结构请求消息。响应该用户界面层次视图结构请求消息,服务端模块遍历所述目标应用程序的当前视图窗口中所有的用户界面控件,从而生成Target当前视图窗口的用户界面层次视图结构数据。其中所述用户界面层次视图结构数据中包括有:每个用户界面控件的控件属性列表,该控件属性列表中可以包括控件的共有属性和独有属性。在本申请实施例中,用户界面控件属性包括共有属性和独有属性,所述共有属性包括用户界面控件的宽、高、屏幕上的位置、边距等属性;所述独有属性为用户界面控件具有的独有的属性,如文本框控件具有当前已输入文本的属性、按钮控件具有按钮文案属性和背景颜色等属性。
在生成所述用户界面层次视图结构数据的同时,为每个用户界面控件分配一个全窗口唯一的标识信息(Tag),然后将包括用户界面控件的标识信息的用户界面层次视图结构数据发送给所述客户端模块,这样客户端模块就能够清楚获知用户界面控件的属性信息。
在本申请的一个实施例中,客户端模块还可以向服务端模块请求当前视图窗口的屏幕截图。具体地,服务端模块接收来自客户端模块的视图窗口屏幕截图请求消息,响应该视图窗口屏幕截图请求消息,服务端模块获取当前视图窗口的屏幕截图,并将该当前视图窗口的屏幕截图发送至所述客户端模块。这样客户端就能够同时结合用户界面层次视图结构数据和视图窗口的屏幕截图,获知详细的用户界面控件的属性信息。
步骤S104,所述服务端模块接收来自所述客户端模块的用户界面修改请求消息,其中所述用户界面修改请求消息根据所述用户界面层次视图结构数据生成。
在本申请实施例中,客户端模块接收到来自客户端模块的用户界面层次视图结构数据后,根据所述用户界面层次视图结构数据生成所述用户界面修改请求消息。其中,所述用户界面修改请求消息中至少携带有以下信息:请求修改的用户界面控件的标识信息、属性名称以及新属性值。
在本申请的一个实施例中,所述客户端模块接收到所述用户界面层次视图结构数据和所述视图窗口的屏幕截图后,结合所述用户界面层次视图结构数据和所述视图窗口的屏幕截图生成所述用户界面修改请求消息,并将所述用户界面修改请求消息发送至所述服务端模块。
步骤S106,所述服务端模块根据所述用户界面修改请求修改用户界面控件的属性。
具体地,所述服务端模块根据所述用户界面修改请求消息中的请求修改的用户界面控件的标识信息和属性名称确定请求属性修改的用户界面控件属性,并调用***提供的属性修改方法将确定修改的用户界面控件属性的原属性值修改为所述新属性值。本申请可以通过调用***提供的setText方法、setImage方法、setBackground方法、和/或setPadding方法等对用户界面控件的共有属性和独有属性进行修改,在此仅为举例说明,并不以此限制本申请的保护范围。
下面结合图2详细描述上述处理的细节。图2是根据本申请另一实施例的服务端的动态修改用户界面的方法的流程图,如图2所示,所述方法包括:
步骤S202,Target启动后向服务端模块注册,并将Target当前的视图窗口信息通知服务端模块,这样服务端模块就记录下Target当前的视图窗口,此后每当Target的视图窗口切换时,都需要将当前的视图窗口的信息通知服务端模块,以使服务端模块记录Target的当前视图窗口。
步骤S204,服务端模块在被Target首次注册时启动,通过网络服务器监听来自客户端模块的网络连接。其中,建立连接的方式可以是基于TCP/IP的网络连接也可以是蓝牙或其他连接方式,本申请对此不进行限定。
步骤S206,当客户端模块和服务端模块建立网络连接后,服务端模块处理来自客户端模块的请求消息,主要包括以下三类的请求消息:
(1)用户界面层次视图结构请求消息。
服务端模块会遍历注册到自己的Target当前视图窗口,对用户界面层次视图的树形结构进行遍历并将该结构关系生成可以用于传输的数据结构,通过网络连接传输给客户端模块。
在服务端模块对用户界面层次视图结构进行遍历时,会为每个用户界面控件分配一个标签作为其唯一标识符,当服务端模块需要对用户界面控件属性做出修改时,会根据唯一标识符找到该用户界面控件对象。服务端模块通过将用户界面层次视图结构通过常用或自定义的网络通信协议(如转成JSON格式或者XML格式等)发送给客户端模块。
参考图3,是根据本申请一个实施例的视图窗口的用户界面控件的树形结构的示意图。用户界面层次视图是一个树形结构,最顶层的根节点(根UI控件)是视图窗口的顶层容器,下面包含其他的用户界面控件(UI控件1、2…,UI容器控件1、2、…,)。通过根节点的用户界面控件,可以遍历找到所有的其他用户界面控件。
(2)视图窗口屏幕截图请求消息。
在传输用户界面层次视图结构时,服务端模块可以同时生成当前视图窗口的屏幕截图,并将生成的屏幕截图传输给客户端模块。需要说明,传输屏幕截图可以使用第三方的传输协议,也可以使用预设的传输协议,本申请对此不进行限定。
(3)用户界面修改请求消息。
客户端模块用户界面层次视图结构(和屏幕截图)后,可以浏览每个用户界面控件的属性,并对其作出修改。修改请求内容包含:用户界面控件的标识符和被修改的属性名称和新值。服务端模块收到属性修改的请求后,根据请求中的用户界面控件唯一标识符找到指定的用户界面控件对象,并调用***提供的属性修改方法对属性做出修改,被修改后的新属性会实时显示在Target的视图窗口上。
在服务端模块和客户端模块的连接建立之后,服务端模块会不断接收并处理来自客户端模块的上述几个类型的请求消息。
步骤S208,如果Target程序退出或者连接断开则流程结束。
通过以上描述的服务端的用户界面控件属性修改的实施例,不仅可以查看用户界面层次视图及单个用户界面控件属性,还可以在不修改源代码的情况下对用户界面控件进行修改,并能够实时查看修改后的效果。
下面结合图4描述客户端的用户界面控件属性修改的技术方案。如图4所示,根据本申请实施例的客户端的用户界面控件属性的修改方法,至少包括以下步骤:
步骤S402,客户端模块向服务端模块发送对于当前视图窗口的用户界面控件的层次结构关系的层次结构请求消息,并接收来自所述服务端模块的用户界面层次视图结构数据。
其中,其中所述用户界面层次视图结构数据中包括:每个用户界面控件的控件属性列表、以及每个用户界面控件的标识信息。
步骤S404,所述客户端模块向所述服务端模块发送用户界面修改请求消息,以使所述服务端模块根据所述用户界面修改请求消息修改所述用户界面控件的属性,其中所述用户界面修改请求消息根据所述用户界面层次视图结构数据生成。
在本申请的实施例中,当客户端模块接收到所述用户界面层次视图结构数据后,将所述用户界面层次视图结构数据显示在当前视图窗口中,或者说将每个用户界面控件的控件属性列表显示在当前视图窗口中,这样用户就能够通过设备屏幕直接查看每个用户界面控件的控件属性。并且,用户通过在屏幕上显示的用户界面控件的控件属性确定需要修改的用户界面控件属性,从而客户端模块生成包括请求修改的用户界面控件的标识信息、属性名称以及新属性值的用户界面修改请求消息。
在本申请的一个实施例中,客户端模块还可以向服务端模块请求当前视图窗口的屏幕截图,所述客户端模块接收到所述服务端模块发送的当前视图窗口的屏幕截图后,将其显示在当前视图窗口,这样客户端模块能够结合所述用户界面层次视图结构数据和所述视图窗口的屏幕截图生成所述用户界面修改请求消息。
下面结合图5详细描述上述处理的细节。图5是根据本申请另一实施例的用户界面控件属性的修改方法的流程图,如图5所示,所述方法包括:
步骤S502,客户端模块启动后,首先向服务端模块发起建立连接的请求。建立连接的方式可以是TCP/IP网络连接也可以是蓝牙或其他连接方式。
步骤S504,判断连接建立是否成功,若是则执行步骤S506,即客户端模块可以向服务端模块发送请求,否则流程结束。
步骤S506,客户端模块向服务端模块请求将Target的当前视图窗口截图及用户界面层次视图结构传输过来。客户端模块接收到这些数据后,会将其显示在窗口中。
步骤S508,用户在屏幕截图或用户界面层次视图中选择一个用户界面控件,用户界面的控件属性表中会列出其所有的属性,可以修改控件属性表中的属性,并向服务端模块发起属性修改请求。服务端模块接收到属性修改请求后,根据请求中的参数确定目标用户界面控件,并完成属性的修改。
需要说明,在上述处理过程中,如果客户端模块和服务端模块之间的连接断开,则流程结束。
下面以修改应用程序某界面的按钮控件的文本属性为例描述本申请实施例。首先,服务端模块的目标应用程序安装到设备上并运行,服务端模块启动,开始监听客户端模块的请求。进入到包含需要修改属性的用户界面控件的应用界面后,客户端模块启动,向服务端模块请求目标应用程序当前视图窗口的截图和用户界面层次结构数据。服务端模块收到请求消息后,将目标应用程序当前视图窗口的截图和用户界面层次结构数据传输给客户端模块,客户端模块将目标应用程序当前视图窗口的截图和用户界面层次结构数据,通过屏幕展示给用户。用户浏览并找到需要修改文本属性的按钮控件,查看其属性列表,找到文本属性,其当前属性值为“登录”。用户在客户端模块直接编辑该属性值,将“登录”修改为“赶快来登录吧”,客户端模块接收到用户的属性修改请求,其中该属性修改请求中包括:该按钮控件的标识信息、文本属性以及新属性值“赶快来登录吧”。客户端模块将该属性修改请求消息发送到服务端模块,服务端模块接收到该属性修改请求后,根据请求消息中的标识信息查找到请求修改的用户界面控件及其文本属性,然后调用***提供的setText方法将用户界面控件的文本属性的当前属性值“登录”修改为“赶快来登录吧”。此时查看设备上的应用程序用户界面,显示“登录”的按钮控件上的文本已经变为“赶快来登录吧”,用户界面控件的属性修改完成。
下面以修改应用程序某界面的按钮控件的字体颜色属性为例描述本申请实施例。首先,服务端模块的目标应用程序安装到设备上并运行,服务端模块启动,开始监听客户端模块的请求。进入到包含需要修改属性的用户界面控件的应用界面后,客户端模块启动,向服务端模块请求目标应用程序当前视图窗口的截图和用户界面层次结构数据。服务端模块收到请求消息后,将目标应用程序当前视图窗口的截图和用户界面层次结构数据传输给客户端模块,客户端模块将目标应用程序当前视图窗口的截图和用户界面层次结构数据展示给用户。用户浏览并找到需要修改字体颜色属性的控件,查看其属性列表,找到字体颜色属性,其当前值为“#FF0000”,颜色为红色。用户在客户端端直接编辑该属性值,将“#FF0000”修改为“#0000FF”,即蓝色。客户端模块接收到用户的属性修改请求,其中该属性修改请求中包括:该按钮控件的标识信息、字体颜色属性以及新属性值“#0000FF”。客户端模块将该属性修改请求发送到服务端模块,服务端模块接收到该属性修改请求后,根据请求消息中的标识信息查找到请求修改的用户界面控件及其字体颜色属性,然后调用***提供的setTextColor方法将用户界面控件的字体颜色属性的当前属性值“#FF0000”修改为“#0000FF”。此时查看设备上的应用程序用户界面,原本字体颜色为红色的按钮控件上的文本已经变为蓝色,用户界面控件的属性修改完成。
图6是根据本申请一个实施例的修改用户界面控件属性的服务端模块60的结构框图,如图6所示,所述服务端模块60至少包括:
第一接收模块61,用于接收来自客户端模块的用户界面层次视图结构请求消息;
生成模块62,用于响应所述用户界面层次视图结构请求消息,生成所述目标应用程序的当前视图窗口的用户界面层次视图结构数据;
第一发送模块63,用于将所述用户界面层次视图结构数据发送至所述客户端模块;
第二接收模块64,用于接收来自所述客户端模块的用户界面修改请求消息,其中所述用户界面修改请求消息根据所述用户界面层次视图结构数据生成;
属性修改模块65,用于根据所述用户界面修改请求消息修改用户界面控件的属性。
参考图7,图7是根据本申请另一实施例的修改用户界面控件属性的服务端模块70的结构框图,所述服务端模块70包括有:第一接收模块71、生成模块72、第一发送模块73、第二接收模块74、属性修改模块75、标识信息配置模块76、第三接收模块77、第一获取模块78和第二发送模块79。
其中,第一接收模块71、生成模块72、第一发送模块73、第二接收模块74和属性修改模块75分别与图6所示的第一接收模块61、第一生成模块62、第一发送模块63、第二接收模块64和属性修改模块65类似,不再赘述。
如图7所示,所述生成模块72,还用于接收来自所述目标应用程序的注册请求,遍历所述目标应用程序的当前视图窗口的用户界面控件,生成所述用户界面层次视图结构数据。
所述标识信息配置模块76,用于为当前视图窗口中每个用户界面控件配置标识信息。基于此,所述第一发送模块73发送的所述用户界面层次视图结构数据中还携带有当前视图窗口中每个用户界面控件的标识信息。
进一步,所述第二接收模块74接收到的用户界面修改请求中携带有以下信息:请求修改的用户界面控件的标识信息、属性名称以及新属性值。所述属性修改模块75,还用于根据所述用户界面修改请求消息中的标识信息和属性名称确定请求属性修改的用户界面控件属性,并调用***提供的属性修改方法将确定修改的用户界面控件属性的属性值修改为新属性值。
所述第三接收模块77,用于接收来自所述客户端模块的视图窗口屏幕截图请求消息;
所述第一获取模块78,用于获取当前视图窗口的屏幕截图;
所述第二发送模块79,用于将所述当前视图窗口的屏幕截图发送至所述客户端模块。
进一步,所述用户界面修改请求消息根据所述用户界面层次视图结构数据和所述当前视图窗口的屏幕截图生成。
图8是根据本申请一个实施例的修改用户界面控件属性的客户端模块80的结构框图,如图8所示,所述客户端模块80至少包括:
第三发送模块81,用于向服务端模块发送对于目标应用程序的当前视图窗口的用户界面层次视图结构请求消息;
第四接收模块82,于接收来自所述服务端模块的用户界面层次视图结构数据;
第四发送模块83,用于向所述服务端模块发送用户界面修改请求消息,以使所述服务端模块根据所述用户界面修改请求消息修改所述用户界面控件的属性,其中所述用户界面修改请求消息根据所述用户界面层次视图结构数据生成。
其中,所述用户界面修改请求消息中携带有以下信息:请求修改的用户界面控件的标识信息、属性名称以及新属性值。
参考图9,图9是根据本申请另一实施例的修改用户界面控件属性的客户端模块90的结构框图,所述客户端模块90包括有:第三发送模块91、第四接收模块92、第四发送模块93、第一显示控制模块94、第五发送模块95、第五接收模块96和第二显示控制模块97。
其中,第三发送模块91、第四接收模块92和第四发送模块93分别与图8所示的第三发送模块81,第四接收模块82和第四发送模块83类似,不再赘述。
参考图9,所述第四接收模块92接收到的用户界面控件的层次结构关系中还携带有当前视图窗口中每个用户界面控件的标识信息。
所述第一显示控制模块94,用于在当前视图窗口显示所述用户界面层次视图结构数据。
第五发送模块95,用于向所述服务端模块发送视图窗口屏幕截图请求消息;
第五接收模块96,用于接收来自所述服务端模块的当前视图窗口的屏幕截图;
第二显示控制模块97,用于在当前视图窗口显示所述当前视图窗口的屏幕截图。
本申请的方法的操作步骤与模块的结构特征对应,可以相互参照,不再一一赘述。
在本申请的一个实施例中,可以不需要分成服务端模块和客户端模块两个模块实现修改用户界面控件属性。具体地,不需要获取和传输目标应用程序视图窗口的用户界面层次视图,由内嵌在目标应用程序中的单一模块完成用户界面界面的修改。参考图10,是根据本申请实施例的动态修改用户界面的方法的流程图,其包括:
步骤S1002,获取对于目标应用程序的当前视图窗口的用户界面层次视图结构数据;
步骤S1004,在当前视图窗口显示所述用户界面层次视图结构数据;
步骤S1006,接收用户界面修改请求命令,根据所述用户界面修改请求命令对用户界面控件的属性进行修改。
例如,当长按目标应用程序的某个控件时,在当前视图窗口直接弹出一个GUI界面列出该控件的属性值列表,并且可以直接在GUI修改该控件的控件属性。这种实现方式并不需要服务端模块和客户端模块的网络通信,因为二者是合并在一个模块中。
参考图11,是根据本申请实施例的动态修改用户界面的***110的结构框图,其包括:
第二获取模块111,用于获取对于目标应用程序的当前视图窗口的用户界面层次视图结构数据;
显示模块112,用于在当前视图窗口显示所述用户界面层次视图结构数据;
修改模块113,用于接收用户界面修改请求命令,根据所述用户界面修改请求命令对用户界面控件的属性进行修改。
综上所述,根据本申请的技术方案,根据本申请的技术方案,服务端模块将生成的用户界面层次视图结构数据发送至客户端模块,并且服务端模块根据来自客户端模块的用户界面修改请求消息修改用户界面控件的属性。通过本申请能够实时、动态修改应用程序的用户界面控件属性,不需要重新打包部署运行,从而极大地提高了工作效率。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (20)
1.一种动态修改用户界面的方法,应用于包括服务端模块和客户端模块的网络环境,其特征在于,所述服务端模块设置于目标应用程序中,所述客户端模块独立于目标应用程序设置,所述目标应用程序运行在移动终端中,所述客户端模块运行在计算机中,所述方法包括:
服务端模块接收来自客户端模块的用户界面层次视图结构请求消息,生成所述目标应用程序的当前视图窗口的用户界面层次视图结构数据,并将所述用户界面层次视图结构数据发送至所述客户端模块;
所述服务端模块接收来自所述客户端模块的用户界面修改请求消息,其中所述用户界面修改请求消息由所述客户端模块根据所述用户界面层次视图结构数据生成;所述客户端模块用于浏览所述目标应用程序的用户界面层次视图并实时动态修改所述用户界面控件的属性;
所述服务端模块根据所述用户界面修改请求消息修改用户界面控件的属性。
2.根据权利要求1所述的方法,其特征在于,所述服务端模块生成所述目标应用程序的当前视图窗口的用户界面层次结构数据,包括:
所述服务端模块接收来自所述目标应用程序的注册请求,遍历所述目标应用程序的当前视图窗口的用户界面控件,生成所述用户界面层次视图结构数据。
3.根据权利要求2所述的方法,其特征在于,还包括:
所述服务端模块为当前视图窗口中每个用户界面控件配置标识信息;
所述服务端模块向所述客户端模块发送的所述用户界面层次视图结构数据中还携带有当前视图窗口中每个用户界面控件的标识信息。
4.根据权利要求1所述的方法,其特征在于,所述用户界面修改请求消息中携带有以下信息:请求修改的用户界面控件的标识信息、属性名称以及新属性值;
所述服务端模块根据所述用户界面修改请求消息修改用户界面的控件属性,包括:所述服务端模块根据所述用户界面修改请求消息中的标识信息和属性名称确定请求属性修改的用户界面控件属性,并调用***提供的属性修改方法将确定修改的用户界面控件属性的属性值修改为新属性值,所述***提供的属性修改方法包括setText方法、setImage方法、setBackground方法、和setPadding方法中的至少一种。
5.根据权利要求1所述的方法,其特征在于,还包括:
所述服务端模块接收来自所述客户端模块的视图窗口屏幕截图请求消息,所述服务端模块获取当前视图窗口的屏幕截图,并将所述当前视图窗口的屏幕截图发送至所述客户端模块。
6.根据权利要求5所述的方法,其特征在于,所述用户界面修改请求消息根据所述用户界面层次视图结构数据和所述当前视图窗口的屏幕截图生成。
7.一种动态修改用户界面的方法,应用于包括服务端模块和客户端模块的网络环境,其特征在于,所述服务端模块设置于目标应用程序中,所述客户端模块独立于目标应用程序设置,所述目标应用程序运行在移动终端中,所述客户端模块运行在计算机中,所述方法包括:
客户端模块向服务端模块发送对于目标应用程序的当前视图窗口的用户界面层次视图结构请求消息,并接收来自所述服务端模块的用户界面层次视图结构数据;
所述客户端模块向所述服务端模块发送用户界面修改请求消息,以使所述服务端模块根据所述用户界面修改请求消息修改所述用户界面控件的属性,其中所述用户界面修改请求消息根据所述用户界面层次视图结构数据生成;所述客户端模块用于浏览所述目标应用程序的用户界面层次视图并实时动态修改所述用户界面控件的属性。
8.根据权利要求7所述的方法,其特征在于,还包括:
所述用户界面层次视图结构数据中还携带有当前视图窗口中每个用户界面控件的标识信息;
所述客户端模块在当前视图窗口显示所述用户界面层次视图结构数据。
9.根据权利要求7所述的方法,其特征在于,所述用户界面修改请求消息中携带有以下信息:请求修改的用户界面控件的标识信息、属性名称以及新属性值。
10.根据权利要求7所述的方法,其特征在于,还包括:
所述客户端模块向所述服务端模块发送视图窗口屏幕截图请求消息,并接收来自所述服务端模块的当前视图窗口的屏幕截图;
所述客户端模块在当前视图窗口显示所述当前视图窗口的屏幕截图。
11.一种动态修改用户界面的服务端模块,应用于包括服务端模块和客户端模块的网络环境,其特征在于,所述服务端模块设置于目标应用程序中,所述客户端模块独立于目标应用程序设置,所述目标应用程序运行在移动终端中,所述客户端模块运行在计算机中,所述服务端模块包括:
第一接收模块,用于接收来自客户端模块的用户界面层次视图结构请求消息;
生成模块,用于响应所述用户界面层次视图结构请求消息,生成所述目标应用程序的当前视图窗口的用户界面层次视图结构数据;
第一发送模块,用于将所述用户界面层次视图结构数据发送至所述客户端模块;
第二接收模块,用于接收来自所述客户端模块的用户界面修改请求消息,其中所述用户界面修改请求消息由所述客户端模块根据所述用户界面层次视图结构数据生成;所述客户端模块用于浏览所述目标应用程序的用户界面层次视图并实时动态修改所述用户界面控件的属性;
属性修改模块,用于根据所述用户界面修改请求消息修改用户界面控件的属性。
12.根据权利要求11所述的服务端模块,其特征在于,所述生成模块,还用于接收来自所述目标应用程序的注册请求,遍历所述目标应用程序的当前视图窗口的用户界面控件,生成所述用户界面层次视图结构数据。
13.根据权利要求12所述的服务端模块,其特征在于,还包括:
标识信息配置模块,用于为当前视图窗口中每个用户界面控件配置标识信息;
所述第一发送模块发送的所述用户界面层次视图结构数据中还携带有当前视图窗口中每个用户界面控件的标识信息。
14.根据权利要求11所述的服务端模块,其特征在于,所述用户界面修改请求中携带有以下信息:请求修改的用户界面控件的标识信息、属性名称以及新属性值;
所述属性修改模块,还用于根据所述用户界面修改请求消息中的标识信息和属性名称确定请求属性修改的用户界面控件属性,并调用***提供的属性修改方法将确定修改的用户界面控件属性的属性值修改为新属性值,所述***提供的属性修改方法包括setText方法、setImage方法、setBackground方法、和setPadding方法中的至少一种。
15.根据权利要求11所述的服务端模块,其特征在于,还包括:
第三接收模块,用于接收来自所述客户端模块的视图窗口屏幕截图请求消息;
第一获取模块,用于获取当前视图窗口的屏幕截图;
第二发送模块,用于将所述当前视图窗口的屏幕截图发送至所述客户端模块。
16.根据权利要求15所述的服务端模块,其特征在于,所述用户界面修改请求消息根据所述用户界面层次视图结构数据和所述当前视图窗口的屏幕截图生成。
17.一种动态修改用户界面的客户端模块,应用于包括服务端模块和客户端模块的网络环境,其特征在于,所述服务端模块设置于目标应用程序中,所述客户端模块独立于目标应用程序设置,所述目标应用程序运行在移动终端中,所述客户端模块运行在计算机中,所述客户端模块包括:
第三发送模块,用于向服务端模块发送对于目标应用程序的当前视图窗口的用户界面层次视图结构请求消息;
第四接收模块,用于接收来自所述服务端模块的用户界面层次视图结构数据;
第四发送模块,用于向所述服务端模块发送用户界面修改请求消息,以使所述服务端模块根据所述用户界面修改请求消息修改所述用户界面控件的属性,其中所述用户界面修改请求消息根据所述用户界面层次视图结构数据生成;所述客户端模块用于浏览所述目标应用程序的用户界面层次视图并实时动态修改所述用户界面控件的属性。
18.根据权利要求17所述的客户端模块,其特征在于,
所述第四接收模块接收的所述用户界面层次视图结构数据中还携带有当前视图窗口中每个用户界面控件的标识信息;
所述客户端模块还包括:第一显示控制模块,用于在当前视图窗口显示所述用户界面层次视图结构数据。
19.根据权利要求17所述的客户端模块,其特征在于,所述用户界面修改请求消息中携带有以下信息:请求修改的用户界面控件的标识信息、属性名称以及新属性值。
20.根据权利要求17所述的客户端模块,其特征在于,还包括:
第五发送模块,用于向所述服务端模块发送视图窗口屏幕截图请求消息;
第五接收模块,用于接收来自所述服务端模块的当前视图窗口的屏幕截图;
第二显示控制模块,用于在当前视图窗口显示所述当前视图窗口的屏幕截图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610096011.3A CN107102798B (zh) | 2016-02-22 | 2016-02-22 | 动态修改用户界面的方法、***及相关模块 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610096011.3A CN107102798B (zh) | 2016-02-22 | 2016-02-22 | 动态修改用户界面的方法、***及相关模块 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107102798A CN107102798A (zh) | 2017-08-29 |
CN107102798B true CN107102798B (zh) | 2021-05-18 |
Family
ID=59658428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610096011.3A Active CN107102798B (zh) | 2016-02-22 | 2016-02-22 | 动态修改用户界面的方法、***及相关模块 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107102798B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595965B (zh) * | 2018-04-28 | 2019-12-20 | 北京字节跳动网络技术有限公司 | 防止界面控件的属性信息被窃取的方法及其装置 |
CN111371901B (zh) * | 2020-03-13 | 2023-05-23 | 百度在线网络技术(北京)有限公司 | 客户端行为控制方法、装置、电子设备和介质 |
CN114115869A (zh) * | 2020-08-31 | 2022-03-01 | 菜鸟智能物流控股有限公司 | 一种用户界面ui的处理方法及装置 |
CN113377366B (zh) * | 2021-07-09 | 2024-03-12 | 北京字跳网络技术有限公司 | 控件编辑方法、装置、设备、可读存储介质及产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1534502A (zh) * | 2003-03-31 | 2004-10-06 | 联想(北京)有限公司 | 动态处理适配器界面的方法 |
CN101676910A (zh) * | 2008-09-19 | 2010-03-24 | 北京大学 | 一种面向Web应用***的页面生成方法 |
CN101859245A (zh) * | 2009-04-09 | 2010-10-13 | 北大方正集团有限公司 | 一种生成用户界面的方法和装置 |
CN101980193A (zh) * | 2010-10-25 | 2011-02-23 | 深圳市五巨科技有限公司 | 一种动态页面修改的实现方法、装置和*** |
CN102375733A (zh) * | 2010-08-24 | 2012-03-14 | 北大方正集团有限公司 | 一种便捷的界面布局方法 |
CN104484189A (zh) * | 2014-12-31 | 2015-04-01 | 北京拼图科技有限公司 | 一种应用界面的构建及设计方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8677255B1 (en) * | 2004-08-27 | 2014-03-18 | Adobe Systems Incorporated | Expanded container view for graphical editing environment |
US8667404B2 (en) * | 2008-08-06 | 2014-03-04 | Autodesk, Inc. | Predictive material editor |
CN101599015B (zh) * | 2009-07-07 | 2013-07-03 | 阿里巴巴集团控股有限公司 | 一种组件解析的方法和*** |
KR101456506B1 (ko) * | 2012-08-06 | 2014-10-31 | 인크로스 주식회사 | 웹 어플리케이션 저작도구 및 저작 방법 |
CN104484171B (zh) * | 2014-12-11 | 2018-05-29 | 深圳市路通网络技术有限公司 | 终端界面设计***、方法及相关设备 |
-
2016
- 2016-02-22 CN CN201610096011.3A patent/CN107102798B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1534502A (zh) * | 2003-03-31 | 2004-10-06 | 联想(北京)有限公司 | 动态处理适配器界面的方法 |
CN101676910A (zh) * | 2008-09-19 | 2010-03-24 | 北京大学 | 一种面向Web应用***的页面生成方法 |
CN101859245A (zh) * | 2009-04-09 | 2010-10-13 | 北大方正集团有限公司 | 一种生成用户界面的方法和装置 |
CN102375733A (zh) * | 2010-08-24 | 2012-03-14 | 北大方正集团有限公司 | 一种便捷的界面布局方法 |
CN101980193A (zh) * | 2010-10-25 | 2011-02-23 | 深圳市五巨科技有限公司 | 一种动态页面修改的实现方法、装置和*** |
CN104484189A (zh) * | 2014-12-31 | 2015-04-01 | 北京拼图科技有限公司 | 一种应用界面的构建及设计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107102798A (zh) | 2017-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10698663B1 (en) | System and method for pervasive software platform-based model driven architecture application generator | |
CN107102798B (zh) | 动态修改用户界面的方法、***及相关模块 | |
CN106874174B (zh) | 接口测试及功能测试的实现方法和装置 | |
CN107450899B (zh) | 终端控制脚本的生成方法和装置 | |
CN105320440B (zh) | 信息处理方法、装置和*** | |
TWI686702B (zh) | 檔案傳輸方法及裝置 | |
CN103237083B (zh) | 一种移动信息服务资源聚合***及方法 | |
CN109428911A (zh) | 设备控制方法、装置、终端设备和操作*** | |
CN105991682B (zh) | 一种数据分享方法及装置 | |
CN112069422A (zh) | 信息展示方法、服务器、终端和介质 | |
CN106572139B (zh) | 多终端控制方法、终端、服务器和*** | |
US10587453B2 (en) | Method and apparatus for IPMI-bridge-server for non-IPMI devices | |
CN110868763B (zh) | 建立蓝牙连接的方法、装置及*** | |
US10498801B2 (en) | Transmitting and displaying screen content | |
CN105307024A (zh) | 一种基于视联网的图文信息界面控制方法和装置 | |
CN110347319A (zh) | 一种应用内屏幕截图方法及装置 | |
CN112115394A (zh) | 数据展示方法、服务器、终端和介质 | |
CN106599045B (zh) | 一种请求发送方法及装置 | |
CN105190613A (zh) | 用于向用户设备提供与情境有关的上下文的方法及装置 | |
CN110807162A (zh) | 加载占位图的方法和装置 | |
JP6621075B2 (ja) | リソース取得方法および装置 | |
CN107220260B (zh) | 一种页面显示的方法及装置 | |
CN110554950B (zh) | 一种界面调试方法、装置及存储介质 | |
CN103428013A (zh) | 设备管理方法、***和网关设备 | |
WO2017219832A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240624 Address after: Room 201, No. 9 Fengxiang East Street, Yangsong Town, Huairou District, Beijing Patentee after: Youku Culture Technology (Beijing) Co.,Ltd. Country or region after: China Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands Patentee before: ALIBABA GROUP HOLDING Ltd. Country or region before: Cayman Islands |