美文网首页
APT知识、案例的学习和记录

APT知识、案例的学习和记录

作者: 放羊娃华振 | 来源:发表于2019-12-06 11:19 被阅读0次

一、概述

网上学习apt这块的知识后面看到一篇文件总结的十分好,所有就把我认为的精华部分全部记录下来,方便自己和广大java或者Android开发者学习。这这篇文章有十分丰富的apt知识,当你认真学习下来,一定会收获不少!

二、注解系列博客汇总

1.Annotation注解详细介绍
2.Dagger2深入分析,待更新
3.注解详细介绍
什么是注解,注解分类有哪些?自定义注解分类?运行注解案例展示分析,以一个最简单的案例理解注解……使用注解替代枚举,使用注解限定类型。
4.APT技术详解
什么是apt?理解注解处理器的作用和用途……android-apt被替代?annotationProcessor和apt区别? 什么是jack编译方式?
5.自定义annotation注解
@Retention的作用?@Target(ElementType.TYPE)的解释,@Inherited注解可以被继承吗?Annotation里面的方法为何不能是private?
6.注解之兼容kotlin
7.注解之处理器类Processor
处理器类Processor介绍,重要方法,Element的作用,修饰方法的注解和ExecutableElement,了解修饰属性、类成员的注解和VariableElement……
8.注解遇到问题和解决方案
无法引入javax包下的类库,成功运行一次,修改代码后再运行就报错
9.注解代替枚举
在做内存优化时,推荐使用注解代替枚举,因为枚举占用的内存更高,如何说明枚举占用内存高呢?这是为什么呢?
10.注解练习案例开源代码
注解学习小案例,比较系统性学习注解并且应用实践。简单应用了运行期注解,通过注解实现了setContentView功能;简单应用了编译器注解,通过注解实现了防暴力点击的功能,同时支持设置时间间隔;使用注解替代枚举;使用注解一步步搭建简单路由案例。结合相应的博客,在来一些小案例,从此应该对注解有更加深入的理解……
11.ARouter路由解析
比较详细地分析了阿里路由库
12.搭建路由条件
为何需要路由?实现路由方式有哪些,这些方式各有何优缺点?使用注解实现路由需要具备的条件以及简单原理分析……
13.通过注解去实现路由跳转
自定义Router注解,Router注解里有path和group,这便是仿照ARouter对路由进行分组。然后看看注解生成的代码,手写路由跳转代码。
14.自定义路由Processor编译器
Processor介绍,重要方法,Element的作用,修饰方法的注解和ExecutableElement
15.利用apt生成路由映射文件
在Activity类上加上@Router注解之后,便可通过apt来生成对应的路由表,那么究竟是如何生成的代码呢?
在组件化开发中,有多个module,为何要在build.gradle配置moduleName,又是如何通过代码拿到module名称?
process处理方法如何生成代码的,又是如何写入具体的路径,写入文件的?
看完这篇文章,应该就能够理解上面这些问题呢!
16.路由框架的设计和初始化
编译期是在你的项目编译的时候,这个时候还没有开始打包,也就是你没有生成apk呢!路由框架在这个时期根据注解去扫描所有文件,然后生成路由映射文件。这些文件都会统一打包到apk里,app运行时期做的东西也不少,但总而言之都是对映射信息的处理,如执行执行路由跳转等。那么如何设计框架呢?
生成的注解代码,又是如何把这些路由映射关系拿到手,或者说在什么时候拿到手比较合适?为何注解需要进行初始化操作?
如何得到得到路由表的类名,如何得到所有的routerAddress—activityClass映射关系?
17.路由框架设计注意要点
需要注意哪些要点?
18.为何需要依赖注入
有哪些注入的方式可以解耦,你能想到多少?路由框架为何需要依赖注入?路由为何用注解进行依赖注入,而不是用反射方式注入,或者通过构造方法注入,或者通过接口方式注入?
19.Activity属性注入
在跳转页面时,如何传递intent参数,或者如何实现跳转回调处理逻辑?

三、APT实践&总结

GITHUB地址

四、参考

https://blog.csdn.net/m0_37700275/article/details/87984528

相关文章

网友评论

      本文标题:APT知识、案例的学习和记录

      本文链接:https://www.haomeiwen.com/subject/pmisgctx.html