Puke's Blog

The man with a new idea is a crank until the idea succeeds.

TemplateBuilder

Integrate the development process of the Android Studio Template into the Android Studio Plugin, only one-click will be able to make the current file as a Template.

TemplateBuilder(中文版)

将Android Studio Template的开发过程集成于Android Studio Plugin中,只需要一键就能将当前文件制作为Template。

Android Studio模板之文件组

文件组模板是基于FreeMarker模板语言的一个功能很强大的Android开发模板,可以这样说,代码片段模板和文件模板是一种提高编码效率的工具,而文件组模板可以算是一种模板引擎。

Android Studio模板之文件

文件模板是指以一个文件为基础的模板,这种形式的模板比代码片段级别的模板要复杂一些,模板中设计到VTL(Velocity Template Language)语法。文件级别比代码级别能够存储更多的代码内容,而且能够通过VTL很大程度上提高模板的灵活度,让模板不再是一个不变的文本字符串。

Android Studio模板之代码片段

代码片段是Template上的最小单位,因此它也具有最大的灵活性,支持多参数配置、TAB切换、代码块包装等多种特性(IDEA同样适用)。

CallbackProxy模式

对于一个核心类或者框架来说,通常会在运行时向外部回调多种操作以便于使用方做出一些主流程上面的AOP或者Intercept操作。而很多操作可能是预留不足以提供的,当我们逐渐去拓展我们的Callback时,使用方的代码将会大量增加,于是引入CallbackProxy的模式解决这个问题。

CodeGenerator

Android Studio的一些拓展插件使用,简化我们的日常开发。

BuilderGenerator

日常开发中,我们经常会使用到Builder模式,我们一般都是直接手动地去写一个Builder类来使用。这里我们采用APT的方式进行配置生成Builder类。

Android注解

在Java中经常会用到注解,通过注解的方式可以实现很多灵活性的东西。很多优秀的框架都支持注解的方式,如Spring的中对Bean的注解,Hibernate中对POJO类的注解,Mybatis中对Mapper的注解,ButterKnife中对View的注解,Dagger中对各个Component的注解, Retrofit对Api的注解。一言以蔽之,使用注解可以让整个代码风格看起来清爽明了。

Java反射

Java是门面向对象的语言,其中的每一个对象都有与之对应的的Class。只要一提到Class,自然就想到Java的反射机制,可见反射在Java中的重要性。