你的位置:首页 > 操作系统

[操作系统]Android Studio 优秀插件(一):GsonFormat


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 }

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'