关于android 动态表单这一块很少资料提及,简而言之就是:公司需要做这么一个功能,公司需要动态地下发产品流程,尤其是金融类别的公司,比如今天需要填写某某信息,然后明天突然觉得这个字段没必要了,又要修改,那么问题来了,你的app已经打出去了,如何进行修改呢?于是就有了动态这个概念,简而言之,这是一种热更新。热更文件,实现app的界面变化,从而达到自己的需求。
先上个实现图:
步骤 1:从json文件里面定义好各组件的名称,并用原生代码实现
2:实现完了控件之后,定义一个加载的activity,然后去读json文件,显示为界面UI
3:每个控件都有相应的eventbus的回调监听,等待控制器给他们发指令,如果接收到了就校验
4:校验成功后,控件会回传一个map给数据源,这个数据源就是最终你提交给服务器的map。
优点:1.动态化操作,只需更新json文件中的表单,即可实现UI的动态变化
2.开发稳定后,只需维护json表单就可以做到两端的更新,节省人力
3.你无需关心多个控件的组合检验,eventbus会通知他们,省了很多的非空校验和代码冗余
4.你无需写多个重复的页面或者activity
缺点:
1.开发的时候调试有点麻烦,你是面向控件调试
2.如果是产品没规律的话,那么控制器需要写很多的逻辑,这些逻辑都在同一个文件里面,很容易造成各种
错误。而且需要用一些硬编码来控制逻辑。显得代码多了很多硬编码。