zoukankan      html  css  js  c++  java
  • 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 Quad
    将OrCAD Capture CIS的设计文件(.dsn)导入到PADS Logic VX.2.3
    OrCAD Capture CIS 16.6 将版本16.6的设计文件另存为版本16.2的设计文件
    Eclipse IDE 添加jar包到Java工程中
    PADS Logic VX.2.3 修改软件界面语言
    切换Allegro PCB Editor
    Allegro PCB Design GXL (legacy) 将brd文件另存为低版本文件
    Allegro PCB Design GXL (legacy) 设置自动保存brd文件
    Could not create an acl object: Role '16'
    windows 下apache开启FastCGI
  • 原文地址:https://www.cnblogs.com/xqxacm/p/5242434.html
Copyright © 2011-2022 走看看