Android Studio 代码模版,一键生成 MVP 类

本篇文章主要介绍 Android Studio 代码模版,通过使用代码模版让我们更加方便的去创建 MVP 类。其他类:Adapter、List 等同样适用。

先上一波效果图

使用时和正常的 new Activity 一样。

new Activity 后生成的类:

详细的 Activity 类:

详细的 Presenter 类:

详细的 Repository 类:

只需要我正常的一个 new Activity 的流程,就可以自动生成这些类,而且还可以自定义,是不是很方便,很快捷?麻麻再也不用担心 MVP 框架中创建一大堆类头疼的问题了。

代码模版的相关知识

  1. 找到 Android Studio 代码模版的文件位置。

    文件位置: Android Studio 的安装目录\plugins\android\lib\templates\activities

    例: D:\Android\studio3\android-studio\plugins\android\lib\templates\activities

    这里就是 Android Studio 存放代码模版的位置,找到 EmptyActivity 文件夹,这个名字是不是很熟悉?没错,我们正常 new 的 EmptyActivity 使用的就是这个代码模版,那么我们就用这个文件夹来完成我们的改造大业。

  2. 代码模版的解读。

  • globals.xml.ftl 文件

    "1.0"?>
    
        "hasNoActionBar" type="boolean" value="false" />
        "parentActivityClass" value="" />
        "simpleLayoutName" value="${layoutName}" />
        "excludeMenu" type="boolean" value="true" />
        "generateActivityTitle" type="boolean" value="false" />
        <#include "../common/common_globals.xml.ftl" />
    
    复制代码

    这个文件主要是定义了一些全局的变量,引用公共的模版等。 这个文件不需要改动。

  • recipe.xml.ftl 文件

    "1.0"?>
    <#import "root://activities/common/kotlin_macros.ftl" as kt>
    
        <#include "../common/recipe_manifest.xml.ftl" />
        <@kt.addAllKotlinDependencies />
    
    <#if generateLayout>
        <#include "../common/recipe_simple.xml.ftl" />
        "${escapeXmlAttribute(resOut)}/layout/${layoutName}.xml" />
    #if>
    
    <#if generateKotlin>
        "root/src/app_package/SimpleActivity.kt.ftl"
                   to="${escapeXmlAttribute(srcOut)}/${activityClass}.kt" />
        "${escapeXmlAttribute(srcOut)}/${activityClass}.kt" />
    <#else>
        "root/src/app_package/SimpleActivity.java.ftl"
                   to="${escapeXmlAttribute(srcOut)}/${activityClass}.java" />
        "${escapeXmlAttribute(srcOut)}/${activityClass}.java" />
    #if>
    
    复制代码

    这个文件主要是配置要引用的模板路径以及生成文件的路径,可以看到有是否生成 xml 布局文件的判断,选择生成 kotlin 还是 java 文件的判断。

    标签:from 引用的模版文件位置,to 生成的模版文件位置

    标签:打开生成的文件

    当我们写好代码模版后,在这里配置对应的位置,Android studio 就会自动读取到我们写好的模版,生成代码。

  • template.xml 文件

    "1.0"?>
    
    复制代码

    这里我们只看几处即可,