效率提升百分之四十,Android-Studio模板真好用!

Android Studio 模板是个提高生产力的好东西,使用过 MVPArms 的朋友,都应该使用过我提供的配套模板,使用该套模板,一键即可生成整个页面需要的所有文件,甚至还可以一键生成整个 Module,真正的解放了大家的双手,让大家的双手可以去做更多热爱的事情

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Android Stuidio 模板一共有 4 种类型,分别对应不同的功能,我先来简单介绍下这 4 种模板,最后再着重介绍下一键生成 Module 的模板,因为前面 3 种模板在网上有太多优秀的教程了,而 Module 模板的资料非常少,我再重复写一遍前 3 种模板的教程也不一定有别人写得好,意义并不大,所以我前面只做简单介绍,后面会贴出一些教程链接,没了解过的就当科普了,了解过的就直接跳过

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

现在还差几个 star 就超过 Mozilla 在模板语言 Freemarker 中排名 star 全球第一了,让我得瑟一下😏

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Live Templates

Live Templates 的功能主要是根据关键字快速生成代码块

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在设置中找到 Live Templates,点击红框中的按钮 “+”,即可新建 Live Templates

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

File Templates

File Templates 顾名思义,主要功能就是一键生成单个文件

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在设置中找到 File and Code Templates,点击红框中的按钮 “+”,即可新建 File Templates

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Activity Templates

Activity Templates 可以一键生成多个文件,但不光可以生成 Activity 文件,还可以根据需求生成任何 Java 文件、XML 文件以及其他类型的文件

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

新建 Activity Templates 要比上面的两个模板复杂的多,需要使用到 FreeMarker,感兴趣的朋友,可以看看我开源的 Activity Templates,稍微修改一下就能应用到自己的项目当中

module Templates

module Templates 可以一键生成 Module 以及 Module 中所需要的所有文件

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

module Templates 也是使用 FreeMarker 创建的,如果你能理解 Activity Templates,那你也可以快速的新建一个 module Templates

详解 module Templates

不知道大家了解过一键生成 Module 的 Android Stuidio 模板吗,这种类型的模板我在网上没搜到有相关的开源库和文章,所以我就自己研究了一段时间,在去年就开源给了 MVPArms 的使用者

Module Templates 其实要比 Activity Templates 简单很多,因为 Module Templates 的某些限制,导致它的配置面板不能自定义一些新增的功能,所以复杂性降低很多,但是功能性和灵活性就要弱于 Activity Templates,不过即使这样也能满足我们大部分的需求了

Android Studio 中所有的 module Templates 都放在 gradle-projects 这个目录中(Android Studio 安装目录/plugins/android/lib/templates/gradle-projects),如果按照很多教程中对 Activity Templates 学习方法的描述,我们应该按照和 Activity Templates 一样的学习方式,打开 gradle-projects 目录中的 NewAndroidModule 进行学习

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

但是我可以告诉大家,在你没有足够经验的情况下,最好不要这样做,因为这个文件夹中包含着 Android Studio 创建 Android Module 所需要的所有文件和代码,里面比较复杂,有很多判断条件,很多东西对你的项目来说都用不到,在学习时会耽误你很多时间

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

所以为了让大家快速上手,我就用我已经开源的 module Templates 作为学习案例,里面的所有文件和代码都是经过我筛选过后提取出来的,非常易于大家学习和理解

module Templates 结构

NewArmsComponent
├── root
│ ├── res //Module 中的资源文件都放这里
│ ├── ├── anim
│ ├── ├── layout
│ ├── ├── mipmap-hdpi
│ ├── ├── mipmap-xhdpi
│ ├── ├── mipmap-xxhdpi
│ ├── ├── mipmap-xxxhdpi
│ ├── ├── values
│ ├── src/app_package //Module 中的源文件模板都放这里
│ ├── ├── ActivityLifecycleCallbacksImpl.java.ftl
│ ├── ├── Api.java.ftl
│ ├── ├── AppLifecyclesImpl.java.ftl
│ ├── ├── …
│ ├── test/app_package //Module 中的测试文件模板都放这里
│ ├── ├── ExampleInstrumentedTest.java.ftl
│ ├── ├── ExampleUnitTest.java.ftl
│ ├── AndroidManifest.xml.ftl //AndroidManifest.xml 模板文件
│ ├── CMakeLists.txt.ftl //不用 CMake 可以忽略
│ ├── build.gradle.ftl //App build.gradle 模板文件
│ ├── native-lib.cpp.ftl //不用 C 可以忽略
│ ├── root-build.gradle.ftl //根目录 build.gradle 模板文件
│ ├── settings.gradle.ftl //settings.gradle 模板文件
├── globals.xml.ftl
├── recipe.xml.ftl
├── template.xml
├── template_new_project.png

root 文件夹下包含的是生成 Module 所需要的模板文件,template_new_project.png 是模板的封面图,globals.xml.ftl 我们暂时用不到,recipe.xml.ftl、template.xml 这两个文件存放的是模板的配置参数,是整个模板的核心文件,我们来看看这两个文件

template.xml

template.xml 放置的是配置面板的参数,配置面板是什么东西?看下图

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

module Templates 和 Activity Templates 的配置面板不一样,Activity Templates 可以任意修改和新增配置面板中的项目,但是 module Templates 不可以,只能固定为图中的这四项

看看 template.xml 里面的内容

<?xml version="1.0"?>

----------------------- 分割线 -----------------------

template_new_project.png

只用看分割线以上的标签即可,下面的标签基本用不上,每个 parameter 标签在配置面板中都对应一个项目,但 parameter 标签只在 Activity Templates 中可以任意修改和新增,在 module Templates 中的任何修改和新增都是无效的,这点大家可以试试

name 标签和 description 标签顾名思义,这就不用多解释了,category 标签固定为 Application 即可

这里要特别要提一下 formfactor 标签,在 NewAndroidModule 中,formfactor 标签的值为 Mobile,最开始我也和它一样,将值赋为 Mobile,结果发现无法生成文件,我想可能是 Android Studio 只允许存在一个 Android 的 Module 模板,我又试着改成了 TV、Glass、Wear …,发现都不完美,要不是无法生成文件,要不就生成太多不需要的文件,最后改成 Things 后,效果就接近完美了

recipe.xml.ftl

recipe.xml.ftl 的功能就是告诉模板引擎,你打算怎么处理你的模板文件

<?xml version="1.0"?>








《设计思想解读开源框架》

第一章、 热修复设计

  • 第一节、 AOT/JIT & dexopt 与 dex2oat

  • 第二节、 热修复设计之 CLASS_ISPREVERIFIED 问题

  • 第三节、热修复设计之热修复原理

  • 第四节、Tinker 的集成与使用(自动补丁包生成)

    第二章、 插件化框架设计

  • 第一节、 Class 文件与 Dex 文件的结构解读

  • 第二节、 Android 资源加载机制详解

  • 第三节、 四大组件调用原理

  • 第四节、 so 文件加载机制

  • 第五节、 Android 系统服务实现原理

    第三章、 组件化框架设计

  • 第一节、阿里巴巴开源路由框——ARouter 原理分析

  • 第二节、APT 编译时期自动生成代码&动态类加载

  • 第三节、 Java SPI 机制

  • 第四节、 AOP&IOC

  • 第五节、 手写组件化架构

    第四章、图片加载框架

  • 第一节、图片加载框架选型

  • 第二节、Glide 原理分析

  • 第三节、手写图片加载框架实战

    第五章、网络访问框架设计

  • 第一节、网络通信必备基础

  • 第二节、OkHttp 源码解读

  • 第三节、Retrofit 源码解析

    第六章、 RXJava 响应式编程框架设计

  • 第一节、链式调用

  • 第二节、 扩展的观察者模式

  • 第三节、事件变换设计

  • 第四节、Scheduler 线程控制

    第七章、 IOC 架构设计

  • 第一节、 依赖注入与控制反转

  • 第二节、ButterKnife 原理上篇、中篇、下篇

  • 第三节、Dagger 架构设计核心解密

    第八章、 Android 架构组件 Jetpack

  • 第一节、 LiveData 原理

  • 第二节、 Navigation 如何解决 tabLayout 问题

  • 第三节、 ViewModel 如何感知 View 生命周期及内核原理

  • 第四节、 Room 架构方式方法

  • 第五节、 dataBinding 为什么能够支持 MVVM

  • 第六节、 WorkManager 内核揭秘

  • 第七节、 Lifecycles 生命周期


    本文包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…

    《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
    第六节、 WorkManager 内核揭秘*

  • 第七节、 Lifecycles 生命周期

    [外链图片转存中…(img-LdCMNS3S-1715326409236)]
    本文包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…
    [外链图片转存中…(img-OIRAnHUu-1715326409237)]
    《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

  • 16
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值