IOC框架核心代码:
对于布局的注入:
控件注入:
监听器注入是难点:
以下方法
1 首先获取activity身上的所有方法
2 继续遍历方法上的所有注解
3 拿到注解上的注解
4 如果不存在eventBase则继续
5 拿到EventBase身上的监听器三要素包含 setxxxListener 这个方法名,传入的接口对象类,接口回调方法名
6 将回调名与activity上被注解的方法保存
7 通过反射获取注解身上的资源id
8 拿到控件对象进行反射
9 利用动态代理的invoke去回调方法
对于布局的注入:
控件注入:
监听器注入是难点:
以下方法
1 首先获取activity身上的所有方法
2 继续遍历方法上的所有注解
3 拿到注解上的注解
4 如果不存在eventBase则继续
5 拿到EventBase身上的监听器三要素包含 setxxxListener 这个方法名,传入的接口对象类,接口回调方法名
6 将回调名与activity上被注解的方法保存
7 通过反射获取注解身上的资源id
8 拿到控件对象进行反射
9 利用动态代理的invoke去回调方法