• Android开发实战(十八):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'
  • 相关阅读:
    The bean 'xxx' could not be injected as a 'xxx'because it is a JDK dynamic proxy that implements
    JQuery对象选择详细说明
    C#将image中的显示的图片转换成二进制
    选择一个图片文件,并且用PictureBox表示在Form上
    Android推送方案分析(MQTT/XMPP/GCM)
    [转载]什么是 Design Hackathon?
    脚本启动MySql服务
    Mysql数据库插入数据乱码问题,解决方案!
    MySQL自动备份脚本
    读取Excel模板,写入数据,并别输出另存为Excel文件
  • 原文地址:https://www.cnblogs.com/xqxacm/p/5242434.html
Copyright © 2020-2023  润新知