扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
今天就跟大家聊聊有关Android Studio中如何构建自定义模板,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
创新互联的团队成员不追求数量、追求质量。我们经验丰富并且专业,我们之间合作时就好像一个人,协同一致毫无保留。创新互联珍视想法,同时也看重过程转化带来的冲击力和影响力,在我们眼中,任何细节都不容小觑。一直致力于为企业提供从主机域名、网站策划、网站设计、商城开发、网站推广、网站优化到为企业提供个性化软件开发等基于互联网的全面整合营销服务。一、TempateBuilder插件安装
环境:Android Studio 3.1.1
方式1:AS内安装
方式2:本地安装
先去GitHub开源地址上下载插件压缩包,或者到JetBrains上的插件地址(要翻 墙哦)下载。
安装完后记得要重启AS才能生效!!!
二、建立自定义模板
以创建TestActivity模板为例。
1. 创建模板所需文件
按照平时的Activity,及Layout文件位置来创建把。(其实也可以随便找个位置创建以下的模板文件)
Java模板文件:TestSampleActivity.java
package ${packageName}; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.TextView; public class ${testName}Activity extends AppCompatActivity { private TextView mTvLog; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_${layoutName}); mTvLog = findViewById(R.id.tv_log); } public void on${testName}(View view) { } private void log(String log) { StringBuilder sb = new StringBuilder(); String s = mTvLog.getText().toString(); sb.append(s).append("\n").append(log); mTvLog.setText(sb.toString()); } public static void start(Context context) { Intent starter = new Intent(context, ${testName}Activity.class); context.startActivity(starter); } }
XML模板文件:
2. 选中模板文件TestSampleActivity.java及activity_test_sample.xml
3. 使用快捷键Alt+T,调出生成窗口,并填写相关信息,及Add添加模板所使用的相关变量(如${testName})定义
下面来说明一下该界面对应的内容
Template Category 对应模板的分类,对应选择导入模板时的模板分类,比如AS原本就有的Activity分类(我们经常在这个分类里面使用EmptyActivity),这里默认值是电脑的用户名。
Template Name 对应模板名称,对应选择导入模板时的模板名称,默认值是当前的Module名称。
Template Description 对应模板描述信息,对应导入模板时弹出的导入界面的文字描述,默认为空。
Template Folder 对应生成模板所存放的位置,如果是Mac操作系统则默认为/Applications/Android Studio.app/Contents/plugins/android/lib/templates, Windows系统的话由于差异比较大,就默认为空了,可以自行配置[Android Studio安装目录]/plugins/android/lib/templates(这里只需要配置一次即可,插件将自动保存该位置)。
Input data区域
关于Input data的使用,先解释下每个属性对应的含义
id 变量名,必须和模板中使用的变量名对应,必填,比如上面模板文件中使用${testName},这里就应该填上对应的名称,testName
name 变量简介,必填
type 变量类型,string和boolean两种,通过下拉框选择,必填
default 变量对应的默认值,选填
help 添加该变量时的提示信息,选填
注意:不要使用中文,因为编码问题所以使用中文会变成乱码
4.点击 Next 要进入更详细的配置
recipe.xml.ftl配置
原内容
from是模板文件路径,to是要生成的文件路径,如果不修改,默认文件名,就是跟原来的模板文件名一样。我们需要文件名也一同重新命名,所以要修改一下,调整为如下配置
AndroidManifest.xml.ftl 配置
原内容
从 recipe.xml.ftl配置中,我们就已经发现,其实AndroidManifest.xml的生成,是使用merge的方式,也就是跟Git的合并一样,而这里的模板显然已经不适用,所以需要对应调整为当前新的模板类型。
其他的
template.xml,是控制创建时候的ui面板配置的,像在上一步中填写的,名称,默认值,类型等最终都是生成在这个文件中,当某项配置出错时,可以根据需要做调整,不用每次都Alt+T新建模板。
build.gradle.ftl,是添加依赖使用的,我们没有用到,所以不需要配置。
globals.xml.ftl,是全局一些配置,比如resOut是指定资源输出文件夹。默认就ok了。
5. 点击ok,生成成功,会在底部有提示,重启AS后才生效。
三、使用
跟平常的新建EmptyActivity一样操作,我们选择我们刚刚创建的模板。
四、举一反三
通过上面步骤,已经成功创建了一个快速测试的Activity模板。
最终模板生成的文件所在的位置是Alt+T时候配置的路径,C:\Android\Studio\plugins\android\lib\templates,在这里也可以看到AS内置的模板,比如在C:\Android\Studio\plugins\android\lib\templates\activities\EmptyActivity里面的EmptyActivity模板。
同时可以参考内置模板的,template.xml、recipe.xml.ftl、globals.xml.ftl,及root\src下的模板文件,来找到自己需要的配置,比如创建文件之后,打开我们Activity.java文件。在recipe.xml.ftl文件中,加入命令
还有其他的,如替换缩略图之类。
看完上述内容,你们对Android Studio中如何构建自定义模板有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流