神刀安全网

使用FreeMarker模板引擎自定义Android工程模板

前两天受邀回答了这个问题: Androidstudio 快速创建各种各样的Activity的插件是什么? – Android 开发

根据提问中的截图,再结合作者在脉脉上的动态,基本上可以确定这个插件还没有发布,并且这个插件就是工程模板插件,可以通过模板直接创建各种各样的Activity、Module、Project,之前有在简书上写过一篇文章: 自定义Android Studio工程模板 ,深入了解AS的模板之后感觉写得太浅显了。

使用FreeMarker模板引擎自定义Android工程模板 使用FreeMarker模板引擎自定义Android工程模板 使用FreeMarker模板引擎自定义Android工程模板 通过Android Studio创建Project、Module、Activity、Fragment时,都会有像下图这样的对话框一步一步引导开发者生成想要的文件,这就是AS的模板,这些模板在Android Studio安装目录下,具体路径在“SDK_INSTALL_LOCATION//plugins/android/lib/templates”:

使用FreeMarker模板引擎自定义Android工程模板 进入任何一个模板文件夹,可以看到有很多以ftl结尾的文件:

使用FreeMarker模板引擎自定义Android工程模板

ftl是FreeMarker Template Language的缩写,AS中的这些模板是通过FreeMarker模板引擎创建的,所以只要熟悉了FreeMarker的语法,自定义模板基本没什么问题:

FreeMarker 是一款 模板引擎 : 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。

模板编写为FreeMarker Template Language (FTL)。它是简单的,专用的语言, 不是 像PHP那样成熟的编程语言。 那就意味着要准备数据在真实编程语言中来显示,比如数据库查询和业务运算, 之后模板显示已经准备好的数据。在模板中,你可以专注于如何展现数据, 而在模板之外可以专注于要展示什么数据。

如果细心找,网络上关于如何自定义AS的工程模板的文章还是比较多的,比如下面这些文章,已经讲得足够详细了,没有必要再花篇幅讲解如何自定义模板:

了解AS的工程模板还是有必要的:

  1. 比如我们需要修改创建AS模板中的默认样式:
  • 模板中的.gitingore中默认过滤掉了local.properties文件,可以在模板中加上,没有必要每次都手动添加;
  • 在模板中修改build.gradle,依赖公司内部的私有maven库;
  • 模板中增加对公司内部公共组件的依赖;
  • 去掉Activity布局文件中根标签的paddding属性;
  • 其它。。。

2. 或者由于业务需要公司内很多APP都需要用到同样的界面时。

但不要担心这种模板插件会危及我们的工作,这种模板都是静态的,无法实现程序中的逻辑,并且需求都是变化的,模板的适用场景太少了。

专栏开通了打赏功能,如果文章对你有帮助,你的打赏是我持续写作的动力噢,加油~

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » 使用FreeMarker模板引擎自定义Android工程模板

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址