安卓编写DataAdapter以及DataHolder一直是一件非常麻烦的时,于是我便想使用编译时注解不影响性能自动生成DataAdapter以及DataHolder但是仔细研究一下发现,要想统一DataAdapter是一件非常麻烦的事而且DataAdapter不仅管理数据还管理着事件,事件又需要各种资源,所以最后退而求其次自动生成DataHolder主要对数据进行管理
使用效果
默认数据绑定是使用map对各种情况映射,已对场景情况处理,可以添加自定义处理器,也可也添加命名处理器来处理特殊的视图数据绑定
使用JavaBean与视图对象对应绑定,因为编译时无法使用反射,也无法解析layout.xml获取对应的类型信息,只能这样直接写全类名了
使用工具类通过JavaBean获取对应的DataHolder对象
生成的文件
项目结构
api:面向使用暴露的api
compiler:编译时注解处理器
share:api,compiler共用对象,因为api需要使用安卓特性,而compiler要使用AbstractProcessor,不能直接依赖api项目
码云地址
https://gitee.com/shaokang123/auto-data-holder