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

概述

相信大家在做开发的过程中都写过很多的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字符串

<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/[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/[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/[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/[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/[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

时间: 2024-10-09 04:01:32

Android studio 插件之 GsonFormat (自动生成javabean)的相关文章

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

概述 相信大家在做开发的过程中都写过非常多的javabean ,非常多情况下 都是一个列表数据就是一个单独的javabean.假设大家自己敲的话费时费力 还非常easy敲错. 今天给大家推荐一个插件 GsonFormat  这个插件就是能够让我们直接将服务端返回的json转化为实体类.Android studio和idea都有, eclipse我没有试过. 大家能够找找有没有. 操作步骤 第一步  下载插件 下载插件的过程我前面有一篇博客已经有具体步骤 Android Studio插件之sexy

Android -------- kotlin插件神器Json直接生成javaBean

这是一个data class从JSON字符串生成Kotlin 的插件,换句话说,是一个将JSON字符串转换为Kotlin data class(Json到Kotlin)的插件 在使用Kotlin进行开发的时候,我们需要经常对Json数据做解析和处理, Java开发的时候有GsonFormat插件,在Kotlin的开发环境中肯定也不能少了这个插件. 对于Kotlin开发人员来说,这是一个非常酷的工具,它可以将JSON字符串转换为Kotlin data class.该工具不仅可以识别基元类型,还可以

最完整Android Studio插件整理 (转)

转自:http://blog.csdn.net/alpha58/article/details/62881144 现在Android的开发者基本上都使用android Studio进行开发(如果你还在使用eclipse那也行,毕竟你乐意怎么样都行).使用好Android Studio插件能大量的减少我们的工作量. 1.GsonFormat 快速将json字符串转换成一个JavaBean,免去我们根据json字符串手写对应javaBean的过程. 使用方法:快捷键Alt+S也可以使用Alt+Ins

Android Studio 插件整理

1.GsonFormat 快速将json字符串转换成一个Java Bean,免去我们根据json字符串手写对应Java Bean的过程. 使用方法:快捷键Alt+S也可以使用Alt+Insert选择GsonFormat 2.Android ButterKnife Zelezny 配合ButterKnife实现注解,从此不用写findViewById,想着就爽啊.在Activity,Fragment,Adapter中选中布局xml的资源id自动生成butterknife注解. 使用方法:Ctrl+

Android Studio插件整理

现在Android的开发者基本上都使用Android Studio进行开发(如果你还在使用eclipse那也行,毕竟你乐意怎么样都行).使用好Android Studio插件能大量的减少我们的工作量. 1.GsonFormat 快速将json字符串转换成一个Java Bean,免去我们根据json字符串手写对应Java Bean的过程. 使用方法:快捷键Alt+S也可以使用Alt+Insert选择GsonFormat 2.Android ButterKnife Zelezny 配合ButterK

推荐几个好用的Android Studio插件

在用Android Studio工具开发中,本人用的最爽的就是代码生成的插件,帮助我们自动完成大量重复简单的工作.个人也觉得代码自动生成工具是最值得推荐的.因此下面的插件以代码生成的插件为主. 1. Android ButterKnife Zelezny 在Activity,Fragment,Adapter中选中布局xml的资源id自动生成butterknife注解. 2. GsonFormat 快速将json字符串转换成一个Java Bean,免去我们根据json字符串手写对应Java Bea

学会编写Android Studio插件 别停留在用的程度了

本文为原创,授权公众号:hongyangAndroid独家代理原创发布. 转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/51548272: 本文出自:[张鸿洋的博客] 一.概述 相信大家在使用Android Studio的时候,或多或少的会使用一些插件,适当的配合插件可以帮助我们提升一定的开发效率,更加快乐.例如: https://github.com/zzz40500/GsonFormat 可以帮助我们从Gson转化为实体

推荐几款实用的Android Studio 插件

推荐几款实用的Android Studio 插件 泡在网上的日子 发表于 2015-10-09 10:47 第 17453 次阅读 插件,Android Studio 10 编辑推荐:稀土掘金,这是一个针对技术开发者的一个应用,你可以在掘金上获取最新最优质的技术干货,不仅仅是Android知识.前端.后端以至于产品和设计都有涉猎,想成为全栈工程师的朋友不要错过! 原文出处:http://www.jianshu.com/p/6f5f818afe4b 1.android-butterknife-ze

优秀的 Android Studio 插件

转自:http://www.codeceo.com/article/8-android-studio-plugins.html Android Studio是目前Google官方设计的用于原生Android应用程序开发的IDE.基于JetBrains的IntelliJ IDEA,这是Google I/O 2013第一个宣布的作为Eclipse的继承者,深受广大Android社区的欢迎.在经过漫长的测试阶段后,最终版本于去年12月发布. Android Studio是一个功能全面的开发环境,装备了