Android知识Android开发Android进阶之旅

Android Studio 使用自定义模板简化开发

2017-03-26  本文已影响191人  水瓶鱼

现在Android 项目中基本都是MVP或MVVM架构的,相比之前的MVC架构MVP需要为Presenter层创建单独的类,有些麻烦。为了简化创建类的过程,可以对Android Studio的模板文件进行改造,在新建Activity或Fragment时自动创建Presenter层文件。

基本知识

开始改造

1 从模板中选出自己常用的activity和fragment模板,打开template.xml,修改template中的name

<template
    format="5"
    revision="5"
    name="MVP Activity" //模板名称,不能重复
    minApi="9"
    minBuildApi="14"
    description="Creates a new mvp activity">

2 根据需要添加新的参数,因为我习惯把view,presenter,contract放在新的package中,我添加了下面两个参数,分别代表是否创建新package,和package名称


    <parameter
        id="createPackage"
        name="create new package"
        type="boolean"
        default="true"
        help="create a new package" />

    <parameter
        id="activityPackage"
        name="activity package path"
        type="string"
        default="${classToResource(activityClass)}"
    suggest="${classToResource(activityClass)}"
        />

3 在recipe.xml.ftl中添加处理过程

<#if createPackage>
        <instantiate from="root/src/app_package/SimpleActivity.java.ftl"
                    to="${escapeXmlAttribute(srcOut)}/${escapeXmlAttribute(activityPackage)}/${activityClass}.java" />
        <open file="${escapeXmlAttribute(srcOut)}/${escapeXmlAttribute(activityPackage)}/${activityClass}.java" />
        
        
        <instantiate from="root/src/app_package/SimpleContract.java.ftl"
                    to="${escapeXmlAttribute(srcOut)}/${escapeXmlAttribute(activityPackage)}/${contractName}.java" />
        <open file="${escapeXmlAttribute(srcOut)}/${escapeXmlAttribute(activityPackage)}/${contractName}.java" />
                    
        
        <instantiate from="root/src/app_package/SimplePresenter.java.ftl"
                    to="${escapeXmlAttribute(srcOut)}/${escapeXmlAttribute(activityPackage)}/${presenterName}.java" />
        <open file="${escapeXmlAttribute(srcOut)}/${escapeXmlAttribute(activityPackage)}/${presenterName}.java" />
    <#else>
        <instantiate from="root/src/app_package/SimpleActivity.java.ftl"
                   to="${escapeXmlAttribute(srcOut)}/${activityClass}.java" />

    <open file="${escapeXmlAttribute(srcOut)}/${activityClass}.java" />
    </#if>

4 将修改完的文件放回template文件夹中,重启Android Studio,不出意外的话点击新建activity就可以在里面找到刚才改过的模板

新建Activity 新建Activity 新建完成

5 写完后最好将自己的模板文件另外保存一份,AndroidStudio更新会将自己放入的模板文件删除。

文件模板已上传至github,可供参考

上一篇 下一篇

猜你喜欢

热点阅读