CN112711400A - 视图的处理方法、设备、存储介质及计算机程序产品 - Google Patents
视图的处理方法、设备、存储介质及计算机程序产品 Download PDFInfo
- Publication number
- CN112711400A CN112711400A CN202011621933.4A CN202011621933A CN112711400A CN 112711400 A CN112711400 A CN 112711400A CN 202011621933 A CN202011621933 A CN 202011621933A CN 112711400 A CN112711400 A CN 112711400A
- Authority
- CN
- China
- Prior art keywords
- view
- field
- view field
- naming
- target
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本公开实施例提供一种视图的处理方法、设备、存储介质及计算机程序产品,通过基于终端设备的应用程序获取字节码文件;确定字节码文件中的视图字段;获取视图字段的属性信息;根据视图字段的属性信息对创建的视图对象进行命名处理。本公开实施例通过视图字段的属性信息对视图对象进行命名处理实现了对视图对象进行唯一、稳定的命名,从而可以准确唯一的定位视图对象,以在无埋点数据收集技术中准确的过滤出所需数据、或者View性能统计处理技术中对特定视图对象进行性能统计。
Description
技术领域
本公开实施例涉及计算机技术领域,尤其涉及一种视图的处理方法、设备、存储介质及计算机程序产品。
背景技术
视图View是Android应用中所有控件的基类,Android应用的所有UI(UserInterface,用户界面)组件都是建立在View或View控件组ViewGroup基础之上。在Android应用的使用过程中通常会收集用户行为数据、用户信息数据等,再基于View标识过滤出所需数据、或进行View性能统计。
为了唯一定位View对象,以准确的过滤出所需数据、或对特定View对象进行性能统计,通常需要View对象具有唯一的、稳定的标识。现有技术中对View对象的命名,通常采用手动指定命名,或者是通过简单的ViewPath(视图路径)来进行唯一命名。现有的对View对象的命名方式容易出现人为失误,效率低下,可能存在命名重复、或者容易发生变动,导致命名极不稳定,进而导致可能无法准确唯一定位View对象,无法准确的过滤出所需数据、或对特定View对象进行性能统计。
发明内容
本公开实施例提供一种视图的处理方法、设备、存储介质及计算机程序产品,以实现对View对象唯一、稳定的命名,从而能够准确唯一的定位View对象,以在无埋点数据收集技术中准确的过滤出所需数据、或者View性能统计处理技术中对特定View对象进行性能统计。
第一方面,本公开实施例提供一种视图的处理方法,包括:
基于终端设备的应用程序获取字节码文件;
确定所述字节码文件中的视图字段;
获取所述视图字段的属性信息;
根据所述视图字段的属性信息对视图对象进行命名处理;其中,所述视图对象是通过对所述字节码文件初始化生成。
第二方面,本公开实施例提供一种视图的处理设备,包括:
编译单元,用于基于终端设备的应用程序获取字节码文件;
识别单元,用于确定所述字节码文件中的视图字段;
处理单元,用于获取所述视图字段的属性信息;根据所述视图字段的属性信息对视图对象进行命名处理;其中,所述视图对象是通过对所述字节码文件初始化生成。
第三方面,本公开实施例提供一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的视图的处理方法。
第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的视图的处理方法。
第五方面,本公开实施例提供一种计算机程序产品,包括计算机执行指令,该计算机执行指令被处理器执行时实现如上第一方面以及第一方面各种可能的设计所述的视图的处理方法。
本实施例提供的视图的处理方法、设备、存储介质及计算机程序产品,通过基于终端设备的应用程序获取字节码文件;确定所述字节码文件中的视图字段;获取所述视图字段的属性信息;根据所述视图字段的属性信息对创建的视图对象进行命名处理。
本公开实施例通过视图字段的属性信息对视图对象进行命名处理实现了对视图对象进行唯一、稳定的命名,从而可以准确唯一的定位视图对象,以在无埋点数据收集技术中准确的过滤出所需数据、或者View性能统计处理技术中对特定视图对象进行性能统计。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的视图的处理方法的应用场景示意图;
图2为本公开一实施例提供的视图的处理方法流程示意图;
图3为本公开另一实施例提供的视图的处理方法流程示意图;
图4为本公开另一实施例提供的视图的处理方法流程示意图;
图5为本公开一实施例提供的视图的处理设备的结构框图;
图6为本公开实施例提供的电子设备的硬件结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
目前,在Android应用的使用过程中通常会采用无埋点(或全埋点)数据收集技术收集数据,包括行为数据、信息数据等,用来跟踪应用使用的情况,后续用来进一步优化产品或者提供运营的数据支撑,在分析和统计过程中可基于View标识(View名称或ViewID)过滤出所需数据、或进行View对象性能统计。
为了唯一定位View、且View标识不冲突,使各个View对象之间能够相互区分,尤其是在无埋点数据收集技术或者View性能统计处理技术中更需要View对象具有唯一的、稳定的标识,才能准确的过滤出所需数据、或对特定View对象进行性能统计,因此需要对View对象进行唯一命名。
现有技术中对View对象的命名,通常采用手动指定命名,例如由开发人员采用特定的命名规则为View对象指定一个标识;或者是通过简单的ViewPath来进行唯一命名,具体的可先获取到View对象的ViewPath,以ViewPath作为View对象的标识。
上述现有技术的View命名方法中,采用手动指定命名的方式过于麻烦,需要开发人员手动的来采用特定的命名规则为View对象指定一个标识,消耗人力,效率低下,且手动命名容易出现失误,例如可能发生命名重复或命名错误的情况;而通过ViewPath来唯一命名,需要首先获取到View对象的ViewPath,对设备造成较大的性能损耗,同时需要服务端做较多的配合,也即通过与服务端的交互才能实现ViewPath的获取和View对象的命名,且ViewPath发生变动的可能性很大,导致命名极不稳定,进而导致可能无法准确唯一定位View对象,无法在无埋点数据收集技术中准确的过滤出所需数据、或对特定View对象进行性能统计。
基于上述技术问题,本公开实施例提出一种视图的处理方法,包括:根据应用程序(Java文件)获取字节码Class文件;确定字节码Class文件中的视图View字段;获取View字段的属性信息;根据所述View字段的属性信息对View对象进行命名处理。由于View字段属性信息通常较为稳定,尤其是不会随着视图路径改变而发生变化,因而采用本公开实施例视图的处理方法实现了对View对象唯一、稳定的命名,从而实现准确唯一的定位View对象,以在无埋点数据收集技术中准确的过滤出所需数据、或者View性能统计处理技术中对特定View对象进行性能统计。
具体的,在应用程序编译阶段,根据所述属性信息以及预设的命名规则,确定所述视图字段的目标标识,并根据所述视图字段的目标标识生成命名指令;在应用程序运行阶段,对Class文件进行初始化创建出视图对象;调用所述命名指令,以所述目标标识对所述视图对象进行命名。通过上述过程可以以自动方式实现View的命名,以解决消耗人力,效率低下的问题。
具体的,View字段属性信息例如包名、类名及成员变量名,由于View字段包名、类名及成员变量名也通常不同,因此根据View字段的包名、类名、成员变量名等对View对象进行命名处理,可以保证View对象具有唯一的、稳定的标识,进而能够准确唯一的定位View对象。更具体而言,基于View的相关属性信息以及预设的命名规则,来对View进行唯一命名,其中可选的,预设的命名规则可以为以View字段的包名、类名及成员变量名中至少两项作为View字段的目标标识,优选的,以View字段的包名、类名及成员变量名组合作为View字段的目标标识。
可选的,在确定字节码Class文件中的视图View字段时,可获取字节码文件中任一字段的类型;根据任一字段的类型,判断任一字段是否为视图字段;和/或获取字节码文件中任一字段的继承链路;根据任一字段的继承链路,判断任一字段是否为视图字段。通过上述过程可准确的识别出字节码Class文件中的View字段,避免遗漏某些View字段,才能保证每一View对象都能被唯一、稳定的命名。
可选的,根据所述View字段的目标标识生成命名指令后,还可将命名指令置于Class文件的目标位置处,以在程序运行阶段能够执行该命名指令,从而以目标标识对View对象进行命名。具体的,可在Class文件中在目标位置处预先配置目标占位符,进而可从Class文件中查找目标占位符,将目标占位符替换为所述命名指令,从而实现将命名指令置于Class文件的目标位置处,在程序运行阶段可方便对该命名指令调用和执行。
本公开实施例提供的视图的处理方法例如可应用于如图1所示的应用场景中,在该应用场景中包括终端设备101和服务器102,其中终端设备101可安装应用程序,在终端设备101执行应用程序时进行了程序编译阶段和程序运行阶段,在程序编译阶段,基于终端设备101的应用程序获取字节码Class文件,并从Class文件中识别出视图View字段,获取View字段的相关属性信息,根据相关属性信息以及预设的命名规则,确定View字段的目标标识,并根据View字段的目标标识生成命名指令;在程序运行阶段,对Class文件进行初始化,根据View字段生成View对象,并调用命名指令,以目标标识对所述View对象进行命名,进一步的,终端设备101可以将数据包括行为数据(如按钮点击、浏览时长等)、信息数据等,发送给服务器102,服务器102可基于View的目标标识过滤出所需数据、或对特定View对象进行性能统计。其中,终端设备101不限于智能手机、平板电脑、可穿戴设备、个人数字助理、个人电脑等。
下面将结合具体实施例和附图对本公开实施例提供的视图的处理过程进行详细解释。
参考图2,图2为本公开实施例提供的视图的处理方法流程示意图。本实施例的视图的处理方法可以应用在终端设备,当然也可应用在服务器等其他电子设备中,该视图的处理方法包括:
S201、基于终端设备的应用程序获取字节码文件。
S202、确定所述字节码文件中的视图字段。
在本实施例中,在应用程序编译阶段,基于终端设备的应用程序,获取字节码Class文件,并从Class文件中识别出视图View字段。
在本实施例中,针对于终端设备的Android应用,执行其应用程序时通常需要经历编译阶段和运行阶段,其中,编译阶段是把应用程序源代码(Java文件)交给编译器编译成计算机可以执行的文件的过程,主要检查源程序是否符合语法规则,若符合,则生成正常的字节码文件(.class文件);而运行阶段则是把编译后的文件交给计算机执行,直到程序运行结束,也就是把在磁盘中的代码放到内存中执行起来,把磁盘中的代码放到内存中就是字节码文件加载过程,加载是运行期的开始部分。
本实施例中,在对终端设备的应用程序进行编译阶段,可基于应用程序通过编译器编译得到Class文件,例如对于应用程序中定义某一事物的Java类(Java文件)通过编译器编译得到该Java类的Class文件,再通过字节码工具识别出各Class文件中的View字段。具体的,可通过字节码工具ClassVisitor来访问当前Class文件的每个字段,进而通过属性描述器Descriptor获取每个字段的类型,从而识别出Class文件中的各View字段。可选的,在识别出View字段后,可对View字段进行存储,例如存储在map文件中。
可选的,在从字节码Class文件中识别出视图View字段时,具体包括:
获取所述字节码文件中任一字段的类型;根据所述任一字段的类型,判断所述任一字段是否为视图字段;和/或
获取所述字节码文件中任一字段的继承链路;根据所述任一字段的继承链路,判断所述任一字段是否为视图字段。
在本实施例中,可通过访问Class文件,并获取Class文件中任一字段的类型,在访问Class文件过程中首先可判断所访问的字段是变量还是方法,若所访问的字段为变量时,则获取该字段的类型,若该字段的类型为View类型或者View子类,则可直接确定该字段为View字段;或者,也可判断该字段的继承链路上的父类中是否存在View字段、或者View控件组Viewgroup,若该字段的继承链路上的父类中存在View字段、或者Viewgroup,例如该字段的父类为View字段,或者该字段父类的父类为View字段等等,则确定该字段为View字段,其中Viewgroup为用于存放其他View(和ViewGroup)对象的布局容器。本实施例中可根据实际情况选择识别方式,可以仅仅根据所述任一字段的类型,判断所述任一字段是否为视图字段;或者,也可以仅仅根据所述任一字段的继承链路,判断所述任一字段是否为视图字段;或者二者结合,例如,可以优先以字段类型来判断是否为View字段,若该字段的类型不为View类型或者View子类,再判断该字段的继承链路上的父类中是否存在View字段、或者Viewgroup。
S203、获取所述视图字段的属性信息。
在本实施例中,在识别出Class文件中的View字段后,可获取View字段的相关属性信息,其中相关属性信息可包括但不限于View字段的包名、类名、成员变量名等,其他属性信息此处不再一一赘述。
S204、根据所述视图字段的属性信息对视图对象进行命名处理,其中,所述视图对象是通过对所述字节码文件初始化生成(对所述字节码文件初始化过程中根据所述视图字段生成)。
在本实施例中,可根据View字段的属性信息对View对象进行命名处理,还可对View对象在终端设备的界面中进行显示,由于View字段属性信息通常较为稳定,尤其是不会随着视图路径改变而发生变化,因而根据所述视图字段的属性信息对视图对象进行命名处理,相较于现有的方式更加准确、可靠,且不同View字段属性信息例如包名、类名及成员变量名也通常不同,因此根据View字段的属性信息对View对象进行命名处理,可以保证View具有唯一的、稳定的标识,进而能够准确唯一的定位View,以在无埋点数据收集技术中准确的过滤出所需数据、或者View性能统计处理技术中对特定View对象进行性能统计,也可直接将View对象的目标标识上报给服务器。
可选的,如图3所示,S204所述的根据所述视图字段的属性信息对创建的视图对象进行命名处理,具体可包括:
S301、在应用程序编译阶段,根据所述属性信息以及预设的命名规则,确定所述视图字段的目标标识,并根据所述视图字段的目标标识生成命名指令;
S302、在应用程序运行阶段,对所述字节码文件进行初始化创建出视图对象;调用所述命名指令,以所述目标标识对创建的所述视图对象进行命名。
在本实施例中,在应用程序编译阶段获取到View字段的属性信息后,根据属性信息以及预设的命名规则,确定View字段的目标标识,该目标标识用于唯一标识该View字段对应的View对象。由于编译阶段并不真实存在视图View对象,而是在运行阶段对Class文件进行初始化时才根据视图字段创建出真实的View对象,因此在编译阶段中可根据View字段的目标标识生成命名指令(也可称之为命名方法),以在运行阶段运行该命名指令,实现以目标标识对View对象进行命名。
可选的,预设的命名规则可以为以View字段的包名、类名及成员变量名中至少两项按照预设顺序组合作为View字段的目标标识。例如可以以包名+成员变量名、或者类名+成员变量名作为View字段的目标标识,优选的,可以以包名+类名+成员变量名作为View字段的目标标识。其中,若成员变量名存在多个,则可预先设定成员变量名的顺序;此外,还可预先设定包名、类名及成员变量名的顺序,例如首先为包名、然后是类名、最后是成员变量名(一个或多个),或者首先是类名、然后是包名、最后是成员变量名(一个或多个),或者其他顺序,此处不再一一举例。本实施例中通过View字段的包名、类名及成员变量名中至少两项按照预设顺序组合,可保证View字段的目标标识的唯一性和稳定性。
当然,若相关属性信息还包括其他信息,也可将其他信息也按照预设顺序组合到目标标识之中,例如目标标识可以为包名+类名+成员变量名+其他信息。需要说明的是,相关属性信息越多、目标标识的包含的内容越多,则目标标识出现重复的可能性越低,也即越能够保证目标标识的唯一性和稳定性。
在应用程序运行阶段,对Class文件进行初始化生成View对象,并调用所述命名指令并执行,从而实现以目标标识对View对象进行自动命名,且保证View对象命名的唯一性和稳定性,不需要手动为View对象命名,降低了人力成本、提高了效率,同时可避免手动命名可能出现的命名重复或命名错误的情况,此外,也避免了采用ViewPath命名时的不稳定性,同时也减少了对设备的性能损耗。
本公开实施例中,可以基于所述View对象的目标标识对所述应用程序进行无埋点数据收集、或者View性能统计处理。也即,在对View对象完成唯一命名后,可进行无埋点数据收集,以收集行为数据、信息数据等,用来跟踪应用使用的情况,在对某一服务或某一功能进行分析和统计过程中可基于View的标识准确唯一的定位View对象,进而才能准确的过滤出所需数据、或对特定View对象进行性能统计。具体的,当满足预设无埋点数据收集的配置信息时,根据所述View对象的目标标识获取目标数据,并将所述目标数据发送至目标设备;或者,接收目标设备发送的数据采集请求,所述数据采集请求包括所述View对象的目标标识,根据所述View对象的目标标识获取目标数据,并将所述目标数据发送至目标设备。
在上述任一实施例的基础上,S202所述的根据所述View字段的目标标识生成命名指令后,还可包括:
获取所述Class文件中的目标位置,将所述命名指令置于所述Class文件的所述目标位置处。
在本实施例中,在得到命名指令后,可将命名指令作为Class文件的类方法(classmethod)配置在Class文件中的目标位置处,以在程序运行阶段能够执行该命名指令,从而以目标标识对View对象进行命名。在本实施例中,目标位置可位于Class文件中所有View字段之后,以便于在程序运行阶段,对Class文件进行初始化,基于View字段创建View对象,然后再进行命名。
作为上述实施例的进一步改进,如图4所示,所述获取所述Class文件中的目标位置,将所述命名指令置于所述Class文件的所述目标位置处,包括:
S401、从所述字节码文件中查找预先配置在所述目标位置处的目标占位符;
S402、将所述目标占位符替换为所述命名指令。
在本实施例中,开发人员可以在编写应用程序时,在应用程序中插入目标占位符,进而在编译阶段的Class文件中在目标位置处也相应的存在目标占位符,因此可从Class文件中查找目标占位符,从而确定出目标位置,然后将目标占位符替换为命名指令,从而实现了将命名指令放置于Class文件的目标位置处。其中,作为一种示例,本实施例中以Fluent.bind方法作为目标占位符,从Class文件中查找Fluent.bind方法,进而将Fluent.bind方法替换为命名指令的类方法。
在上述任一实施例的基础上,所述Class文件包括多个View字段;
进一步的,在S301所述的根据所述属性信息以及预设的命名规则,确定所述视图字段的目标标识,并根据所述视图字段的目标标识生成命名指令,包括:
确定每个所述View字段的目标标识,并记录每个View字段与每个View字段的目标标识的映射关系;根据所述映射关系生成每个View字段对应的命名指令。
在本实施例中,在访问当前的Class文件时,识别出多个View字段,并确定每一View字段的目标标识,然后可记录每个View字段与View字段的目标标识的映射关系,进而根据映射关系生成每个所述View字段对应的命名指令。
进一步的,在将所述目标占位符替换为所述命名指令时,可将所述目标占位符替换为各所述View字段对应的命名指令。也即,当前的Class文件中可以仅设置一个目标占位符,在替换时可以将该目标占位符替换为当前的Class文件中所有的View字段对应的命名指令,也即将所有的View字段对应的命名指令均放置在Class文件的目标位置处。
需要说明的是,在上述实施例提供的视图的处理方法中,在程序编译阶段可以仅仅访问一次当前的Class文件,在访问过程中识别出View字段、获取View字段的相关属性信息、确定View字段的目标标识、根据View字段的目标标识生成命名指令,同时也可确定Class文件中的目标位置,在当前的Class文件访问结束时,将命名指令放置于Class文件的目标位置处。
对应于上文实施例的视图的处理方法,图5为本公开实施例提供的视图的处理设备的结构框图。为了便于说明,仅示出了与本公开实施例相关的部分。参照图5,所述视图的处理设备500包括:编译单元501、识别单元502以及处理单元503。
编译单元501,用于基于终端设备的应用程序获取字节码文件;
识别单元502,用于确定所述字节码文件中的视图字段;
处理单元503,用于获取所述视图字段的属性信息;根据所述视图字段的属性信息对视图对象进行命名处理;其中,所述视图对象是通过对所述字节码文件初始化生成。
根据本公开的一个或多个实施例,所述处理单元503在根据所述视图字段的属性信息对创建的视图对象进行命名处理时,用于:
在应用程序编译阶段,根据所述属性信息以及预设的命名规则,确定所述视图字段的目标标识,并根据所述视图字段的目标标识生成命名指令;
在应用程序运行阶段,对所述字节码文件进行初始化创建出视图对象;调用所述命名指令,以所述目标标识对所述视图对象进行命名。
根据本公开的一个或多个实施例,所述识别单元502在确定所述字节码文件中的视图字段时,用于:
获取所述字节码文件中任一字段的类型;
根据所述任一字段的类型,判断所述任一字段是否为视图字段;和/或
获取所述字节码文件中任一字段的继承链路;
根据所述任一字段的继承链路,判断所述任一字段是否为视图字段。
根据本公开的一个或多个实施例,所述识别单元502在根据所述任一字段的类型,判断所述任一字段是否为视图字段时,用于:
若所述任一字段的类型为视图类型或者视图子类,则确定所述任一字段为视图字段;和/或
所述根据所述任一字段的继承链路,判断所述任一字段是否为视图字段,包括:
若所述任一字段的继承链路上的父类中存在视图字段、或者视图控件组,则确定所述任一字段为视图字段。
根据本公开的一个或多个实施例,所述处理单元503在根据所述视图字段的目标标识生成命名指令后,还用于:
获取所述字节码文件中的目标位置,将所述命名指令置于所述字节码文件的所述目标位置处。
根据本公开的一个或多个实施例,所述处理单元503在获取所述字节码文件中的目标位置,将所述命名指令置于所述字节码文件的所述目标位置处时,用于:
从所述字节码文件中查找预先配置在所述目标位置处的目标占位符;
将所述目标占位符替换为所述命名指令。
根据本公开的一个或多个实施例,所述字节码文件包括多个视图字段;
所述处理单元503在根据所述属性信息以及预设的命名规则,确定所述视图字段的目标标识,并根据所述视图字段的目标标识生成命名指令时,用于:
确定每个所述视图字段的目标标识,并记录每个所述视图字段与所述视图字段的目标标识的映射关系;
根据所述映射关系生成每个所述视图字段对应的命名指令;
所述处理单元503在将所述目标占位符替换为所述命名指令时,用于:
将所述目标占位符替换为各所述视图字段对应的命名指令。
根据本公开的一个或多个实施例,所述视图字段的属性信息包括:视图字段的包名、类名、成员变量名中至少两项;
所述预设的命名规则为以视图字段的包名、类名及成员变量名中至少两项按照预设顺序组合作为视图字段的目标标识。
本实施例提供的视图的处理设备,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
参考图6,其示出了适于用来实现本公开实施例的电子设备600的结构示意图,该电子设备600可以为终端设备或服务器。其中,终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(Personal Digital Assistant,简称PDA)、平板电脑(Portable Android Device,简称PAD)、便携式多媒体播放器(Portable MediaPlayer,简称PMP)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图6示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(Read Only Memory,简称ROM)602中的程序或者从存储装置608加载到随机访问存储器(Random Access Memory,简称RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(Liquid CrystalDisplay,简称LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置606。通信装置606可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置606从网络上被下载和安装,或者从存储装置608被安装,或者从ROM602被安装。在该计算机程序被处理装置601执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LocalArea Network,简称LAN)或广域网(Wide Area Network,简称WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
第一方面,根据本公开的一个或多个实施例,提供了一种视图的处理方法,包括:
基于终端设备的应用程序获取字节码文件;
确定所述字节码文件中的视图字段;
获取所述视图字段的属性信息;
根据所述视图字段的属性信息对视图对象进行命名处理;其中,所述视图对象是通过对所述字节码文件初始化生成。
根据本公开的一个或多个实施例,所述根据所述视图字段的属性信息对创建的视图对象进行命名处理,包括:
在应用程序编译阶段,根据所述属性信息以及预设的命名规则,确定所述视图字段的目标标识,并根据所述视图字段的目标标识生成命名指令;
在应用程序运行阶段,对所述字节码文件进行初始化创建出视图对象;调用所述命名指令,以所述目标标识对所述视图对象进行命名。
根据本公开的一个或多个实施例,所述确定所述字节码文件中的视图字段,包括:
获取所述字节码文件中任一字段的类型;
根据所述任一字段的类型,判断所述任一字段是否为视图字段;和/或
获取所述字节码文件中任一字段的继承链路;
根据所述任一字段的继承链路,判断所述任一字段是否为视图字段。
根据本公开的一个或多个实施例,所述根据所述任一字段的类型,判断所述任一字段是否为视图字段,包括:
若所述任一字段的类型为视图类型或者视图子类,则确定所述任一字段为视图字段;和/或
所述根据所述任一字段的继承链路,判断所述任一字段是否为视图字段,包括:
若所述任一字段的继承链路上的父类中存在视图字段、或者视图控件组,则确定所述任一字段为视图字段。
根据本公开的一个或多个实施例,所述根据所述视图字段的目标标识生成命名指令后,还包括:
获取所述字节码文件中的目标位置,将所述命名指令置于所述字节码文件的所述目标位置处。
根据本公开的一个或多个实施例,所述获取所述字节码文件中的目标位置,将所述命名指令置于所述字节码文件的所述目标位置处,包括:
从所述字节码文件中查找预先配置在所述目标位置处的目标占位符;
将所述目标占位符替换为所述命名指令。
根据本公开的一个或多个实施例,所述字节码文件包括多个视图字段;
所述根据所述属性信息以及预设的命名规则,确定所述视图字段的目标标识,并根据所述视图字段的目标标识生成命名指令,包括:
确定每个所述视图字段的目标标识,并记录每个所述视图字段与所述视图字段的目标标识的映射关系;
根据所述映射关系生成每个所述视图字段对应的命名指令;
所述将所述目标占位符替换为所述命名指令,包括:
将所述目标占位符替换为各所述视图字段对应的命名指令。
根据本公开的一个或多个实施例,所述视图字段的属性信息包括:视图字段的包名、类名、成员变量名中至少两项;
所述预设的命名规则为以视图字段的包名、类名及成员变量名中至少两项按照预设顺序组合作为视图字段的目标标识。
根据本公开的一个或多个实施例,所述根据所述视图字段的属性信息对创建的视图对象进行命名处理后,还包括:对所述视图对象进行显示。
根据本公开的一个或多个实施例,所述根据所述视图字段的属性信息对创建的视图对象进行命名处理后,还包括:
当满足预设无埋点数据收集的配置信息时,根据所述View对象的目标标识获取目标数据,并将所述目标数据发送至目标设备;或者
接收目标设备发送的数据采集请求,所述数据采集请求包括所述View对象的目标标识,根据所述View对象的目标标识获取目标数据,并将所述目标数据发送至目标设备。
第二方面,根据本公开的一个或多个实施例,提供了一种视图的处理设备,包括:
编译单元,用于基于终端设备的应用程序获取字节码文件;
识别单元,用于确定所述字节码文件中的视图字段;
处理单元,用于获取所述视图字段的属性信息;根据所述视图字段的属性信息对视图对象进行命名处理;其中,所述视图对象是通过对所述字节码文件初始化生成。
根据本公开的一个或多个实施例,所述处理单元在根据所述视图字段的属性信息对创建的视图对象进行命名处理时,用于:
在应用程序编译阶段,根据所述属性信息以及预设的命名规则,确定所述视图字段的目标标识,并根据所述视图字段的目标标识生成命名指令;
在应用程序运行阶段,对所述字节码文件进行初始化创建出视图对象;调用所述命名指令,以所述目标标识对所述视图对象进行命名。
根据本公开的一个或多个实施例,所述识别单元在确定所述字节码文件中的视图字段时,用于:
获取所述字节码文件中任一字段的类型;
根据所述任一字段的类型,判断所述任一字段是否为视图字段;和/或
获取所述字节码文件中任一字段的继承链路;
根据所述任一字段的继承链路,判断所述任一字段是否为视图字段。
根据本公开的一个或多个实施例,所述识别单元在根据所述任一字段的类型,判断所述任一字段是否为视图字段时,用于:
若所述任一字段的类型为视图类型或者视图子类,则确定所述任一字段为视图字段;和/或
所述根据所述任一字段的继承链路,判断所述任一字段是否为视图字段,包括:
若所述任一字段的继承链路上的父类中存在视图字段、或者视图控件组,则确定所述任一字段为视图字段。
根据本公开的一个或多个实施例,所述处理单元在根据所述视图字段的目标标识生成命名指令后,还用于:
获取所述字节码文件中的目标位置,将所述命名指令置于所述字节码文件的所述目标位置处。
根据本公开的一个或多个实施例,所述处理单元在获取所述字节码文件中的目标位置,将所述命名指令置于所述字节码文件的所述目标位置处时,用于:
从所述字节码文件中查找预先配置在所述目标位置处的目标占位符;
将所述目标占位符替换为所述命名指令。
根据本公开的一个或多个实施例,所述字节码文件包括多个视图字段;
所述处理单元在根据所述属性信息以及预设的命名规则,确定所述视图字段的目标标识,并根据所述视图字段的目标标识生成命名指令时,用于:
确定每个所述视图字段的目标标识,并记录每个所述视图字段与所述视图字段的目标标识的映射关系;
根据所述映射关系生成每个所述视图字段对应的命名指令;
所述处理单元在将所述目标占位符替换为所述命名指令时,用于:
将所述目标占位符替换为各所述视图字段对应的命名指令。
根据本公开的一个或多个实施例,所述视图字段的属性信息包括:视图字段的包名、类名、成员变量名中至少两项;
所述预设的命名规则为以视图字段的包名、类名及成员变量名中至少两项按照预设顺序组合作为视图字段的目标标识。
根据本公开的一个或多个实施例,所述处理单元在根据所述视图字段的属性信息对创建的视图对象进行命名处理后,还用于:对所述视图对象进行显示。
根据本公开的一个或多个实施例,所述处理单元在根据所述视图字段的属性信息对创建的视图对象进行命名处理后,还用于:
当满足预设无埋点数据收集的配置信息时,根据所述View对象的目标标识获取目标数据,并将所述目标数据发送至目标设备;或者
接收目标设备发送的数据采集请求,所述数据采集请求包括所述View对象的目标标识,根据所述View对象的目标标识获取目标数据,并将所述目标数据发送至目标设备。
第三方面,根据本公开的一个或多个实施例,提供了一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的视图的处理方法。
第四方面,根据本公开的一个或多个实施例,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的视图的处理方法。
第五方面,根据本公开的一个或多个实施例,提供了一种计算机程序产品,包括计算机执行指令,该计算机执行指令被处理器执行时实现如上第一方面以及第一方面各种可能的设计所述的视图的处理方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (12)
1.一种视图的处理方法,包括:
基于终端设备的应用程序获取字节码文件;
确定所述字节码文件中的视图字段;
获取所述视图字段的属性信息;
根据所述视图字段的属性信息对视图对象进行命名处理;其中,所述视图对象是通过对所述字节码文件初始化生成。
2.根据权利要求1所述的方法,其中,所述根据所述视图字段的属性信息对创建的视图对象进行命名处理,包括:
在应用程序编译阶段,根据所述属性信息以及预设的命名规则,确定所述视图字段的目标标识,并根据所述视图字段的目标标识生成命名指令;
在应用程序运行阶段,对所述字节码文件进行初始化创建出所述视图对象;及调用所述命名指令,以所述目标标识对所述视图对象进行命名。
3.根据权利要求1所述的方法,其中,所述确定所述字节码文件中的视图字段,包括:
获取所述字节码文件中任一字段的类型;
根据所述任一字段的类型,判断所述任一字段是否为视图字段;和/或
获取所述字节码文件中任一字段的继承链路;
根据所述任一字段的继承链路,判断所述任一字段是否为视图字段。
4.根据权利要求3所述的方法,其中,所述根据所述任一字段的类型,判断所述任一字段是否为视图字段,包括:
若所述任一字段的类型为视图类型或者视图子类,则确定所述任一字段为视图字段;和/或
所述根据所述任一字段的继承链路,判断所述任一字段是否为视图字段,包括:
若所述任一字段的继承链路上的父类中存在视图字段、或者视图控件组,则确定所述任一字段为视图字段。
5.根据权利要求2所述的方法,其中,在所述根据所述视图字段的目标标识生成命名指令之后,还包括:
获取所述字节码文件中的目标位置,将所述命名指令置于所述字节码文件的所述目标位置处。
6.根据权利要求5所述的方法,其中,所述获取所述字节码文件中的目标位置,将所述命名指令置于所述字节码文件的所述目标位置处,包括:
从所述字节码文件中查找预先配置在所述目标位置处的目标占位符;
将所述目标占位符替换为所述命名指令。
7.根据权利要求6所述的方法,其中,所述字节码文件包括多个视图字段;
所述根据所述属性信息以及预设的命名规则,确定所述视图字段的目标标识,并根据所述视图字段的目标标识生成命名指令,包括:
确定每个所述视图字段的目标标识,并记录每个所述视图字段与所述视图字段的目标标识的映射关系;及
根据所述映射关系生成每个所述视图字段对应的命名指令;
所述将所述目标占位符替换为所述命名指令,包括:
将所述目标占位符替换为各所述视图字段对应的命名指令。
8.根据权利要求2所述的方法,其中,所述视图字段的属性信息包括:视图字段的包名、类名、成员变量名中至少两项;
所述预设的命名规则为以视图字段的包名、类名及成员变量名中至少两项按照预设顺序组合作为视图字段的目标标识。
9.一种视图的处理设备,包括:
编译单元,用于基于终端设备的应用程序获取字节码文件;
识别单元,用于确定所述字节码文件中的视图字段;
处理单元,用于获取所述视图字段的属性信息;根据所述视图字段的属性信息对视图对象进行命名处理;其中,所述视图对象是通过对所述字节码文件初始化生成。
10.一种电子设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1-8任一项所述的方法。
11.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1-8任一项所述的方法。
12.一种计算机程序产品,包括计算机执行指令,该计算机执行指令被处理器执行时实现权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011621933.4A CN112711400B (zh) | 2020-12-31 | 2020-12-31 | 视图的处理方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011621933.4A CN112711400B (zh) | 2020-12-31 | 2020-12-31 | 视图的处理方法、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112711400A true CN112711400A (zh) | 2021-04-27 |
CN112711400B CN112711400B (zh) | 2023-07-25 |
Family
ID=75547564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011621933.4A Active CN112711400B (zh) | 2020-12-31 | 2020-12-31 | 视图的处理方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112711400B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110191751A1 (en) * | 2010-02-03 | 2011-08-04 | Oracle International Corporation | Declarative attribute security using custom properties |
CN105426389A (zh) * | 2015-10-26 | 2016-03-23 | 武汉微创光电股份有限公司 | 一种基于ui界面树型目录视图的模糊检索定位方法 |
CN106560787A (zh) * | 2016-12-29 | 2017-04-12 | 武汉斗鱼网络科技有限公司 | 一种基于mvvm架构的视图页面显示方法和装置 |
CN107506291A (zh) * | 2017-06-30 | 2017-12-22 | 杭州大搜车汽车服务有限公司 | 一种基于数据采集的分析方法及装置 |
CN107818162A (zh) * | 2017-11-01 | 2018-03-20 | 平安科技(深圳)有限公司 | 埋点处理方法、装置、计算机设备和存储介质 |
CN107818163A (zh) * | 2017-11-01 | 2018-03-20 | 平安科技(深圳)有限公司 | 页面展示方法、装置、计算机设备和存储介质 |
CN108153518A (zh) * | 2017-12-25 | 2018-06-12 | 厦门市美亚柏科信息股份有限公司 | 一种java程序反混淆方法及终端 |
CN110704833A (zh) * | 2019-10-10 | 2020-01-17 | 北京字节跳动网络技术有限公司 | 数据权限配置方法、设备、电子设备及存储介质 |
CN111427583A (zh) * | 2020-04-12 | 2020-07-17 | 中信银行股份有限公司 | 组件的编译方法、装置和电子设备及计算机可读存储介质 |
CN111695059A (zh) * | 2019-03-15 | 2020-09-22 | 北京京东尚科信息技术有限公司 | 一种信息视图列表处理方法、装置和显示设备 |
-
2020
- 2020-12-31 CN CN202011621933.4A patent/CN112711400B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110191751A1 (en) * | 2010-02-03 | 2011-08-04 | Oracle International Corporation | Declarative attribute security using custom properties |
CN105426389A (zh) * | 2015-10-26 | 2016-03-23 | 武汉微创光电股份有限公司 | 一种基于ui界面树型目录视图的模糊检索定位方法 |
CN106560787A (zh) * | 2016-12-29 | 2017-04-12 | 武汉斗鱼网络科技有限公司 | 一种基于mvvm架构的视图页面显示方法和装置 |
CN107506291A (zh) * | 2017-06-30 | 2017-12-22 | 杭州大搜车汽车服务有限公司 | 一种基于数据采集的分析方法及装置 |
CN107818162A (zh) * | 2017-11-01 | 2018-03-20 | 平安科技(深圳)有限公司 | 埋点处理方法、装置、计算机设备和存储介质 |
CN107818163A (zh) * | 2017-11-01 | 2018-03-20 | 平安科技(深圳)有限公司 | 页面展示方法、装置、计算机设备和存储介质 |
CN108153518A (zh) * | 2017-12-25 | 2018-06-12 | 厦门市美亚柏科信息股份有限公司 | 一种java程序反混淆方法及终端 |
CN111695059A (zh) * | 2019-03-15 | 2020-09-22 | 北京京东尚科信息技术有限公司 | 一种信息视图列表处理方法、装置和显示设备 |
CN110704833A (zh) * | 2019-10-10 | 2020-01-17 | 北京字节跳动网络技术有限公司 | 数据权限配置方法、设备、电子设备及存储介质 |
CN111427583A (zh) * | 2020-04-12 | 2020-07-17 | 中信银行股份有限公司 | 组件的编译方法、装置和电子设备及计算机可读存储介质 |
Non-Patent Citations (4)
Title |
---|
ALI FARHADI 等: "Describing objects by their attributes", 《2009 IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION》, pages 1778 - 1785 * |
WEIXIN_41596018: "自定义组合view", Retrieved from the Internet <URL:《https://blog.csdn.net/weixin_41596018/article/details/81106384》> * |
崔超 等: "ORACLE视图技术在用户数据管理中的应用分析", 《齐齐哈尔大学学报》, vol. 32, no. 2, pages 64 - 65 * |
朱真才 等: "对象动态模型和对象视图及其应用", 《吉林大学学报》, no. 4, pages 43 - 47 * |
Also Published As
Publication number | Publication date |
---|---|
CN112711400B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111897740B (zh) | 用户界面的测试方法、装置、电子设备及计算机可读介质 | |
CN112528595B (zh) | 文档处理方法、装置和电子设备 | |
CN112395253B (zh) | 索引文件生成方法、终端设备、电子设备及介质 | |
CN110780874B (zh) | 用于生成信息的方法和装置 | |
CN112395363B (zh) | 数据同步方法、装置、设备及可读存储介质 | |
CN111414152B (zh) | 业务逻辑的实现方法、系统、可读介质和电子设备 | |
CN111813685B (zh) | 自动化测试方法和装置 | |
CN111124541B (zh) | 一种配置文件的生成方法、装置、设备及介质 | |
CN117557394A (zh) | 智能对账方法、系统、设备及储存介质 | |
CN113031963A (zh) | 条件编译的实现方法、装置、设备及存储介质 | |
CN110489164B (zh) | 一种隐藏断言信息的获取方法、装置、介质和设备 | |
CN109542743B (zh) | 日志校验方法、装置、电子设备及计算机可读存储介质 | |
CN111222067B (zh) | 信息生成方法和装置 | |
CN111506904A (zh) | 漏洞在线修复的方法和装置 | |
CN117667663A (zh) | 控件定位路径确定方法、装置、设备、存储介质及产品 | |
CN112711400B (zh) | 视图的处理方法、设备及存储介质 | |
CN111625232B (zh) | 应用程序安装包的生成方法、装置、可读介质和电子设备 | |
CN115167822A (zh) | 分支代码合并方法、装置、设备和存储介质 | |
CN111797009A (zh) | 用于检测代码兼容性的方法、装置和电子设备 | |
CN111625432B (zh) | 页面加载耗时确定方法、装置和计算机可读存储介质 | |
CN111399902A (zh) | 客户端源文件处理方法、装置、可读介质与电子设备 | |
CN111209225B (zh) | 获取实际地址的方法、装置、介质和电子设备 | |
CN117850823A (zh) | 版本同步方法、装置、电子设备及存储介质 | |
CN111104626B (zh) | 信息存储方法和装置 | |
CN113760396A (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 |