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

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

概述

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


今天给大家推荐一个插件 GsonFormat  这个插件就是可以让我们直接将服务端返回的json转化为实体类,Android studio和idea都有, eclipse我没有试过。大家可以找找有没有。


操作步骤

第一步  下载插件

下载插件的过程我前面有一篇博客已经有详细步骤  Android Studio插件之sexy editor(设置AS背景) 大家 只需要将那篇博客中介绍的插件名称换成GsonFormat


按照那个步骤下载好 插件。记得下载安装好后要重启哦。


第二步  自动生成bean

下面我们介绍怎么通过这个插件将服务端返回的json自动生成javabean


首先  我们要建一个空的java类,然后 在空白出点击鼠标右键  选择 Generate... 如果你已经成功安装好插件会弹出下面这个框

image.png

选择GsonFormat会弹出下面这个框

image.png

将服务端接返回的json 粘贴到这个里面 点击ok

image.png

粘贴完成后 点击ok会弹出如下图所示的选择 字段界面

image.png

这个界面是让你自己选择 保留哪些字段,可能有的字段不需要 就把前面的对勾去掉就可以了。最后点击ok,大功告成。

贴上json字符串和自动生成出的bean代码.

json字符串

{"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

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


相关文章
|
3月前
|
Java Android开发 C++
Android Studio JNI 使用模板:c/cpp源文件的集成编译,快速上手
本文提供了一个Android Studio中JNI使用的模板,包括创建C/C++源文件、编辑CMakeLists.txt、编写JNI接口代码、配置build.gradle以及编译生成.so库的详细步骤,以帮助开发者快速上手Android平台的JNI开发和编译过程。
232 1
|
1月前
|
Java Unix Linux
Android Studio中Terminal运行./gradlew clean build提示错误信息
遇到 `./gradlew clean build`命令执行出错时,首先应检查错误信息的具体内容,这通常会指向问题的根源。从权限、环境配置、依赖下载、版本兼容性到项目配置本身,逐一排查并应用相应的解决措施。记住,保持耐心,逐步解决问题,往往复杂问题都是由简单原因引起的。
209 2
|
19天前
|
Android开发
我是一位Android工程师,用通义灵码的AS插件做开发工作助手,对比之前没有灵码,现在提效了60%
我是一位Android工程师,用通义灵码的AS插件做开发工作助手,对比之前没有灵码,现在提效了60%
31 0
|
2月前
|
XML IDE 开发工具
🔧Android Studio高级技巧大公开!效率翻倍,编码不再枯燥无味!🛠️
【9月更文挑战第11天】在软件开发领域,Android Studio凭借其强大的功能成为Android开发者的首选IDE。本文将揭示一些提升开发效率的高级技巧,包括自定义代码模板、重构工具、高级调试技巧及多模块架构。通过对比传统方法,这些技巧不仅能简化编码流程,还能显著提高生产力。例如,自定义模板可一键插入常用代码块;重构工具能智能分析并安全执行代码更改;高级调试技巧如条件断点有助于快速定位问题;多模块架构则提升了大型项目的可维护性和团队协作效率。掌握这些技巧,将使你的开发之旅更加高效与愉悦。
63 5
|
3月前
|
编解码 Android开发
【Android Studio】使用UI工具绘制,ConstraintLayout 限制性布局,快速上手
本文介绍了Android Studio中使用ConstraintLayout布局的方法,通过创建布局文件、设置控件约束等步骤,快速上手UI设计,并提供了一个TV Launcher界面布局的绘制示例。
55 1
|
3月前
|
Android开发
Android Studio: 解决Gradle sync failed 错误
本文介绍了解决Android Studio中出现的Gradle同步失败错误的步骤,包括从`gradle-wrapper.properties`文件中获取Gradle的下载链接,手动下载Gradle压缩包,并替换默认下载路径中的临时文件,然后重新触发Android Studio的"Try Again"来完成同步。
1270 0
Android Studio: 解决Gradle sync failed 错误
|
3月前
|
Java Android开发 芯片
使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题
本文介绍了如何将基于全志H713芯片的AOSP Android源码导入Android Studio以解决编译和编码问题,通过操作步骤的详细说明,展示了在Android Studio中利用代码提示和补全功能快速定位并修复编译错误的方法。
123 0
使用Android Studio导入Android源码:基于全志H713 AOSP,方便解决编译、编码问题
|
3月前
|
API 开发工具 Android开发
Android Studio:解决AOSP自编译framework.jar引用不到的问题
在Android Studio中解决AOSP自编译framework.jar引用问题的几种方法,包括使用相对路径、绝对路径和通过`${project.rootDir}`动态获取路径的方法,以避免硬编码路径带来的配置问题。
205 0
Android Studio:解决AOSP自编译framework.jar引用不到的问题
|
3月前
|
Java 开发工具 Android开发
Android Studio利用Build.gradle导入Git commit ID、Git Branch、User等版本信息
本文介绍了在Android Studio项目中通过修改`build.gradle`脚本来自动获取并添加Git的commit ID、branch名称和用户信息到BuildConfig类中,从而实现在编译时将这些版本信息加入到APK中的方法。
68 0
|
3月前
|
IDE API 开发工具
与Android Gradle Plugin对应的Gradle版本和Android Studio版本
与Android Gradle Plugin对应的Gradle版本和Android Studio版本
388 0