AndroidStudio4.1 自定义模板的使用方法
androidstudio4.0之前,可以在template的文件夹里使用freemarker的自定义模板,可以在androidstudio的文件夹中,随意的添加适合自己的自定义模板
但是从4.1版本开始提供新的方式,geminio,用kotlin的形式编写新的template,而且需要使用插件的形式,才能使用自定义的模板,摸索了好几天,终于解决了。
我的项目是使用mvvm的开发框架,每次在编写一个新的页面的时候,就需要新建四个文件activity/fragment, viewmodel, repository, xml文件,写的多了就会很烦。自从使用了自定义的模板以后,头发掉得都少了。
开工!!!搞起!!!
准备
开发工具 androidstudio4.1
模板基础代码配置
打开 https://github.com/jetbrains/intellij-platform-plugin-template,点击绿色的#use this template#,按步骤在自己的github上创建模板。
然后使用androidstudio 将模板下载到本地。
编码
添加wizard-template.jar
在根目录里添加lib文件夹,并添加androidstudio安装目录里的wizard-template.jar,位于 /applications/android\ studio.app/contents/plugins/android/lib/目录下。
修改build.gradle.kts
在dependencies里添加wizard-template.jar的依赖
修改gradle.properties
修改gradle.properties中的plugingroup, pluginname_, platformplugins, platformversion。
将默认的listeners的父包名,调整为自己想要的样子,例如com.company.app
修改myprojectmanagerlistener
在src/main/kotlin里创建other文件夹用于放置自定义模板
正式开始编写自定义模板,以activity为例。
1. 实现wizardtemplateprovider
sampleplugintemplateproviderimpl
2. 创建 mvvmactivitytemplate.kt.
这个文件是设置在创建activity的时候,输入的信息,例如activityname,layoutname,packagename以及是否可以为为等
mvvmactivitytemplate.kt
3. 创建mvvmactivityrecipe.kt。
这个文件用于将创建的文件保存到文件夹中,例如activity,布局文件等。 原计划将activity直接添加到androidmanifest里,但是发现generatemanifest有点问题,导致生成的插件不能使用,暂时去掉,只能手动添加了。
mvvmactivityrecipe.kt
4. 创建mvvmacitivitykt。
这个文件用于创建activity的模板代码,根据自己的情况,自行调整。
mvvmacitivitykt.kt
5. 编写mvvmrepository。
这个文件是mvvm的repository层的代码。
mvvmrepository.kt
6. 编写mvvmviewmodel。这个是mvvm的viewmodel层 mvvmviewmodel.kt
7.编写mvvmactivityxml。这个文件是用于生成布局文件的 mvvmactivityxml.kt
8. 修改plugin.xml
添加org.jetbrains.android,org.jetbrains.kotlin,com.intellij.modules.java的依赖
修改applicationservice和projectservice的值
修改applicationlistenersv中listener的值
添加wizardtemplateprovider为刚才添加的类
生成jar文件
在as最上面选择运行 run plugin ,成功以后即可在build/libs找见对应的jar文件。最后在as的设置里将这个jar包添加的plugin,重启as即可。
到此这篇关于androidstudio4.1 自定义模板的使用方法的文章就介绍到这了,更多相关androidstudio4.1 自定义模板内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
推荐阅读
-
Django框架模板的使用方法示例
-
对Pycharm创建py文件时自定义头部模板的方法详解
-
AI怎么使用模板快速制作图形? ai模板的使用方法
-
smarty模板引擎中自定义函数的方法
-
smarty模板引擎中内建函数if、elseif和else的使用方法
-
SpringBoot使用自定义json解析器的使用方法
-
关于PHP模板Smarty的初级使用方法以及心得分享
-
destoon调用自定义模板及样式的公告栏
-
UG10怎么自定义制图系统默认的模板?
-
C#_Excel数据读取与写入_自定义解析封装类_支持设置标题行位置&使用excel表达式收集数据&单元格映射&标题映射&模板文件的参数数据替换(第二版-增加深度读取和更新功能)