CN106951248B - 添加代码的方法、装置、可读存储介质和计算设备 - Google Patents

添加代码的方法、装置、可读存储介质和计算设备 Download PDF

Info

Publication number
CN106951248B
CN106951248B CN201710156806.3A CN201710156806A CN106951248B CN 106951248 B CN106951248 B CN 106951248B CN 201710156806 A CN201710156806 A CN 201710156806A CN 106951248 B CN106951248 B CN 106951248B
Authority
CN
China
Prior art keywords
code
event
add
application
interface
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.)
Expired - Fee Related
Application number
CN201710156806.3A
Other languages
English (en)
Other versions
CN106951248A (zh
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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201710156806.3A priority Critical patent/CN106951248B/zh
Publication of CN106951248A publication Critical patent/CN106951248A/zh
Application granted granted Critical
Publication of CN106951248B publication Critical patent/CN106951248B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Landscapes

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

Abstract

本发明的实施方式提供了一种添加代码的方法、装置、可读存储介质和计算设备。该方法包括:显示应用程序的应用界面;确定所述应用界面上需要添加代码的事件;根据所述需要添加代码的事件,确定需要在所述应用程序的代码文件中添加的代码内容和所述代码内容的添加位置;基于所述代码内容和所述添加位置,向所述代码文件中添加代码。本发明的技术方案可以在降低技术风险的前提下,方便开发人员的代码添加操作,提高了代码添加的效率,同时能够减少人为错误。

Description

添加代码的方法、装置、可读存储介质和计算设备
技术领域
本发明的实施方式涉及通信及计算机技术领域,更具体地,本发明的实施方式涉及添加代码的方法、装置、可读存储介质和计算设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
目前,对发生在终端显示界面上的事件(如长按、滑动、显示、点击等)添加代码的方案主要有查找添加方案和绑定添加方案。
查找添加方案有两种常用的方式:方式1是需要开发人员在代码文件中找到需要添加代码的位置,然后在该位置处添加代码;方式2是利用方法替换技术,即编写替换方法,在替换方法中加入需要添加的代码。
绑定添加方案主要是将需要添加代码的事件与代码进行绑定,以实现添加代码的操作。以点击事件为例,在代码中将需要添加的代码与点击事件进行绑定,进而发生的所有点击事件都会触发代码添加的操作。
发明内容
但是,对于目前的查找添加方案,由于需要开发人员手动查找进行添加,因此添加效果对开发人员的操作依赖性较大,犯错几率较高,对于重复性的代码,也需要开发人员重复操作,并且还需要开发人员逐一验证代码添加的效果,操作繁琐。对于目前的绑定添加方案,由于同一事件绑定的代码都是相同的,因此无法实现代码的定制化;同时绑定添加的方式可能会对***底层代码产生影响,技术风险较高。
为此,非常需要一种改进的添加代码的方案,可以在降低技术风险的前提下,方便开发人员的代码添加操作,提高代码添加的效率,同时减少人为错误。
在本上下文中,本发明的实施方式期望提供一种添加代码的方法及装置。
在本发明实施方式的第一方面中,提供了一种添加代码的方法,包括:显示应用程序的应用界面;确定所述应用界面上需要添加代码的事件;根据所述需要添加代码的事件,确定需要在所述应用程序的代码文件中添加的代码内容和所述代码内容的添加位置;基于所述代码内容和所述添加位置,向所述代码文件中添加代码。
在本发明的一些实施方式中,基于前述方案,确定所述应用界面上需要添加代码的事件的步骤,包括:加载界面插件;基于所述界面插件检测所述需要添加代码的事件。
在本发明的一些实施方式中,基于前述方案,基于所述界面插件检测所述需要添加代码的事件的步骤,包括:检测用户在所述应用界面上选择的应用控件;将所述用户选择的应用控件对应的事件作为所述需要添加代码的事件。
在本发明的一些实施方式中,基于前述方案,还包括:若所述用户选择的应用控件对应有多个事件,则将所述用户在所述多个事件中选择的事件作为所述需要添加代码的事件。
在本发明的一些实施方式中,基于前述方案,加载所述界面插件后,所述界面插件形成覆盖所述应用界面的透明或半透明的覆盖层。
在本发明的一些实施方式中,基于前述方案,确定需要在所述应用程序的代码文件中添加的代码内容的步骤,包括:根据所述需要添加代码的事件的参数,以及所述需要添加代码的事件适用的代码模板,生成所述代码内容。
在本发明的一些实施方式中,基于前述方案,将所述需要添加代码的事件的参数传递至所述代码模板中,以生成所述代码内容。
在本发明的一些实施方式中,基于前述方案,还包括:针对所述应用界面上的应用控件和所述应用控件对应的事件,创建至少一个所述代码模板。
在本发明的一些实施方式中,基于前述方案,确定所述代码内容的添加位置的步骤,包括:获取所述需要添加代码的事件对应的应用控件所属的类,以及所述需要添加代码的事件对应的函数;根据所述类和所述函数,确定所述代码内容的添加位置。
在本发明的一些实施方式中,基于前述方案,基于所述代码内容和所述添加位置,向所述代码文件中添加代码的步骤,包括:基于所述代码内容和所述添加位置,生成配置文件;通过脚本文件解析所述配置文件,以向所述代码文件中添加代码。
在本发明实施方式的第二方面中,提供了一种添加代码的装置,包括:显示单元,用于显示应用程序的应用界面;处理单元,用于确定所述应用界面上需要添加代码的事件;确定单元,用于根据所述需要添加代码的事件,确定需要在所述应用程序的代码文件中添加的代码内容和所述代码内容的添加位置;添加单元,用于基于所述代码内容和所述添加位置,向所述代码文件中添加代码。
在本发明的一些实施方式中,基于前述方案,所述处理单元配置为:加载界面插件;基于所述界面插件检测所述需要添加代码的事件。
在本发明的一些实施方式中,基于前述方案,所述处理单元配置为:检测用户在所述应用界面上选择的应用控件;将所述用户选择的应用控件对应的事件作为所述需要添加代码的事件。
在本发明的一些实施方式中,基于前述方案,若所述用户选择的应用控件对应有多个事件,则将所述用户在所述多个事件中选择的事件作为所述需要添加代码的事件。
在本发明的一些实施方式中,基于前述方案,加载所述界面插件后,所述界面插件形成覆盖所述应用界面的透明或半透明的覆盖层。
在本发明的一些实施方式中,基于前述方案,所述确定单元配置为:根据所述需要添加代码的事件的参数,以及所述需要添加代码的事件适用的代码模板,生成所述代码内容。
在本发明的一些实施方式中,基于前述方案,所述确定单元配置为:将所述需要添加代码的事件的参数传递至所述代码模板中,以生成所述代码内容。
在本发明的一些实施方式中,基于前述方案,还包括:创建单元,用于针对所述应用界面上的应用控件和所述应用控件对应的事件,创建至少一个所述代码模板。
在本发明的一些实施方式中,基于前述方案,所述确定单元配置为:获取所述需要添加代码的事件对应的应用控件所属的类,以及所述需要添加代码的事件对应的函数;根据所述类和所述函数,确定所述代码内容的添加位置。
在本发明的一些实施方式中,基于前述方案,所述添加单元配置为:基于所述代码内容和所述添加位置,生成配置文件;通过脚本文件解析所述配置文件,以向所述代码文件中添加代码。
在本发明实施方式的第三方面中,提供了一种可读存储介质,其上存储有程序,该程序被处理器执行时实现如前述第一方面所述的方法。
根据本发明实施方式的添加代码的方法及装置,通过显示应用程序的应用界面,并确定在应用界面上需要添加代码的事件及针对该事件需要添加的代码内容和代码内容的添加位置,以基于确定的代码内容和添加位置来添加代码,使得开发人员能够基于可视化操作的方式在应用界面上选择需要添加代码的事件,无需在代码文件中逐一查找代码的添加位置,极大地方便了开发人员的代码添加操作。同时,由于代码是自动进行添加(如可通过脚本文件来进行添加),因此提高了代码添加的效率,并且可以有效减少人为错误。
在本发明实施方式的第四方面中,提供了一种计算设备,包括:处理器和存储器,所述存储器存储有可执行指令,所述处理器用于调用所述存储器存储的可执行指令执行如上述第一方面所述的方法。
根据本发明实施方式的添加代码的方法及装置,通过创建至少一个代码模板,可以避免开发人员重复编写相同的代码,有效降低了开发人员的工作量。而通过根据需要添加代码的事件的参数,以及该事件适用的代码模板生成代码内容,使得生成的代码内容能够与具体的事件相对应,实现了代码内容的定制化。同时,本发明实施方式的技术方案也可以避免目前绑定添加方案存在的技术风险较高的问题。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性示出了根据本发明的第一个实施方式的添加代码的方法的流程图;
图2示意性地示出了根据本发明的一个实施方式的确定应用界面上需要添加代码的事件的流程图;
图3示意性示出了根据本发明的第二个实施方式的添加代码的方法的流程图;
图4示意性示出了根据本发明的实施方式的启动界面插件前后的界面效果图;
图5示意性示出了根据本发明的实施方式的添加代码的装置的框图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种***、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种添加代码的方法及装置。
在本文中,需要理解的是,所涉及的术语“应用程序”指为完成某项或多项特定工作的计算机程序,包括但不限于移动设备(如智能手机、平板电脑等)中的App。术语“应用界面”指的是应用程序的用户界面(User Interface,简称UI)。术语“事件”指的是可以被控件识别的操作,如按下确定按钮、选择某个单选按钮或者复选框等。术语“插件”是遵循一定规范的应用程序接口编写出来的程序。术语“脚本”是使用特定的描述性语言,并依据一定的格式编写的可执行文件,又称作宏或批处理文件。
此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,现有技术中的查找添加代码的方案需要开发人员手动查找进行添加,其添加效果对开发人员的操作依赖性较大,犯错几率较高,对于重复性的代码,也需要开发人员重复操作,并且还需要开发人员逐一验证代码添加的效果,操作繁琐。而绑定添加代码的方案可能会对***底层代码产生影响,技术风险较高,并且同一事件绑定的代码都是相同的,因此无法实现代码的定制化。
为此,本发明的实施方式提供了一种改进的添加代码的方法及装置,可以使开发人员基于可视化操作的方式在应用界面上选择需要添加代码的事件,极大地方便了开发人员的代码添加操作,并且能够提高代码添加的效率,减少人为错误。
此外,本发明的实施方式中可以通过创建代码模板来避免开发人员重复编写相同的代码,有效降低了开发人员的工作量。并且能够根据需要添加代码的事件的参数和代码模板来生成对应的代码内容,实现了代码内容的定制化。同时,本发明实施方式的技术方案也可以避免目前绑定添加方案存在的技术风险较高的问题。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
以下应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
场景一:当开发人员需要针对发生在应用界面上的事件添加代码时,可以直接在应用界面上触发需要添加代码的事件,进而本发明实施方式的添加代码的装置能够基于开发人员触发的事件确定需要添加的代码内容和相应的添加位置,进而自动向代码文件中的相应位置添加代码内容,极大地方便了开发人员的操作。
场景二:开发人员可以配置至少一个代码模板,进而在确定开发人员触发的需要添加代码的事件之后,可以将该事件的参数传入适用的代码模板中来生成需要添加的代码内容,既解决了开发人员重复编写相同的代码而造成工作量较大的问题,也能够实现代码内容的定制化。
示例性方法
下面结合上述的应用场景,参考图1至图4来描述根据本发明示例性实施方式的添加代码的方法。
图1示意性示出了根据本发明的第一个实施方式的添加代码的方法的流程图。
如图1所示,根据本发明的第一个实施方式的添加代码的方法,包括:
步骤S12,显示应用程序的应用界面。
在本发明的实施方式中,优选可以通过触摸显示屏来显示应用程序的应用界面,这样可以便于进行交互。当然,本发明的实施方式并不限于此,比如还可以通过普通的非触摸显示屏来显示应用程序的应用界面。
步骤S14,确定所述应用界面上需要添加代码的事件。
根据本发明的示例性实施例,如图2所示,步骤S14包括:
步骤S142,加载界面插件。
通过界面插件可以在保证直观展示应用界面的前提下,提供用户进行可视化操作。在本发明的实施方式中,当加载界面插件后,该界面插件可以形成覆盖应用界面的透明或半透明的覆盖层。
步骤S144,基于所述界面插件检测所述需要添加代码的事件。
根据本发明的示例性实施方式,步骤S144包括:检测用户在所述应用界面上选择的应用控件,将所述用户选择的应用控件对应的事件作为所述需要添加代码的事件。
其中,若用户选择的应用控件对应有多个事件,则将所述用户在所述多个事件中选择的事件作为所述需要添加代码的事件。
具体地,当用户选择的应用控件对应有多个事件时,可以通过列表或下拉框的方式将多个事件呈现给用户,以便于用户进行选择。
步骤S16,根据所述需要添加代码的事件,确定需要在所述应用程序的代码文件中添加的代码内容和所述代码内容的添加位置。
根据本发明的示例性实施方式,步骤S16中包含了确定需要添加的代码内容的方案和确定代码内容的添加位置的方案,以下分别进行说明:
确定添加的代码内容
根据所述需要添加代码的事件的参数,以及所述需要添加代码的事件适用的代码模板,生成所述代码内容。在本发明的具体实施方式中,可以将所述需要添加代码的事件的参数传递至所述代码模板中,以生成所述代码内容。
通过根据需要添加代码的事件的参数,以及该事件使用的代码模板,生成代码内容,一方面使得开发人员无需编写重复的代码,降低了开发人员的工作量;另一方面也使得生成的代码内容能够与具体的事件相对应,实现了代码的定制化。
在本发明的实施方式中,可以针对应用界面上的应用控件和所述应用控件对应的事件,创建至少一个所述代码模板。比如可以针对应用界面上的同一类应用控件创建一个或多个代码模板,并确定这些应用控件对应的事件适用的代码模板,进而能够根据需要添加代码的事件来确定其适用的代码模板。
确定代码内容的添加位置
获取所述需要添加代码的事件对应的应用控件所属的类,以及所述需要添加代码的事件对应的函数;根据所述类和所述函数,确定所述代码内容的添加位置。
需要说明的是,根据事件对应的应用控件所属的类和事件对应的函数能够确定代码的***点,因此可以基于此来确定代码内容的添加位置。在本发明的实施方式中,可以从应用程序的代码文件中来获取需要添加代码的事件对应的函数,如果代码文件中没有该事件对应的函数,那么需要创建该事件对应的函数。
步骤S18,基于所述代码内容和所述添加位置,向所述代码文件中添加代码。
根据本发明的示例性实施方式,步骤S18包括:基于所述代码内容和所述添加位置,生成配置文件;通过脚本文件解析所述配置文件,以向所述代码文件中添加代码。
在本发明的具体实施方式中,配置文件的格式可以采用JSON(JavaScript ObjectNotation,一种轻量级的数据交换格式),比如可以采用下述格式:
[{"className":"class1","insert":[{"methodName":"method1","insertCode":"codeXXX"},{"methodName":"method2","insertCode":"codeXXX"}],"create":[{"methodName":"method1","insertCode":"codeXXX"},{"methodName":"method2","insertCode":"codeXXX"}]},…]
以下以IOS***添加代码为例,对本发明实施方式的技术方案进行阐述:
如图3所示,根据本发明的第二个实施方式的添加代码的方法,包括:
步骤S302,定制代码模板。该步骤即为本发明上述第一个实施方式中创建代码模板的步骤,其目的是为了根据需要添加代码的事件的参数和创建的代码模板来生成需要添加的代码内容。
需要说明的是:代码模板主要是一些函数模板,比如对于点击控件的事件定制的代码模板可以为[TrackManager XXXButtonClicked],其中该模板中的“XXX”与具体操作的控件有关,这样能够实现代码的定制化。
步骤S304,运行界面插件,在界面插件上进行操作,选择需要添加代码的事件。该步骤是本发明上述第一个实施方式中步骤S14的一个示例性实施方式,即图2中所示的步骤S142和步骤S144的过程。当然,在步骤S304之前,需要先显示应用程序的应用界面。
如图4所示,在启动界面插件后,该界面插件可以形成覆盖应用界面的半透明的覆盖层。经过触发操作(如长按)后,点击图4中所示的控件402并选择代码模板,进而将该点击事件的参数(如字符串“search”)输入代码模板生成代码内容。该过程即为本发明上述第一个实施方式中步骤S16的具体实现过程。
需要说明的是,在启动界面插件后,该界面插件也可以形成覆盖应用界面的透明的覆盖层。
步骤S306,生成配置文件。比如生成的配置文件格式如下:
[{"className":"SubscribeViewController","insert":[{"methodName":"onSearchButtonClick","insertCode":"TrackManager searchButtonClicked"}]}]
步骤S308,运行脚本文件解析配置文件,以将代码内容添加至代码文件。具体地,针对步骤S306中的示例,运行脚本文件之后,会在SubscribeViewController类中的onSearchButtonClick方法的末尾添加代码[TrackManager searchButtonClicked]。
图3中所示的步骤S306和步骤S308即为本发明上述第一个实施方式中步骤S18的一个示例性实施方式,即生成配置文件,并基于脚本文件解析该配置文件来向代码文件中添加代码内容。
示例性装置
在介绍了本发明示例性实施方式的方法之后,接下来,参考图5对本发明示例性实施方式的添加代码的装置进行说明。
参照图5,根据本发明的实施方式的添加代码的装置500,包括:显示单元502、处理单元504、确定单元506和添加单元508。
具体地,显示单元502用于显示应用程序的应用界面;处理单元504用于确定所述应用界面上需要添加代码的事件;确定单元506用于根据所述需要添加代码的事件,确定需要在所述应用程序的代码文件中添加的代码内容和所述代码内容的添加位置;添加单元508用于基于所述代码内容和所述添加位置,向所述代码文件中添加代码。
在本发明的一些实施方式中,基于前述方案,所述处理单元504配置为:加载界面插件;基于所述界面插件检测所述需要添加代码的事件。
在本发明的一些实施方式中,基于前述方案,所述处理单元504配置为:检测用户在所述应用界面上选择的应用控件;将所述用户选择的应用控件对应的事件作为所述需要添加代码的事件。
在本发明的一些实施方式中,基于前述方案,若所述用户选择的应用控件对应有多个事件,则将所述用户在所述多个事件中选择的事件作为所述需要添加代码的事件。
在本发明的一些实施方式中,基于前述方案,加载所述界面插件后,所述界面插件形成覆盖所述应用界面的透明或半透明的覆盖层。
在本发明的一些实施方式中,基于前述方案,所述确定单元506配置为:根据所述需要添加代码的事件的参数,以及所述需要添加代码的事件适用的代码模板,生成所述代码内容。
在本发明的一些实施方式中,基于前述方案,所述确定单元506配置为:将所述需要添加代码的事件的参数传递至所述代码模板中,以生成所述代码内容。
在本发明的一些实施方式中,基于前述方案,还包括:创建单元510,用于针对所述应用界面上的应用控件和所述应用控件对应的事件,创建至少一个所述代码模板。
在本发明的一些实施方式中,基于前述方案,所述确定单元506配置为:获取所述需要添加代码的事件对应的应用控件所属的类,以及所述需要添加代码的事件对应的函数;根据所述类和所述函数,确定所述代码内容的添加位置。
在本发明的一些实施方式中,基于前述方案,所述添加单元508配置为:基于所述代码内容和所述添加位置,生成配置文件;通过脚本文件解析所述配置文件,以向所述代码文件中添加代码。
示例性设备
在介绍了本发明示例性实施方式的方法和装置之后,接下来,介绍根据本发明的另一示例性实施方式的添加代码的设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为***、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。
在一些可能的实施方式中,根据本发明实施方式的添加代码的设备可以至少包括至少一个处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的添加代码的方法中的步骤。例如,所述处理单元可以执行如图1中所示的步骤S12,显示应用程序的应用界面;步骤S14,确定所述应用界面上需要添加代码的事件;步骤S16,根据所述需要添加代码的事件,确定需要在所述应用程序的代码文件中添加的代码内容和所述代码内容的添加位置;步骤S18,基于所述代码内容和所述添加位置,向所述代码文件中添加代码。又如,处理单元也可以执行如图2和图3中任一图所示的步骤。
示例性程序产品
在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在设备上运行时,所述程序代码用于使所述设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的添加代码的方法中的步骤,例如,所述设备可以执行如图1中所示的步骤S12,显示应用程序的应用界面;步骤S14,确定所述应用界面上需要添加代码的事件;步骤S16,根据所述需要添加代码的事件,确定需要在所述应用程序的代码文件中添加的代码内容和所述代码内容的添加位置;步骤S18,基于所述代码内容和所述添加位置,向所述代码文件中添加代码。又如,所述终端设备也可以执行如图2和图3中任一图所示的步骤。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了添加代码的装置的若干单元或子单元,但是这种划分仅仅是示例性的,并非是强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或单元的特征和功能可以在一个模块或单元中具体化。反之,上文描述的一个模块或单元的特征和功能可以进一步划分为由多个模块或单元来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

Claims (18)

1.一种添加代码的方法,包括:
显示应用程序的应用界面;
确定所述应用界面上需要添加代码的事件;
根据所述需要添加代码的事件的参数和所述事件适用的代码模板,生成需要在所述应用程序的代码文件中添加的代码内容;
根据所述需要添加代码的事件对应的应用控件所属的类,以及所述需要添加代码的事件对应的函数,确定所述代码内容的添加位置;
基于所述代码内容和所述添加位置,生成配置文件;
通过脚本文件解析所述配置文件,以向所述代码文件中添加代码。
2.根据权利要求1所述的方法,其中,确定所述应用界面上需要添加代码的事件的步骤,包括:
加载界面插件;
基于所述界面插件检测所述需要添加代码的事件。
3.根据权利要求2所述的方法,其中,基于所述界面插件检测所述需要添加代码的事件的步骤,包括:
检测用户在所述应用界面上选择的应用控件;
将所述用户选择的应用控件对应的事件作为所述需要添加代码的事件。
4.根据权利要求3所述的方法,还包括:
若所述用户选择的应用控件对应有多个事件,则将所述用户在所述多个事件中选择的事件作为所述需要添加代码的事件。
5.根据权利要求2所述的方法,其中,加载所述界面插件后,所述界面插件形成覆盖所述应用界面的透明或半透明的覆盖层。
6.根据权利要求1所述的方法,其中,将所述需要添加代码的事件的参数传递至所述代码模板中,以生成所述代码内容。
7.根据权利要求1所述的方法,还包括:
针对所述应用界面上的应用控件和所述应用控件对应的事件,创建至少一个所述代码模板。
8.根据权利要求1所述的方法,其中,在确定所述代码内容的添加位置的步骤之前,所述方法还包括:
获取所述需要添加代码的事件对应的应用控件所属的类,以及所述需要添加代码的事件对应的函数。
9.一种添加代码的装置,包括:
显示单元,用于显示应用程序的应用界面;
处理单元,用于确定所述应用界面上需要添加代码的事件;
确定单元,用于根据所述需要添加代码的事件的参数和所述事件适用的代码模板,生成需要在所述应用程序的代码文件中添加的代码内容;根据所述需要添加代码的事件对应的应用控件所属的类,以及所述需要添加代码的事件对应的函数,确定所述代码内容的添加位置;
添加单元,用于基于所述代码内容和所述添加位置,生成配置文件;通过脚本文件解析所述配置文件,以向所述代码文件中添加代码。
10.根据权利要求9所述的装置,其中,所述处理单元配置为:
加载界面插件;
基于所述界面插件检测所述需要添加代码的事件。
11.根据权利要求10所述的装置,其中,所述处理单元配置为:
检测用户在所述应用界面上选择的应用控件;
将所述用户选择的应用控件对应的事件作为所述需要添加代码的事件。
12.根据权利要求11所述的装置,其中,若所述用户选择的应用控件对应有多个事件,则将所述用户在所述多个事件中选择的事件作为所述需要添加代码的事件。
13.根据权利要求10所述的装置,其中,加载所述界面插件后,所述界面插件形成覆盖所述应用界面的透明或半透明的覆盖层。
14.根据权利要求9所述的装置,其中,所述确定单元配置为:
将所述需要添加代码的事件的参数传递至所述代码模板中,以生成所述代码内容。
15.根据权利要求9所述的装置,还包括:
创建单元,用于针对所述应用界面上的应用控件和所述应用控件对应的事件,创建至少一个所述代码模板。
16.根据权利要求9所述的装置,其中,所述确定单元配置为:
获取所述需要添加代码的事件对应的应用控件所属的类,以及所述需要添加代码的事件对应的函数;
根据所述类和所述函数,确定所述代码内容的添加位置。
17.一种可读存储介质,其上存储有程序,该程序被处理器执行时实现如权利要求1至8中任一项所述的方法。
18.一种计算设备,包括:处理器和存储器,所述存储器存储有可执行指令,所述处理器用于调用所述存储器存储的可执行指令执行如权利要求1至8中任一项所述的方法。
CN201710156806.3A 2017-03-16 2017-03-16 添加代码的方法、装置、可读存储介质和计算设备 Expired - Fee Related CN106951248B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710156806.3A CN106951248B (zh) 2017-03-16 2017-03-16 添加代码的方法、装置、可读存储介质和计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710156806.3A CN106951248B (zh) 2017-03-16 2017-03-16 添加代码的方法、装置、可读存储介质和计算设备

Publications (2)

Publication Number Publication Date
CN106951248A CN106951248A (zh) 2017-07-14
CN106951248B true CN106951248B (zh) 2020-09-18

Family

ID=59473621

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710156806.3A Expired - Fee Related CN106951248B (zh) 2017-03-16 2017-03-16 添加代码的方法、装置、可读存储介质和计算设备

Country Status (1)

Country Link
CN (1) CN106951248B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107797800B (zh) * 2017-10-10 2020-12-15 平安科技(深圳)有限公司 对多个关联业务***的数据处理方法、电子装置及介质
CN110020298A (zh) * 2017-10-27 2019-07-16 北京国双科技有限公司 参数展示方法和装置
CN108776569B (zh) * 2018-04-20 2021-10-15 贵阳朗玛信息技术股份有限公司 一种对编译选项控制文件的修改方法及装置
CN109117127A (zh) * 2018-08-21 2019-01-01 水木康益(北京)信息技术有限公司 程序代码生成方法、装置及计算机可读存储介质
CN109522010B (zh) * 2018-11-22 2022-02-18 网易(杭州)网络有限公司 初始化代码添加方法及装置、存储介质、电子设备
CN111435312B (zh) * 2019-01-15 2023-09-29 北京嘀嘀无限科技发展有限公司 应用程序管理方法、装置及电子设备
CN112346726B (zh) * 2020-03-16 2023-12-12 成都华微电子科技股份有限公司 一种基于表单信息自动化生成设计代码的方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6493006B1 (en) * 1996-05-10 2002-12-10 Apple Computer, Inc. Graphical user interface having contextual menus
US20060052884A1 (en) * 2004-09-08 2006-03-09 Staples Mathew L User interface builder application for building automation
CN101807209A (zh) * 2010-04-14 2010-08-18 深圳市同洲电子股份有限公司 网页制作的方法和***,客户端、服务端
CN102707945A (zh) * 2012-04-11 2012-10-03 佳都新太科技股份有限公司 一种Eclipse基于布局模版的表单设计器的实现方法
CN104899217B (zh) * 2014-03-06 2018-09-25 阿里巴巴集团控股有限公司 一种自定义功能的实现方法及装置
CN104933019B (zh) * 2015-06-05 2019-05-10 亚信科技(南京)有限公司 一种列表生成的方法及装置
CN105335071A (zh) * 2015-10-26 2016-02-17 百度在线网络技术(北京)有限公司 一种页面元素的显示方法及装置

Also Published As

Publication number Publication date
CN106951248A (zh) 2017-07-14

Similar Documents

Publication Publication Date Title
CN106951248B (zh) 添加代码的方法、装置、可读存储介质和计算设备
CN107423048B (zh) 数据收集的方法、装置、介质和计算设备
US20160357519A1 (en) Natural Language Engine for Coding and Debugging
US20150242306A1 (en) System and method for creating change-resilient scripts
CN111740948B (zh) 数据包发布方法、动态更新方法、装置、设备及介质
CN106844181B (zh) 用于记录用户行为的方法、***及移动终端
CN108319575B (zh) 一种页面组件的校验方法、装置、服务器和存储介质
CN111736840A (zh) 小程序应用的编译方法、运行方法、存储介质及电子设备
US9525716B2 (en) Ensuring availability and parameter format of URL scheme commands
US11048485B2 (en) User interface code re-use based upon machine learning of design documents
US11741002B2 (en) Test automation systems and methods using logical identifiers
US20160246703A1 (en) Identifying the lines of code that caused the error as identified in the stack trace in a source code version that generated the stack trace that does not reside on the user's computing device
US10705858B2 (en) Automatic import of third party analytics
EP3522004A2 (en) Code execution and data processing pipeline
CN105512294A (zh) 一种多媒体文件的更新提示方法和装置
CN105493074A (zh) 用于生成动态定制上下文敏感的帮助的方法
CN107704499A (zh) 一种应用程序的页面跳转控制方法及装置
CN114048415A (zh) 表单生成方法及装置、电子设备和计算机可读存储介质
EP3519964B1 (en) Electronic apparatus for recording debugging information and control method thereof
US8812974B2 (en) Combined properties dialog from different sources
US20180165136A1 (en) A system, method, computer program and data signal for hosting and executing a program on a mainframe
US9075679B1 (en) Creating a prerequisite checklist corresponding to a software application
CN109857503B (zh) 页面交互效果自适应方法、装置与电子设备
US9787552B2 (en) Operation process creation program, operation process creation method, and information processing device
US20130007622A1 (en) Demonstrating a software product

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200918

CF01 Termination of patent right due to non-payment of annual fee