前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android studio 插件之 GsonFormat (自动生成javabean)

Android studio 插件之 GsonFormat (自动生成javabean)

作者头像
再见孙悟空_
发布2023-02-10 21:22:25
6190
发布2023-02-10 21:22:25
举报

概述

相信大家在做开发的过程中都写过很多的javabean ,很多情况下 都是一个列表数据就是一个单独的javabean,如果大家自己敲的话费时费力 还很容易敲错。

今天给大家推荐一个插件 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字符串

代码语言:javascript
复制
{"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\/60ec3f44e8a0de9db1d87f1a59875ce1.jpg@100h_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"}}}]}}

生成的bean

代码语言:javascript
复制
<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/60ec3f44e8a0de9db1d87f1a59875ce1.jpg@100h_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/60ec3f44e8a0de9db1d87f1a59875ce1.jpg@100h_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/60ec3f44e8a0de9db1d87f1a59875ce1.jpg@100h_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/60ec3f44e8a0de9db1d87f1a59875ce1.jpg@100h_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/60ec3f44e8a0de9db1d87f1a59875ce1.jpg@100h_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>

?大概流程就是这样,希望对大家有所帮助。

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-04-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 操作步骤
    • 第一步 ?下载插件
      • 第二步 ?自动生成bean
      相关产品与服务
      云直播
      云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
      http://www.vxiaotou.com