前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android开发实战(十八):Android Studio 优秀插件:GsonFormat                       Android Studio 优秀插件(二): Parce

Android开发实战(十八):Android Studio 优秀插件:GsonFormat                       Android Studio 优秀插件(二): Parce

作者头像
听着music睡
发布2018-06-08 17:40:32
7920
发布2018-06-08 17:40:32
举报
文章被收录于专栏:Android干货Android干货Android干货

Android Studio 优秀插件系列:

Android Studio 优秀插件(一):GsonFormat

Android Studio 优秀插件(二): Parcelable Code Generator

-------------------------------------------------------------------------------------------------------

这几天没有活,于是乎整理了一些代码,顺便把一些一直在使用的东西也整理下,然后学习新的知识。。

-------------------------------------------------------------------------------------------------------

作为一个Android程序猿,当你看到后台给你的json数据格式时:

{
    "id":123,
    "url": "http://img.donever.com/aa/bb.jpg",
    "width":500,
    "height":500,
    "likeCount":1,
    "description":"嘿嘿",
    "time":1234567890,
    "replyCount":0,
    "floorCount":0,
    "likeUserCount":5,
    "age":14,
    "name":"jack",
    "school":"beijing",
    "type":1,    
    "sax":"boy",
    "userid":1223
}

是不是要默默的创建一个类,然后一个个变量的private 一下,然后get()+set()?

如果一个json数据提供的属性20+条或者30+条呢,一个个属性去写,还要保证字母不写错,大小写也没错,是不是既浪费时间又浪费精力,那么就试试使用GsonFormat插件吧

现在学习下如何使用这个插件:

1、Android Studio 打开一个项目,点击左上角 File -->Settings... 进行设置

2、选择插件Plugins , 搜索GsonFormat ,如果你没有下载过这个插件,那么搜索框下面会显示“Nothing to show.Click Browse to....”

3、那就点击蓝色字体的 Browse 吧  ,这个时候会出现如下图的界面,我们只需要在左边选中GsonFormat 然后点击右面 绿色按钮 "Install plugin" 就可以了

4、完成了上面三个步骤,就可以使用GsonFormat插件了

怎么用呢,

(1)创建一个类文件,类名是看你需求自定义写的

(2)快捷键 alt+insert ,会出现如下选择框

(3)我们点击第一个选项,GsonFormat,就会出现一个新的框,

然后只需要将服务器给你的json数据的 格式复制进去 ,如下所示,点击Ok就可以了(注意json格式不要出错,比如不要少了每个属性后面的逗号)

(4)最后一步,出现这么一个框,这里你可以进行相应的编辑,比如吧一个属性的类型改变,或者 去掉属性前面的蓝底白勾,让类不具有某个属性

效果类:

  1 public class People {
  2 
  3     /**
  4      * id : 123
  5      * url : http://img.donever.com/aa/bb.jpg
  6      * width : 500
  7      * height : 500
  8      * likeCount : 1
  9      * description : 嘿嘿
 10      * time : 1234567890
 11      * replyCount : 0
 12      * floorCount : 0
 13      * likeUserCount : 5
 14      * age : 14
 15      * name : jack
 16      * school : beijing
 17      * type : 1
 18      * sax : boy
 19      * userid : 1223
 20      */
 21 
 22     private int id;
 23     private String url;
 24     private int width;
 25     private int height;
 26     private int likeCount;
 27     private String description;
 28     private int time;
 29     private int replyCount;
 30     private int floorCount;
 31     private int likeUserCount;
 32     private int age;
 33     private String name;
 34     private String school;
 35     private int type;
 36     private String sax;
 37     private int userid;
 38 
 39     public static People objectFromData(String str) {
 40         Gson gson = new Gson();
 41 
 42         return new com.google.gson.Gson().fromJson(str, People.class);
 43     }
 44 
 45     public void setId(int id) {
 46         this.id = id;
 47     }
 48 
 49     public void setUrl(String url) {
 50         this.url = url;
 51     }
 52 
 53     public void setWidth(int width) {
 54         this.width = width;
 55     }
 56 
 57     public void setHeight(int height) {
 58         this.height = height;
 59     }
 60 
 61     public void setLikeCount(int likeCount) {
 62         this.likeCount = likeCount;
 63     }
 64 
 65     public void setDescription(String description) {
 66         this.description = description;
 67     }
 68 
 69     public void setTime(int time) {
 70         this.time = time;
 71     }
 72 
 73     public void setReplyCount(int replyCount) {
 74         this.replyCount = replyCount;
 75     }
 76 
 77     public void setFloorCount(int floorCount) {
 78         this.floorCount = floorCount;
 79     }
 80 
 81     public void setLikeUserCount(int likeUserCount) {
 82         this.likeUserCount = likeUserCount;
 83     }
 84 
 85     public void setAge(int age) {
 86         this.age = age;
 87     }
 88 
 89     public void setName(String name) {
 90         this.name = name;
 91     }
 92 
 93     public void setSchool(String school) {
 94         this.school = school;
 95     }
 96 
 97     public void setType(int type) {
 98         this.type = type;
 99     }
100 
101     public void setSax(String sax) {
102         this.sax = sax;
103     }
104 
105     public void setUserid(int userid) {
106         this.userid = userid;
107     }
108 
109     public int getId() {
110         return id;
111     }
112 
113     public String getUrl() {
114         return url;
115     }
116 
117     public int getWidth() {
118         return width;
119     }
120 
121     public int getHeight() {
122         return height;
123     }
124 
125     public int getLikeCount() {
126         return likeCount;
127     }
128 
129     public String getDescription() {
130         return description;
131     }
132 
133     public int getTime() {
134         return time;
135     }
136 
137     public int getReplyCount() {
138         return replyCount;
139     }
140 
141     public int getFloorCount() {
142         return floorCount;
143     }
144 
145     public int getLikeUserCount() {
146         return likeUserCount;
147     }
148 
149     public int getAge() {
150         return age;
151     }
152 
153     public String getName() {
154         return name;
155     }
156 
157     public String getSchool() {
158         return school;
159     }
160 
161     public int getType() {
162         return type;
163     }
164 
165     public String getSax() {
166         return sax;
167     }
168 
169     public int getUserid() {
170         return userid;
171     }
172 }

 如果要使用Gson解析的话 ,即 通过Json字符串直接获取对应的类对象

public static People objectFromData(String str) {
        Gson gson = new Gson();
        return gson.fromJson(str, People.class);
    }

记得在build.gradle 中加上

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Android Studio 优秀插件(二): Parcelable Code Generator
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档