Chinaunix首页 | 论坛 | 博客
  • 博客访问: 266071
  • 博文数量: 81
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 878
  • 用 户 组: 普通用户
  • 注册时间: 2014-07-25 23:20
文章分类

全部博文(81)

文章存档

2017年(45)

2016年(20)

2015年(2)

2014年(14)

我的朋友

分类: 架构设计与优化

2016-12-12 21:27:29

概要

1.Butter Knife自动生成代码;
2.半自动(仅需复制粘贴)生成实体类;

1. Butter Knife

这么流行就不做介绍了,GitHub链接

为项目添加Butter Knife,然后我们再添加一款插件,以后就再也不需要findViewById()了。

itdadao
为Android Studio安装该插件


如上图,安装好Android ButterKnife Zelezny插件,然后重启Android Studio.

下面我们来感受一下偷工不减料。
新建一个布局,如下图:

itdadao
任意添加两个含id的控件


这里有些同学可能会遇到一个bug,就是Android N右侧视图无法预览,解决方案很简单,点击上图右上角的机器人,选择API 23(不含N的那个),然后刷新一下就OK了。

接着,我们在Activity内右键布局名称,即右键下图中的butter_activity, 在弹出的菜单中选择Generate, 然后会出现子菜单,如下图:

itdadao
右键布局名称一键生成含id的控件


点击选择Generate Butterknife Injections,会弹出下图界面

itdadao
自动生成了控件变量


命名遵照Android Studio中你所设置的规则,按Confirm确认。

看下图,控件变量已经生成了,无需findViewById,也无需再次命名了。

itdadao
最终形态

2. 半自动生成实体类

比如服务器返回的内容字段为:

{
    "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实体类。看,实体生成了

itdadao
一键生成的Java实体


上图中生成的实体不需要全部复制,那样太麻烦。我们只需要复制这一部分:

private String name;

private int id;

private List hobbys ;

注意,Hobbys也是一个实体,这里我们暂且不管,生成该实体的方法与下面要说的一致。在代码中把Hobbys改成HobbyEntity或Hobby更合理。

现在,我们来新建一个实体类,并把刚刚复制的内容粘贴上去,如下图:

itdadao
右键并选择Generate里的Getter and Setter自动生成Get与Set方法


右键实体类中的空白区域,在弹出的菜单中选择Generate, 然后出现上图子菜单,这里我们可以一键生成Get、Set方法,还可以一键序列化(Parcelable)。

p.s.一键序列化需要安装一个插件 Android Parcelable code generator,请按照前面所说的方法在Android Studio插件设置中搜索并安装。

然后就大功告成啦~

itdadao
半自动生成的实体类
阅读(1398) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~