一、上次上了GsonFormat的当,这次上了ButterKnifer(快速绑定资源Id)的当~
一般情况,使用ButterKnife插件,我们这样使用:
然后就能将R.layout.activity_main布局中的组件(必须设置id),自动实例化。(原理上事通过Java的注解+反射)。但是我遇到一个坑就是,
当我们的布局中,组件id不规范时会发生错误。如下:
这时候,ButterKnife 不起任何作用!一度我以为是插件问题。而且这个错误非常隐蔽,特此记录。
二、对于生成表单类的数据,特别是根据后台返回的数据,生成表单组件这个时候,后台的数据往往特别复杂。合理的解析json数据
是非常考验开发者的。这周遇到一个难点:后台返回了这样的数据(部分):
这里tid_****,开头代表组件id,后面是组件要表现的值。组件的个数是不确定的。这个时候一般把这段json当成字符串采用如下解析方式:
注意,这里的HashMap,类型是<String,Object>.因为第二个组件的值并不是字符串类型,而是要嵌套一个列表(正因为这种无规律的数据结构,让我头痛了很久)。我们拿到第二个组件的值,需要用同样的方法,继续解析。然而返回给你的已经是Object类型,如何变回字符串呢?(toString是不中的,并不能转成json数据格式!我甚至尝试了字符串替换大法,但是实在太麻烦了,放弃!)。其实对Gson不了解,这里Goole到了一种极其简单的方法:
没错!就是这么easy!直接将new Gson().toJson(Object);就能将object类型转成规范的json数据格式~清爽,美滋滋!