ButterKnife源码解析

来源:互联网 发布:java 定义一个数组 编辑:程序博客网 时间:2024/06/02 04:23

【参考链接】

Android开发之手把手教你写ButterKnife框架(一)

http://blog.csdn.net/johnny901114/article/details/52662376

Android注解-编译时生成代码 (APT)

http://blog.csdn.net/a1018875550/article/details/52166916

 

总结来说就是

MainActivity中执行ButterKnife.bind()的时候,会以“MainActivity”+“__ViewBinding”为类名,去加载这个类, 加载到以后通过反射获取他的构造函数,调用这个构造函数来完成元素的绑定。

在这个构造函数中,会读取注解的参数值,通过参数值获取到View再将其赋值给MainActivity中的成员变量,或其他等。

 


 

所以重点就是MainActivity_ViewBindings这个类是怎么来的。当然是通过APT了。

不过我这里就不分析ButterKnife中是如何通过APT生成这个类的了,而是分析另外一个例子,一个在我查找资料的过程中遇到的例子(片头的参考链接2),该作者自己实现的一个类似的框架。


 

原创粉丝点击