android studio模板开发,Android Studio Activity模版开发

为什么要使用模版开发

在开发之中,我们总会遇到一些比较通用的模块,比如启动页,登陆功能,网络请求,MVP模式等等。有些功能甚至需要重复使用多次,我们通常的做法是把之前的模块拷贝过来,修改名字,再修改内容。如果使用了代码模板的话,会减少很多重复的工作。

我们经常使用的系统的模版的结构如下图所示。如果你想自定义一个Activity模版或其他类模版,你可以把这2个文件拷贝过去,修改一下就行了。

3017892

这种方式稍微复杂一些,因为新手大都对这几个文件不熟悉,不知道怎么修改。

模板文件后缀名都是以【.ftl】结尾。

globals.xml.ftl 全局变量文件 存放的是一些全局变量

recipe.xml.ftl 配置要引用的模板路径以及生成文件的路径

template.xml 模板的配置信息,以及要输入的参数.定义了模板的流程框架 基本结构

template_blank_activity.png 显示的缩略图(只是展示用)

-root Activity模板文件

globals.xml.ftl

定义一些全局的变量,可以看到其内部有标签,分别定义id,type,默认值。同理,我们可以通过id的值访问到该值。

recipe.xml.ftl

to="${escapeXmlAttribute(srcOut)}/${activityName}Activity.java" />

to="${escapeXmlAttribute(manifestOut)}/AndroidManifest.xml" />

to="${escapeXmlAttribute(resOut)}/values/strings.xml" />

instantiate : 把Activity模版或其他模版拷贝到我们的项目中,并且会更改我们自定义的参数。

merge : 合并的意思,比如将我们使用到的strings.xml合并到我们的项目的stirngs.xml中

copy :从root中copy文件到我们的目标目录,比如drawable、anim等文件夹。

open:在代码生成后,打开指定的文件,比如我们新建一个Activity后,默认就会将该Activity打开。

template.xml

format="5"

revision="5"

name="MVPActivity"

minApi="7"

minBuildApi="14"

description="mvp">

id="activityName"

name="Activity Nme"

type="string"

default="MVP"

help="" />

template_cover.png

中的name属性,对应新建Activity时显示的名字

对应New的类别为Activity

parameter,部分属性介绍:

id :唯一标识,最终通过该属性的值,获取用户输入值(文本框内容,是否选中)

name:界面上的类似label的提示语

type : 输入值类型

constraints:填写值的约束

suggest:建议值,比如填写ActivityName的时候,会给出一个布局文件的建议值。

default:默认值

help:底部显示的提升语

template.xml的最下面的部分引入了globals.xml.ftl和recipe.xml.ftl。

最后给大家分享一份非常系统和全面的Android进阶技术大纲及进阶资料,及面试题集

想学习更多Android知识,请加入Android技术开发企鹅交流 7520 16839

进群与大牛们一起讨论,还可获取Android高级架构资料、源码、笔记、视频

包括 高级UI、Gradle、RxJava、小程序、Hybrid、移动架构、React Native、性能优化等全面的Android高级实践技术讲解性能优化架构思维导图,和BATJ面试题及答案!

群里免费分享给有需要的朋友,希望能够帮助一些在这个行业发展迷茫的,或者想系统深入提升以及困于瓶颈的

朋友,在网上博客论坛等地方少花些时间找资料,把有限的时间,真正花在学习上,所以我在这免费分享一些架构资料及给大家。希望在这些资料中都有你需要的内容。

608e91200c2a54ccd21ff38e2725a5ed.png

7b511ae85c603c3a53d2048f5dadf5b1.png

  • 0
    点赞
  • 1
    收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值