概要##
1.Butter Knife自動(dòng)生成代碼;
2.半自動(dòng)(僅需復(fù)制粘貼)生成實(shí)體類;
1. Butter Knife###
這么流行就不做介紹了,GitHub鏈接
https://github.com/JakeWharton/butterknife
為項(xiàng)目添加Butter Knife,然后我們?cè)偬砑右豢畈寮院缶驮僖膊恍枰猣indViewById()了。

如上圖,安裝好Android ButterKnife Zelezny插件,然后重啟Android Studio.
下面我們來感受一下偷工不減料。
新建一個(gè)布局,如下圖:

這里有些同學(xué)可能會(huì)遇到一個(gè)bug,就是Android N右側(cè)視圖無法預(yù)覽,解決方案很簡(jiǎn)單,點(diǎn)擊上圖右上角的機(jī)器人,選擇API 23(不含N的那個(gè)),然后刷新一下就OK了。
接著,我們?cè)贏ctivity內(nèi)右鍵布局名稱,即右鍵下圖中的butter_activity, 在彈出的菜單中選擇Generate, 然后會(huì)出現(xiàn)子菜單,如下圖:

點(diǎn)擊選擇Generate Butterknife Injections,會(huì)彈出下圖界面

命名遵照Android Studio中你所設(shè)置的規(guī)則,按Confirm確認(rèn)。
看下圖,控件變量已經(jīng)生成了,無需findViewById,也無需再次命名了。

2. 半自動(dòng)生成實(shí)體類###
比如服務(wù)器返回的內(nèi)容字段為:
{
"name": "Winter",
"id": 123,
"hobbys": [
{
"name": "play",
"degree": 4
},
{
"name": "play",
"degree": 4
}
]
}
也許是一團(tuán)遭的,比如這樣
xyz: {"name": "Winter","id": 123,"hobbys": [{ "name": "play","degree": 4},{"name": "play","degree": 4}]}
沒關(guān)系,我們可以現(xiàn)在這里 http://www.bejson.com 校驗(yàn)并復(fù)制好正確格式的Json數(shù)據(jù)。
然后在這個(gè)頁(yè)面
http://www.bejson.com/json2javapojo/
把正確的Json數(shù)據(jù)丟上去,一鍵生成Java實(shí)體類??矗瑢?shí)體生成了

上圖中生成的實(shí)體不需要全部復(fù)制,那樣太麻煩。我們只需要復(fù)制這一部分:
private String name;
private int id;
private List<Hobbys> hobbys ;
注意,Hobbys也是一個(gè)實(shí)體,這里我們暫且不管,生成該實(shí)體的方法與下面要說的一致。在代碼中把Hobbys改成HobbyEntity或Hobby更合理。
現(xiàn)在,我們來新建一個(gè)實(shí)體類,并把剛剛復(fù)制的內(nèi)容粘貼上去,如下圖:

右鍵實(shí)體類中的空白區(qū)域,在彈出的菜單中選擇Generate, 然后出現(xiàn)上圖子菜單,這里我們可以一鍵生成Get、Set方法,還可以一鍵序列化(Parcelable)。
p.s.一鍵序列化需要安裝一個(gè)插件 Android Parcelable code generator,請(qǐng)按照前面所說的方法在Android Studio插件設(shè)置中搜索并安裝。
然后就大功告成啦~
