1. 程式人生 > >Android studio 插件之 GsonFormat (自己主動生成javabean)

Android studio 插件之 GsonFormat (自己主動生成javabean)

哪些 sage tle str eas androi == last 我們

概述

相信大家在做開發的過程中都寫過非常多的javabean ,非常多情況下 都是一個列表數據就是一個單獨的javabean。假設大家自己敲的話費時費力 還非常easy敲錯。

今天給大家推薦一個插件 GsonFormat 這個插件就是能夠讓我們直接將服務端返回的json轉化為實體類。Android studio和idea都有, eclipse我沒有試過。

大家能夠找找有沒有。


操作步驟

第一步 下載插件

下載插件的過程我前面有一篇博客已經有具體步驟 Android Studio插件之sexy editor(設置AS背景) 大家 僅僅須要將那篇博客中介紹的插件名稱換成GsonFormat

依照那個步驟下載好 插件。記得下載安裝好後要重新啟動哦。

第二步 自己主動生成bean

以下我們介紹怎麽通過這個插件將服務端返回的json自己主動生成javabean


首先 我們要建一個空的java類,然後 在空白出點擊鼠標右鍵 選擇 Generate... 假設你已經安裝成功好插件會彈出以下這個框


技術分享

選擇GsonFormat會彈出以下這個框

技術分享


將服務端接返回的json 粘貼到這個裏面 點擊ok

技術分享


粘貼完畢後 點擊ok會彈出例如以下圖所看到的的選擇 字段界面


技術分享


這個界面是讓你自己選擇 保留哪些字段。可能有的字段不須要 就把前面的對勾去掉就能夠了。最後點擊ok。大功告成。


貼上json字符串和自己主動生成出的bean代碼.

json字符串

<span style="font-size:14px;">{"retval":"ok","reterr":"","retinfo":{"count":2,"groups":[{"groupid":1,"title":"\u65b0\u670b\u53cb","icon":"http:\/\/aliimg.yizhibo.tv\/online\/message\/2f\/74\/hi.png","type":"1","readcnt":67,"unread":2,"total":19,"update_time":"2016-04-05 09:11:09","lastest_content":{"type":2,"data":{"name":"16837286","nickname":"\u963f\u83b2","gender":"female","signature":"","vip":"0","logourl":"http:\/\/aliimg.yizhibo.tv\/online\/user\/2c\/17\[email protected]
/* */_100w_90Q_0e_1c"}}},{"groupid":0,"title":"\u6613\u76f4\u64ad\u5c0f\u79d8\u4e66","icon":"http:\/\/aliimg.yizhibo.tv\/online\/message\/07\/fd\/Secretary.png","type":0,"readcnt":86,"unread":0,"total":86,"update_time":"2016-04-01 00:09:28","lastest_content":{"type":0,"data":{"text":"\u611a\u4eba\u8282\u6765\u4e34\u4e4b\u9645\uff0c\u5fc3\u4e2d\u7684\u5c0f\u6076\u9b54\u6b63\u5728\u9a9a\u52a8\u3002\u6613\u76f4\u64ad\u611a\u4eba\u8282\u65e0\u654c\u5927\u738b\u4e89\u9738\u96c6\u7ed3\u53f7\u4e5f\u501f\u52bf\u90aa\u6076\u5439\u54cd\uff01\u770b\u5404\u5927\u5bb6\u5982\u4f55\u5927\u65bd\u8ff7\u9b42\u9635\uff0c\u6597\u5fd7\u6597\u52c7\uff0c\u620e\u9a6c\u800c\u5f52\u3002\u201c\u611a\u4eba\u5927\u738b\u201d\u3001\u201c\u8303\u4e8c\u5927\u738b\u201d\u7a76\u7adf\u82b1\u843d\u8c01\u5bb6\u5462\uff1f\u54b1\u4eec\u62ed\u76ee\u4ee5\u5f85\uff01"}}}]}}</span>
生成的bean


<span style="font-size:14px;">
import java.util.List;

public class MessageGroupEntity {
    /**
     * retval : ok
     * reterr :
     * retinfo : {"count":2,"groups":[{"groupid":1,"title":"新朋友",
     * "icon":"http://aliimg.yizhibo.tv/online/message/2f/74/hi.png","type":"1","readcnt":67,
     * "unread":2,"total":19,"update_time":"2016-04-05 09:11:09","lastest_content":{"type":2,
     * "data":{"name":"16837286","nickname":"阿蓮","gender":"female","signature":"","vip":"0",
     * "logourl":"http://aliimg.yizhibo.tv/online/user/2c/17/60ec3f44e8a0de9db1d87f1a598[email protected]_100w_90Q_0e_1c"}}}
     * ,{"groupid":0,"title":"易直播小秘書","icon":"http://aliimg.yizhibo.tv/online/message/07/fd/Secretary.png","type":0,"readcnt":86,
     * "unread":0,"total":86,"update_time":"2016-04-01 00:09:28",
     * "lastest_content":{"type":0,"data":{"text":"愚人節來臨之際。心中的小惡魔正在騷動。易直播愚人節無敵大王爭霸集結號也借勢邪惡吹響!
     * 看各大家怎樣大施迷魂陣,鬥誌鬥勇,戎馬而歸。

\u201c愚人大王\u201d、\u201c範二大王\u201d到底花落誰家呢?咱們拭目以待!"}}}]} */ private String retval; private String reterr; /** * count : 2 * groups : [{"groupid":1,"title":"新朋友", * "icon":"http://aliimg.yizhibo.tv/online/message/2f/74/hi.png","type":"1","readcnt":67, * "unread":2,"total":19,"update_time":"2016-04-05 09:11:09", * "lastest_content":{"type":2,"data":{"name":"16837286","nickname":"阿蓮","gender":"female", * "signature":"","vip":"0","logourl":"http://aliimg.yizhibo.tv/online/user/2c/17/60ec3f44e8a0de9db1d87f1a598[email protected]_100w_90Q_0e_1c"}}}, * {"groupid":0,"title":"易直播小秘書","icon":"http://aliimg.yizhibo.tv/online/message/07/fd/Secretary.png", * "type":0,"readcnt":86,"unread":0,"total":86,"update_time":"2016-04-01 00:09:28","lastest_content": * {"type":0,"data":{"text":"愚人節來臨之際,心中的小惡魔正在騷動。易直播愚人節無敵大王爭霸集結號也借勢邪惡吹響!看各大家怎樣大施迷魂陣。鬥誌鬥勇。戎馬而歸。 * \u201c愚人大王\u201d、\u201c範二大王\u201d到底花落誰家呢?咱們拭目以待!"}}}] */ private RetinfoEntity retinfo; public void setRetval(String retval) { this.retval = retval; } public void setReterr(String reterr) { this.reterr = reterr; } public void setRetinfo(RetinfoEntity retinfo) { this.retinfo = retinfo; } public String getRetval() { return retval; } public String getReterr() { return reterr; } public RetinfoEntity getRetinfo() { return retinfo; } public static class RetinfoEntity { private int count; /** * groupid : 1 * title : 新朋友 * icon : http://aliimg.yizhibo.tv/online/message/2f/74/hi.png * type : 1 * readcnt : 67 * unread : 2 * total : 19 * update_time : 2016-04-05 09:11:09 * lastest_content : {"type":2,"data":{"name":"16837286","nickname":"阿蓮","gender":"female","signature":"","vip":"0","logourl":"http://aliimg.yizhibo.tv/online/user/2c/17/60ec3f44e8a0de9db1d87f1a598[email protected]_100w_90Q_0e_1c"}} */ private List<GroupsEntity> groups; public void setCount(int count) { this.count = count; } public void setGroups(List<GroupsEntity> groups) { this.groups = groups; } public int getCount() { return count; } public List<GroupsEntity> getGroups() { return groups; } public static class GroupsEntity { private int groupid; private String title; private String icon; private String type; private int readcnt; private int unread; private int total; private String update_time; /** * type : 2 * data : {"name":"16837286","nickname":"阿蓮","gender":"female","signature":"","vip":"0","logourl":"http://aliimg.yizhibo.tv/online/user/2c/17/60ec3f44e8a0de9db1d87f1a598[email protected]_100w_90Q_0e_1c"} */ private LastestContentEntity lastest_content; public void setGroupid(int groupid) { this.groupid = groupid; } public void setTitle(String title) { this.title = title; } public void setIcon(String icon) { this.icon = icon; } public void setType(String type) { this.type = type; } public void setReadcnt(int readcnt) { this.readcnt = readcnt; } public void setUnread(int unread) { this.unread = unread; } public void setTotal(int total) { this.total = total; } public void setUpdate_time(String update_time) { this.update_time = update_time; } public void setLastest_content(LastestContentEntity lastest_content) { this.lastest_content = lastest_content; } public int getGroupid() { return groupid; } public String getTitle() { return title; } public String getIcon() { return icon; } public String getType() { return type; } public int getReadcnt() { return readcnt; } public int getUnread() { return unread; } public int getTotal() { return total; } public String getUpdate_time() { return update_time; } public LastestContentEntity getLastest_content() { return lastest_content; } public static class LastestContentEntity { private int type; /** * name : 16837286 * nickname : 阿蓮 * gender : female * signature : * vip : 0 * logourl : http://aliimg.yizhibo.tv/online/user/2c/17/60ec3f44e8a0de9db1d87f1a598[email protected]_100w_90Q_0e_1c */ private DataEntity data; public void setType(int type) { this.type = type; } public void setData(DataEntity data) { this.data = data; } public int getType() { return type; } public DataEntity getData() { return data; } public static class DataEntity { private String name; private String nickname; private String gender; private String signature; private String vip; private String logourl; public void setName(String name) { this.name = name; } public void setNickname(String nickname) { this.nickname = nickname; } public void setGender(String gender) { this.gender = gender; } public void setSignature(String signature) { this.signature = signature; } public void setVip(String vip) { this.vip = vip; } public void setLogourl(String logourl) { this.logourl = logourl; } public String getName() { return name; } public String getNickname() { return nickname; } public String getGender() { return gender; } public String getSignature() { return signature; } public String getVip() { return vip; } public String getLogourl() { return logourl; } } } } } } </span>




大概流程就是這樣,希望對大家有所幫助。

歡迎大家增加我的qq 群:454430053






Android studio 插件之 GsonFormat (自己主動生成javabean)