写这个数据绑定库的灵感源于公司的项目开发遇到的问题:app中有些页面有许多需要展示、输入的字段,如果每个字段都去手动复制、手动取值,这就意味着增加大量的冗余代码,也增加了开发的工作量。解决这个问题其实很简单,只需要数据字段和控价进行一一绑定即可。
实现思路
基本原理
- 将对象上的字段名与控件的tag相互对应。
- 用反射取到对象中的每个字段,然后通过字段名去寻找到对应的控件,即可进行赋值和取值。
- 通过在字段上添加注解就可以实现判断字段是否为空的操作。
对外开放的功能
- 将对象上的数据填充到控件上,在填充可以进行转化,比如:1对应男
- 将控件上的数据填充到对象中,在填充钱可以进行自动转化,比如:男对应1
- 对控件上的数据进行判空等检查操作。
使用代码
javabean对象:
layout布局:
activity中的操作方法:
总结
实现此库一个核心的思想就是数据和控件相互绑定,然后我们在此基础上添加一些平时开发需要用到的一些功能,主要用到了注解、反射等知识。