分类: 架构设计与优化
2016-12-12 21:27:29
1.Butter Knife自动生成代码;
2.半自动(仅需复制粘贴)生成实体类;
这么流行就不做介绍了,GitHub链接
为项目添加Butter Knife,然后我们再添加一款插件,以后就再也不需要findViewById()了。
如上图,安装好Android ButterKnife Zelezny插件,然后重启Android Studio.
下面我们来感受一下偷工不减料。
新建一个布局,如下图:
这里有些同学可能会遇到一个bug,就是Android N右侧视图无法预览,解决方案很简单,点击上图右上角的机器人,选择API 23(不含N的那个),然后刷新一下就OK了。
接着,我们在Activity内右键布局名称,即右键下图中的butter_activity, 在弹出的菜单中选择Generate, 然后会出现子菜单,如下图:
点击选择Generate Butterknife Injections,会弹出下图界面
命名遵照Android Studio中你所设置的规则,按Confirm确认。
看下图,控件变量已经生成了,无需findViewById,也无需再次命名了。
比如服务器返回的内容字段为:
{ "name": "Winter", "id": 123, "hobbys": [ { "name": "play", "degree": 4 }, { "name": "play", "degree": 4 } ] }
也许是一团遭的,比如这样
xyz: {"name": "Winter","id": 123,"hobbys": [{ "name": "play","degree": 4},{"name": "play","degree": 4}]}
没关系,我们可以现在这里 校验并复制好正确格式的Json数据。
然后在这个页面
把正确的Json数据丢上去,一键生成Java实体类。看,实体生成了
上图中生成的实体不需要全部复制,那样太麻烦。我们只需要复制这一部分:
private String name; private int id; private Listhobbys ;
注意,Hobbys也是一个实体,这里我们暂且不管,生成该实体的方法与下面要说的一致。在代码中把Hobbys改成HobbyEntity或Hobby更合理。
现在,我们来新建一个实体类,并把刚刚复制的内容粘贴上去,如下图:
右键实体类中的空白区域,在弹出的菜单中选择Generate, 然后出现上图子菜单,这里我们可以一键生成Get、Set方法,还可以一键序列化(Parcelable)。
p.s.一键序列化需要安装一个插件 Android Parcelable code generator,请按照前面所说的方法在Android Studio插件设置中搜索并安装。
然后就大功告成啦~