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

历览千载书,时时见遗烈。这篇文章主要讲述Android开发实战(十八):Android Studio 优秀插件:GsonFormat相关的知识,希望能为你提供帮助。
原文:Android开发实战(十八):Android Studio 优秀插件:GsonFormatandroid Studio 优秀插件系列:
                        Android Studio 优秀插件(一):GsonFormat
 
-------------------------------------------------------------------------------------------------------
这几天没有活,于是乎整理了一些代码,顺便把一些一直在使用的东西也整理下,然后学习新的知识。。
-------------------------------------------------------------------------------------------------------
作为一个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... 进行设置
Android开发实战(十八)(Android Studio 优秀插件:GsonFormat)

文章图片

 
2、选择插件Plugins , 搜索GsonFormat ,如果你没有下载过这个插件,那么搜索框下面会显示“ Nothing to show.Click Browse to....”
Android开发实战(十八)(Android Studio 优秀插件:GsonFormat)

文章图片

 
【Android开发实战(十八)(Android Studio 优秀插件:GsonFormat)】3、那就点击蓝色字体的 Browse 吧   ,这个时候会出现如下图的界面,我们只需要在左边选中GsonFormat 然后点击右面 绿色按钮 "Install plugin" 就可以了
Android开发实战(十八)(Android Studio 优秀插件:GsonFormat)

文章图片

 
4、完成了上面三个步骤,就可以使用GsonFormat插件了
怎么用呢,
(1)创建一个类文件,类名是看你需求自定义写的
(2)快捷键 alt+insert ,会出现如下选择框
Android开发实战(十八)(Android Studio 优秀插件:GsonFormat)

文章图片

(3)我们点击第一个选项,GsonFormat,就会出现一个新的框,
然后只需要将服务器给你的json数据的 格式复制进去 ,如下所示,点击Ok就可以了(注意json格式不要出错,比如不要少了每个属性后面的逗号)
Android开发实战(十八)(Android Studio 优秀插件:GsonFormat)

文章图片

 
(4)最后一步,出现这么一个框,这里你可以进行相应的编辑,比如吧一个属性的类型改变,或者 去掉属性前面的蓝底白勾,让类不具有某个属性
Android开发实战(十八)(Android Studio 优秀插件:GsonFormat)

文章图片

 
效果类:
Android开发实战(十八)(Android Studio 优秀插件:GsonFormat)

文章图片
Android开发实战(十八)(Android Studio 优秀插件:GsonFormat)

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

People  如果要使用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‘

 


    推荐阅读