Android 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... 进行设置
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'