CN110688145A - Android MVP代码自动生成方法、装置、介质、电子设备 - Google Patents

Android MVP代码自动生成方法、装置、介质、电子设备 Download PDF

Info

Publication number
CN110688145A
CN110688145A CN201910853908.XA CN201910853908A CN110688145A CN 110688145 A CN110688145 A CN 110688145A CN 201910853908 A CN201910853908 A CN 201910853908A CN 110688145 A CN110688145 A CN 110688145A
Authority
CN
China
Prior art keywords
mvp
code
configuration information
folder
template
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
Application number
CN201910853908.XA
Other languages
English (en)
Other versions
CN110688145B (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.)
Ping An Property and Casualty Insurance Company of China Ltd
Original Assignee
Ping An Property and Casualty Insurance Company of China 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 Ping An Property and Casualty Insurance Company of China Ltd filed Critical Ping An Property and Casualty Insurance Company of China Ltd
Priority to CN201910853908.XA priority Critical patent/CN110688145B/zh
Publication of CN110688145A publication Critical patent/CN110688145A/zh
Application granted granted Critical
Publication of CN110688145B publication Critical patent/CN110688145B/zh
Active 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/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及电子数字数据处理技术领域,揭示了一种Android MVP代码自动生成方法、装置、介质及电子设备。该方法包括:识别与用户所需创建功能模块相适应的MVP代码配置信息;基于所述识别的MVP代码配置信息,生成与所述配置信息相对应的用于存放MVP代码的文件夹;在事先构建的存有MVP相关类代码模板集合的数据库中确定符合MVP代码配置要求的MVP相关类代码模板;根据所述MVP代码配置信息中的内容,替换所述确定的MVP相关类代码模板中的替代符,以生成能实现所述功能模块的功能的MVP代码。此方法下,通过配置信息来为用户自动生成用户所需要的MVP代码,可以提高基于MVP模式的项目开发效率、规范代码以便于后期的项目维护。

Description

Android MVP代码自动生成方法、装置、介质、电子设备
技术领域
本发明涉及电子数字数据处理技术领域,特别涉及一种Android MVP代码自动生成方法、装置、介质及电子设备。
背景技术
在过去,Android开发一般是基于是MVC模式来完成的,随着开发项目越来越庞大,参与的研发人员越来越多,MVC模式过于复杂、项目开发效率低等缺点也就凸现出来。目前,Android项目开发已向模块化、低耦合以及高内聚的方向发展,基于MVP模式来进行Android项目的开发已经十分常见。
在现有技术中,MVP模式主要分为三层,即Presenter层、Model层以及View层,其中,Presenter完全把Model和View进行了分离,主要的程序逻辑在Presenter里实现。而且,Presenter与具体的View是没有直接关联的,而是通过接口进行交互,从而使得在变更View的时候可以保持Presenter的不变,可以多次复用。在采用MVP模式之后,代码逻辑变得更加清晰,遵守了高内聚,低耦合的设计原则。
然而,基于MVP模式来进行项目开发过程中的类数量变大,且每个功能块的代码都是类似的,只是细节上会有所不同,这就造成了开发人员在开发过程中总是需要编写大量重复单一的代码,进而影响了项目的开发进度,降低开发效率。此外,由于MVP相关类代码的命名方面往往依赖于开发人员,而一个开发项目又由多名开发人员来完成,不同的开发人员对于MVP相关类代码有着不同的命名习惯,这就使得MVP相关类代码的命名五花八门,缺乏规范,进而带来后期维护比较困难的技术问题。
发明内容
在电子数字数据处理技术领域,为了解决相关技术中存在的基于MVP模式的项目开发效率低和由代码不规范带来的后期项目维护困难的技术问题,本发明提供了一种Android MVP代码自动生成方法、装置、介质及电子设备。
根据本申请的一方面,提供了一种Android MVP代码自动生成方法,所述方法包括:
识别与用户所需创建功能模块相适应的MVP代码配置信息;
基于所述识别的MVP代码配置信息,生成与所述配置信息相对应的用于存放MVP代码的文件夹;
在事先构建的存有MVP相关类代码模板集合的数据库中确定符合MVP代码配置要求的MVP相关类代码模板;
根据所述MVP代码配置信息中的内容,替换所述确定的MVP相关类代码模板中的替代符,以生成能实现所述功能模块的功能的MVP代码。
根据本申请的另一方面,提供了一种Android MVP代码自动生成装置,所述装置包括:
识别模块,用于识别与用户所需创建功能模块相适应的MVP代码配置信息;
生成模块,用于生成与所述配置信息相对应的用于存放MVP代码的文件夹;
确定模块,用于在事先构建的存有MVP相关类代码模板集合的数据库中确定符合MVP代码配置要求的MVP相关类代码模板;
替换模块,用于替换所述确定的MVP相关类代码模板中的替代符,以生成能实现所述功能模块的功能的MVP代码。
根据本申请的另一方面,提供了一种计算机可读程序介质,其存储有计算机程序指令,当所述计算机程序指令被计算机执行时,使计算机执行如前所述的方法。
根据本申请的另一方面,提供了一种电子设备,所述电子设备包括:
处理器;
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如前所述的方法。
由以上本发明的技术方案,与现有技术相比,其显著的有益效果在于:通过配置信息来为用户自动生成用户所需要的MVP代码的方式,可以避免开发人员在基于MVP模式的项目开发过程中需要编写大量重复单一的代码,提高项目开发效率,且自动生成的代码规范,可以解决后期项目维护困难的技术问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
结合附图从下面的描述中可以更加全面地理解本发明教导的前述和其他方面、实施例和特征。本发明的其他附加方面例如示例性实施方式的特征和有益效果将在下面的描述中显现,或通过根据本发明教导的具体实施方式的实践中得知。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的Android MVP代码自动生成方法的应用场景示意图;
图2是根据一示例性实施例示出的一种Android MVP代码自动生成方法的流程图;
图3是根据图2对应实施例示出的步骤230之前的方法流程图;
图4是根据图2对应实施例示出的步骤250的细节流程图;
图5是根据图2对应实施例示出的步骤260之后的方法流程图;
图6是根据一示例性实施例示出的一种Android MVP代码自动生成装置的框图;
图7是根据一示例性实施例示出的一种实现上述方法的电子设备示例框图;
图8是根据一示例性实施例示出的一种实现上述方法的计算机可读存储介质。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。
本公开首先提供了一种Android MVP代码自动生成方法。本发明的实施环境可以是便携移动设备,例如智能手机、平板电脑、笔记本电脑等,也可以是各种固定式设备,例如,计算机设备、现场终端、台式电脑、服务器、工作站等。
图1是根据一示例性实施例示出的Android MVP代码自动生成方法的应用场景示意图。
目前,Android项目开发已向模块化、低耦合以及高内聚的方向发展,基于MVP模式来进行Android项目的开发已经十分常见。然而,基于MVP模式来进行项目开发过程中的类数量变大。例如一个很简单的activity我们就需要去新建多个类,每个操作之间还需要通过接口回调的方式。虽然逻辑变得更加的清晰了,但随之而来的是代码量变得更大。为此,本发明提出了一种Android MVP代码自动生成方法,其主要通过配置信息来为用户自动生成用户所需要的MVP代码。在如图1所示的实施例的应用场景中,用户101根据实际需求在项目开发平台上输入配置信息,平台根据配置信息生成对应的文件夹102,并进一步从预置有MVP类模板代码的数据库中调用相对应的MVP类模板代码103,IO流读取模板代码中的内容,然后再根据配置信息内容,将模板中的替代符进行替换,生成所需要的MVP代码104,最后将所述MVP代码封装到相应的文件夹中即可。
图2是根据一示例性实施例示出的一种Android MVP代码自动生成方法的流程图。如图2所示,此方法包括以下步骤:
步骤230,识别与用户所需创建功能模块相适应的MVP代码配置信息。
在本发明中,所述功能模块一般是指项目开发人员在所开发的项目(如APP)中,为了实现某一功能(例如APP的调用相机功能、登录与注册功能、勘查功能、分享功能以及支付功能等等)而需要在项目中独立设计的模块。
在本发明中,所述配置信息可以是指能够反映用户实际需要的用来作为生成特定MVP代码的依据的标识信息,例如,在项目中创建某一功能模块时,用户可以配置代码作者、模块名、代码类型、dagge2引入与否等标识信息。
在一个实施例中,所述与用户所需创建功能模块相适应的MVP代码配置信息可以通过如下方式获得:
如图3,是根据图2对应实施例示出的步骤230之前的方法流程图,其主要示出了所述与用户所需创建功能模块相适应的MVP代码配置信息的获取途径。如图3所示,此方法包括以下步骤:
步骤210,响应于用户触发调出MVP代码配置信息输入框的指令,在显示界面上弹出MVP代码配置信息输入框。
在触发调出MVP代码配置信息输入框的指令之后,显示界面弹出MVP代码配置信息输入框,用户可以通过键盘、鼠标等硬件设备或者利用语音识别技术或者利用图像识别技术在MVP代码配置信息输入框中输入配置信息。
步骤220,响应于用户触发MVP代码配置信息输入完成的确认指令,保存MVP代码配置信息。
当项目开发平台接收到MVP代码配置信息输入完成的确认指令之后,便开始识别所述配置信息。
在上述步骤210和步骤220中,调出MVP代码配置信息输入框的指令和MVP代码配置信息输入完成的确认指令的触发方式可以是多样的,具体如下:
在一个实施例的具体实现中,指令的触发可以用键盘和鼠标的方式触发。具体的,可以通过敲击键盘和鼠标上的按键或按钮来实现指令的触发。
在一个实施例的具体实现中,指令的触发也可以通过手势和触摸的方式来完成。具体的,通过点触触摸屏、触摸板和触控屏等方式,来实现指令的触发。
在一个实施例的具体实现中,指令的触发还可以用语音识别的方式来触发。具体的,项目开发平台上有基于人工智能引擎(AIE,Artificial Intelligence Engine)的语音识别工具,通过该语音识别工具可以将用户的语音信息转化为文字和指令动作信息,从而实现指令的触发。
如上所述,可以理解的是,触发调出MVP代码配置信息输入框的指令和MVP代码配置信息输入完成的确认指令的实现方式可以是任意的,并不限于如上所示出的那些。
步骤240,基于所述识别的MVP代码配置信息,生成与所述配置信息相对应的用于存放MVP代码的文件夹。
在一个实施例中,基于所述识别的MVP代码配置信息,生成与所述配置信息相对应的用于存放MVP代码的文件夹可以是根据所述MVP代码配置信息中的MVP代码模板作者、功能模块名、MVP代码类型以及dagger2引入与否等信息来生成用于存放MVP代码的文件夹的。
具体的,例如,在生成用于存放MVP代码的文件夹之前,系统首先会识别功能模块名,并根据功能模块名在存有备用文件夹集合的数据库中确定符合功能模块名的文件夹集合,再根据MVP代码类型在符合功能模块名的文件夹集合中确定符合MVP代码类型的文件夹集合,再根据dagger2的引入与否在符合MVP代码类型的文件夹集合中确定符合dagger2的引入与否条件的文件夹集合,按照如上确定文件夹的方式,根据其他文件夹的限定条件最终确定符合上述所有符合MVP代码配置信息中所要求的文件夹。
需要注意的时候,所述用于存放MVP代码的文件夹还可以包含有若干子文件夹,所述文件夹和若干子文件夹均具有标准格式的文件夹名称。例如项目中的查勘功能模块,通过配置作者名zxh,模块名survey、代码类型activity、引入dagger2,即可生成规范的Survey文件夹,而Survey文件夹下有包含survey model子文件夹、survey inject子文件夹等等。
步骤250,在事先构建的存有MVP相关类代码模板集合的数据库中确定符合MVP代码配置要求的MVP相关类代码模板。
在一个实施例中,在事先构建的存有MVP相关类代码模板集合的数据库中确定符合MVP代码配置要求的MVP相关类代码模板可以通过如下方式完成:
图4是根据图2对应实施例示出的步骤250的细节流程图。如图4所示,步骤250包括以下步骤:
步骤251,根据所述文件夹和若干子文件夹的文件夹名称,在事先构建的存有MVP相关类代码模板集合的数据库中查找与所述文件夹和若干子文件夹的文件夹名称对应的MVP相关类代码模板。
步骤252,将查找到的与所述文件夹和若干子文件夹的文件夹名称对应的MVP相关类代码模板确定为符合MVP代码配置要求的MVP相关类代码模板。
需要指出的是,本发明所提到的MVP相关类代码模板实质上为一些文本文件,其文本中记录着若干MVP相关类代码。
在一个实施例的具体实现中,在事先构建的存有MVP相关类代码模板集合的数据库中查找与所述文件夹和若干子文件夹的文件夹名称对应的MVP相关类代码模板可以是基于所述文件夹名称与MVP相关类代码模板的对应关系表来实现的。
具体而言,所述MVP相关类代码模板的文件具有标准格式的文件名。所述对应关系表可以预先生成,对应关系表中记录有所述文件夹名称与MVP相关类代码模板名的对应关系,因此,就可以根据对应关系表来确定与所述文件夹和若干子文件夹的文件夹名称对应的MVP相关类代码模板名,并进一步的在存有MVP相关类代码模板集合的数据库中查找与所述文件夹和若干子文件夹的文件夹名称对应的MVP相关类代码模板。
另一方面,在所述对应关系表中,所述文件夹名称与MVP相关类代码模板名的对应关系可以是一对一的关系,也可以是一对多的关系,具体的对应关系主要是根据数据库中存有的MVP相关类代码模板资源来决定的。如果某一个文件夹名称与MVP相关类代码模板名的对应关系是一对多的对应关系,那么用户可根据自身实际需要或者喜好来选择某一个MVP相关类代码模板,这能够提高用户的体验。
步骤260,根据所述MVP代码配置信息中的内容,替换所述确定的MVP相关类代码模板中的替代符,以生成能实现所述功能模块的功能的MVP代码。
在一个实施例中,所述根据MVP代码配置信息中的内容,替换所述确定的MVP相关类代码模板中的替代符可以通过如下方式实现:
查找所述确定的MVP相关类代码模板中的替代符;将查找到的替代符替换为所述MVP代码配置信息中相应的内容。
需要解释的是,所述替代符可以是具有显著字段的符号,例如某一些英语字母,数字,标点符号以及组合等等。
在一实施例的具体实现中,对所述MVP相关类代码模板中替代符的查找可以是基于IO流读取模板中的代码字段来实现的。
当查找到所述替代符之后,IO流会对所述查找到的替代符的名称、位置以及类型等特征进行标记。然后,根据每一个替代符被标记的特征,用所述MVP代码配置信息中相应的内容对替代符进行替换。
在一个实施例中,在根据所述MVP代码配置信息中的内容,替换所述确定的MVP相关类代码模板中的替代符之后,还可以实施如下方法:
如图5,是根据图2对应实施例示出的步骤260之后的方法流程图。如图5所示,此方法包括以下步骤:
步骤270,基于替换替代符之后的MVP相关类代码模板,生成具有.java文件格式的MVP相关类代码文件。
步骤280,将所述具有.java文件格式的MVP相关类代码文件封存至对应的文件夹或者子文件夹中。
具体的,例如,项目中需要生成实现查勘功能的MVP代码。通过插件配置作者名zxh,模块名survey、代码类型activity、引入dagger2,即可生成规范的MVP代码文件,如model文件夹下Survey Model代码文件,I Survey Model和inject文件夹(dagger2代码)下Survey Component,Survey Module以及Survey Contract,Survey Activity,SurveyPresenter的代码文件。
综上所述,通过配置信息来为用户自动生成用户所需要的MVP代码的方式,可以避免开发人员在基于MVP模式的项目开发过程中需要编写大量重复单一的代码,提高项目开发效率,且自动生成的MVP代码规范,可以解决后期项目维护困难的技术问题。
以下是本发明的装置实施例。
本公开还提供了一种Android MVP代码自动生成装置。图6是根据一示例性实施例示出的一种Android MVP代码自动生成装置的框图。如图6所示,装置600包括:
识别模块610,被配置为识别与用户所需创建功能模块相适应的MVP代码配置信息;
生成模块620,被配置为生成与所述配置信息相对应的用于存放MVP代码的文件夹;
确定模块630,被配置为在事先构建的存有MVP相关类代码模板集合的数据库中确定符合MVP代码配置要求的MVP相关类代码模板;
替换模块640,被配置为替换所述确定的MVP相关类代码模板中的替代符,以生成能实现所述功能模块的功能的MVP代码。
据本公开的第三方面,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图7来描述根据本发明的这种实施方式的电子设备1000。图7显示的电子设备1000仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,电子设备1000以通用计算设备的形式表现。电子设备1000的组件可以包括但不限于:上述至少一个处理单元1010、上述至少一个存储单元1020、连接不同系统组件(包括存储单元1020和处理单元1010)的总线1030。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1010执行,使得所述处理单元1010执行本说明书上述“实施例方法”部分中描述的根据本发明各种示例性实施方式的步骤。
存储单元1020可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)1021和/或高速缓存存储单元1022,还可以进一步包括只读存储单元(ROM)1023。
存储单元1020还可以包括具有一组(至少一个)程序模块1025的程序/实用工具1024,这样的程序模块1025包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1030可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备1000也可以与一个或多个外部设备1200(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1000交互的设备通信,和/或与使得该电子设备1000能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1050进行。并且,电子设备1000还可以通过网络适配器1060与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1060通过总线1030与电子设备1000的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1000使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
根据本公开的第四方面,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
参考图8所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品1100,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (10)

1.一种Android MVP代码自动生成方法,其特征在于,包括:
识别与用户所需创建功能模块相适应的MVP代码配置信息;
基于所述识别的MVP代码配置信息,生成与所述配置信息相对应的用于存放MVP代码的文件夹;
在事先构建的存有MVP相关类代码模板集合的数据库中确定符合MVP代码配置要求的MVP相关类代码模板;
根据所述MVP代码配置信息中的内容,替换所述确定的MVP相关类代码模板中的替代符,以生成能实现所述功能模块的功能的MVP代码。
2.根据权利要求1所述的方法,其特征在于,在获取与用户所需创建功能模块相适应的MVP代码配置信息之前,所述方法还包括:
响应于用户触发调出MVP代码配置信息输入框的指令,在显示界面上弹出MVP代码配置信息输入框;
响应于用户触发MVP代码配置信息输入完成的确认指令,保存MVP代码配置信息。
3.根据权利要求1所述的方法,其特征在于,所述MVP代码配置信息中包含有MVP代码模板作者、功能模块名、MVP代码类型以及dagger2的引入与否,
所述基于识别的MVP代码配置信息,生成与所述配置信息相对应的用于存放MVP代码的文件夹,包括:
根据所述MVP代码配置信息中的MVP代码模板作者、功能模块名、MVP代码类型以及dagger2引入与否,生成用于存放MVP代码的文件夹。
4.根据权利要求1所述的方法,其特征在于,所述用于存放MVP代码的文件夹包含有若干子文件夹,所述文件夹和若干子文件夹均具有标准格式的文件夹名称。
5.根据权利要求4所述的方法,其特征在于,所述在事先构建的存有MVP相关类代码模板集合的数据库中确定符合MVP代码配置要求的MVP相关类代码模板,包括:
根据所述文件夹和若干子文件夹的文件夹名称,在事先构建的存有MVP相关类代码模板集合的数据库中查找与所述文件夹和若干子文件夹的文件夹名称对应的MVP相关类代码模板;
将查找到的与所述文件夹和若干子文件夹的文件夹名称对应的MVP相关类代码模板确定为符合MVP代码配置要求的MVP相关类代码模板。
6.根据权利要求1所述的方法,其特征在于,所述根据MVP代码配置信息中的内容,替换所述确定的MVP相关类代码模板中的替代符,包括:
查找所述确定的MVP相关类代码模板中的替代符;
将查找到的替代符替换为所述MVP代码配置信息中相应的内容。
7.根据权利要求1所述的方法,其特征在于,在根据所述MVP代码配置信息中的内容,替换所述确定的MVP相关类代码模板中的替代符之后,所述方法还包括:
基于替换替代符之后的MVP相关类代码模板,生成具有.java文件格式的MVP相关类代码文件;
将所述具有.java文件格式的MVP相关类代码文件封存至对应的文件夹或者子文件夹中。
8.一种Android MVP代码自动生成装置,其特征在于,所述装置包括:
识别模块,用于识别与用户所需创建功能模块相适应的MVP代码配置信息;
生成模块,用于生成与所述配置信息相对应的用于存放MVP代码的文件夹;
确定模块,用于在事先构建的存有MVP相关类代码模板集合的数据库中确定符合MVP代码配置要求的MVP相关类代码模板;
替换模块,用于替换所述确定的MVP相关类代码模板中的替代符,以生成能实现所述功能模块的功能的MVP代码。
9.一种计算机可读程序介质,其特征在于,其存储有计算机程序指令,当所述计算机程序指令被计算机执行时,使计算机执行根据权利要求1至7中任一项所述的方法。
10.一种Android MVP代码自动生成电子设备,其特征在于,所述电子设备包括:
处理器;
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如权利要求1至7任一项所述的方法。
CN201910853908.XA 2019-09-10 2019-09-10 Android MVP代码自动生成方法、装置、介质、电子设备 Active CN110688145B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910853908.XA CN110688145B (zh) 2019-09-10 2019-09-10 Android MVP代码自动生成方法、装置、介质、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910853908.XA CN110688145B (zh) 2019-09-10 2019-09-10 Android MVP代码自动生成方法、装置、介质、电子设备

Publications (2)

Publication Number Publication Date
CN110688145A true CN110688145A (zh) 2020-01-14
CN110688145B CN110688145B (zh) 2024-05-03

Family

ID=69107908

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910853908.XA Active CN110688145B (zh) 2019-09-10 2019-09-10 Android MVP代码自动生成方法、装置、介质、电子设备

Country Status (1)

Country Link
CN (1) CN110688145B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111427567A (zh) * 2020-03-20 2020-07-17 杭州涂鸦信息技术有限公司 一种智能产品快速生成方法及其系统和设备
CN111782196A (zh) * 2020-07-08 2020-10-16 上海乾臻信息科技有限公司 基于mvp架构的开发方法及装置
CN113312084A (zh) * 2021-05-26 2021-08-27 合肥移瑞通信技术有限公司 At框架代码自动生成方法、装置、电子设备及存储介质
CN114691092A (zh) * 2020-12-29 2022-07-01 京东科技信息技术有限公司 插件生成方法、装置、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080320441A1 (en) * 2007-06-23 2008-12-25 Azadeh Ahadian Extensible rapid application development for disparate data sources
CN104350518A (zh) * 2014-05-20 2015-02-11 华为技术有限公司 一种配置广告模板的方法及服务器和系统
US20160070567A1 (en) * 2014-09-04 2016-03-10 Home Box Office, Inc. Generating related templated files
CN108762743A (zh) * 2018-05-23 2018-11-06 浪潮软件集团有限公司 一种数据表操作代码生成方法及装置
CN109189376A (zh) * 2018-07-20 2019-01-11 北京航空航天大学 数字飞行器集群源代码的人工智能书写方法
CN109240670A (zh) * 2018-11-21 2019-01-18 北京锐安科技有限公司 模块化的软件开发方法、系统、设备及介质
CN110032369A (zh) * 2019-04-24 2019-07-19 成都市映潮科技股份有限公司 一种代码自动生成方法、装置及介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080320441A1 (en) * 2007-06-23 2008-12-25 Azadeh Ahadian Extensible rapid application development for disparate data sources
CN104350518A (zh) * 2014-05-20 2015-02-11 华为技术有限公司 一种配置广告模板的方法及服务器和系统
US20160070567A1 (en) * 2014-09-04 2016-03-10 Home Box Office, Inc. Generating related templated files
CN108762743A (zh) * 2018-05-23 2018-11-06 浪潮软件集团有限公司 一种数据表操作代码生成方法及装置
CN109189376A (zh) * 2018-07-20 2019-01-11 北京航空航天大学 数字飞行器集群源代码的人工智能书写方法
CN109240670A (zh) * 2018-11-21 2019-01-18 北京锐安科技有限公司 模块化的软件开发方法、系统、设备及介质
CN110032369A (zh) * 2019-04-24 2019-07-19 成都市映潮科技股份有限公司 一种代码自动生成方法、装置及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LEOLU: "【Android】一键生成MVP代码-DevMvp快速开发框架", pages 6 - 13, Retrieved from the Internet <URL:https://juejin.cn/post/6844903587701604365> *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111427567A (zh) * 2020-03-20 2020-07-17 杭州涂鸦信息技术有限公司 一种智能产品快速生成方法及其系统和设备
CN111427567B (zh) * 2020-03-20 2023-08-18 杭州涂鸦信息技术有限公司 一种智能产品快速生成方法及其系统和设备
CN111782196A (zh) * 2020-07-08 2020-10-16 上海乾臻信息科技有限公司 基于mvp架构的开发方法及装置
CN114691092A (zh) * 2020-12-29 2022-07-01 京东科技信息技术有限公司 插件生成方法、装置、电子设备及存储介质
CN113312084A (zh) * 2021-05-26 2021-08-27 合肥移瑞通信技术有限公司 At框架代码自动生成方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN110688145B (zh) 2024-05-03

Similar Documents

Publication Publication Date Title
CN110688145B (zh) Android MVP代码自动生成方法、装置、介质、电子设备
JP6854041B2 (ja) コンテンツ管理システムにおけるプロジェクトの管理
US8689125B2 (en) System and method for automatic information compatibility detection and pasting intervention
US8745581B2 (en) Method and system for selectively copying portions of a document contents in a computing system (smart copy and paste
US20050155017A1 (en) System and method for automatic natural language translation during information transfer
CN104246659A (zh) 可实例化的手势对象
US20180024848A1 (en) Translatable Texts Identification in In-Context Localization Utilizing Pseudo-Language and an External Server
CN103761218A (zh) 一种在电脑上对电子文档进行批注的方法
US10083174B2 (en) Context enriched application text translation
CN110032324A (zh) 一种文本选中方法及终端
CN113032273B (zh) 一种应用程序的调试方法、装置、计算机设备和存储介质
US11714791B2 (en) Automated generation of revision summaries
JP2019520625A (ja) ヒューマンコンピュータインタラクション方法およびその装置
CN116561146A (zh) 数据库日志记录方法、装置、计算机设备及计算机可读存储介质
CN102982217A (zh) 丝印的处理方法和装置
CN111177247A (zh) 一种数据转换的方法、装置及存储介质
CN114048415A (zh) 表单生成方法及装置、电子设备和计算机可读存储介质
CN116227625A (zh) 智能模型开发方法、介质及设备
CN114692055A (zh) 表单处理方法、装置、存储介质与电子设备
CN114356328A (zh) 进行企业门户快速适配的方法、系统及计算机存储介质
CN113886741A (zh) 用于对公式进行排版的方法及其相关产品
US20150277723A1 (en) Exporting a component of a currently displayed user interface to a development system
CN111523294A (zh) 基于pdf文件的批注分离的处理方法及装置
CN105183491A (zh) 跨平台的桌面gis系统及其启动方法
US11656921B2 (en) Method for combining unified matters in personal workspace and system using the same

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