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

简介: 原文:Android开发实战(十八):Android Studio 优秀插件:GsonFormatAndroid Studio 优秀插件系列:                       Android Studio 优秀插件(一):GsonFormat                    ...
原文: 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'

 

目录
相关文章
|
5天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
24 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
27天前
|
Java Android开发
Android 开发获取通知栏权限时会出现两个应用图标
Android 开发获取通知栏权限时会出现两个应用图标
14 0
|
1天前
|
数据库 Android开发 开发者
安卓应用开发:构建高效用户界面的策略
【4月更文挑战第24天】 在竞争激烈的移动应用市场中,一个流畅且响应迅速的用户界面(UI)是吸引和保留用户的关键。针对安卓平台,开发者面临着多样化的设备和系统版本,这增加了构建高效UI的复杂性。本文将深入分析安卓平台上构建高效用户界面的最佳实践,包括布局优化、资源管理和绘制性能的考量,旨在为开发者提供实用的技术指南,帮助他们创建更流畅的用户体验。
|
18天前
|
XML 开发工具 Android开发
构建高效的安卓应用:使用Jetpack Compose优化UI开发
【4月更文挑战第7天】 随着Android开发不断进化,开发者面临着提高应用性能与简化UI构建流程的双重挑战。本文将探讨如何使用Jetpack Compose这一现代UI工具包来优化安卓应用的开发流程,并提升用户界面的流畅性与一致性。通过介绍Jetpack Compose的核心概念、与传统方法的区别以及实际集成步骤,我们旨在提供一种高效且可靠的解决方案,以帮助开发者构建响应迅速且用户体验优良的安卓应用。
|
21天前
|
监控 算法 Android开发
安卓应用开发:打造高效启动流程
【4月更文挑战第5天】 在移动应用的世界中,用户的第一印象至关重要。特别是对于安卓应用而言,启动时间是用户体验的关键指标之一。本文将深入探讨如何优化安卓应用的启动流程,从而减少启动时间,提升用户满意度。我们将从分析应用启动流程的各个阶段入手,提出一系列实用的技术策略,包括代码层面的优化、资源加载的管理以及异步初始化等,帮助开发者构建快速响应的安卓应用。
|
21天前
|
Java Android开发
Android开发之使用OpenGL实现翻书动画
本文讲述了如何使用OpenGL实现更平滑、逼真的电子书翻页动画,以解决传统贝塞尔曲线方法存在的卡顿和阴影问题。作者分享了一个改造后的外国代码示例,提供了从前往后和从后往前的翻页效果动图。文章附带了`GlTurnActivity`的Java代码片段,展示如何加载和显示书籍图片。完整工程代码可在作者的GitHub找到:https://github.com/aqi00/note/tree/master/ExmOpenGL。
23 1
Android开发之使用OpenGL实现翻书动画
|
21天前
|
Android开发 开发者
Android开发之OpenGL的画笔工具GL10
这篇文章简述了OpenGL通过GL10进行三维图形绘制,强调颜色取值范围为0.0到1.0,背景和画笔颜色设置方法;介绍了三维坐标系及与之相关的旋转、平移和缩放操作;最后探讨了坐标矩阵变换,包括设置绘图区域、调整镜头参数和改变观测方位。示例代码展示了如何使用这些方法创建简单的三维立方体。
18 1
Android开发之OpenGL的画笔工具GL10
|
27天前
|
Android开发
Android开发小技巧:怎样在 textview 前面加上一个小图标。
Android开发小技巧:怎样在 textview 前面加上一个小图标。
12 0
|
27天前
|
Java Android开发
Android Studio的使用导入第三方Jar包
Android Studio的使用导入第三方Jar包
12 1
|
28天前
|
Android开发
Android 开发 pickerview 自定义选择器
Android 开发 pickerview 自定义选择器
12 0