Android开发实战(十八):Android Studio 优秀插件:GsonFormat
Android Studio 优秀插件系列:
Android Studio 优秀插件(一):GsonFormat
Android Studio 优秀插件(二): Parcelable Code Generator
-------------------------------------------------------------------------------------------------------
这几天没有活,于是乎整理了一些代码,顺便把一些一直在使用的东西也整理下,然后学习新的知识。。
-------------------------------------------------------------------------------------------------------
作为一个Android程序猿,当你看到后台给你的json数据格式时:
{
"id":,
"url": "http://img.donever.com/aa/bb.jpg",
"width":,
"height":,
"likeCount":,
"description":"嘿嘿",
"time":,
"replyCount":,
"floorCount":,
"likeUserCount":,
"age":,
"name":"jack",
"school":"beijing",
"type":,
"sax":"boy",
"userid":
}
是不是要默默的创建一个类,然后一个个变量的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)最后一步,出现这么一个框,这里你可以进行相应的编辑,比如吧一个属性的类型改变,或者 去掉属性前面的蓝底白勾,让类不具有某个属性
效果类:
public class People { /**
* 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 int id;
private String url;
private int width;
private int height;
private int likeCount;
private String description;
private int time;
private int replyCount;
private int floorCount;
private int likeUserCount;
private int age;
private String name;
private String school;
private int type;
private String sax;
private int userid; public static People objectFromData(String str) {
Gson gson = new Gson(); return new com.google.gson.Gson().fromJson(str, People.class);
} public void setId(int id) {
this.id = id;
} public void setUrl(String url) {
this.url = url;
} public void setWidth(int width) {
this.width = width;
} public void setHeight(int height) {
this.height = height;
} public void setLikeCount(int likeCount) {
this.likeCount = likeCount;
} public void setDescription(String description) {
this.description = description;
} public void setTime(int time) {
this.time = time;
} public void setReplyCount(int replyCount) {
this.replyCount = replyCount;
} public void setFloorCount(int floorCount) {
this.floorCount = floorCount;
} public void setLikeUserCount(int likeUserCount) {
this.likeUserCount = likeUserCount;
} public void setAge(int age) {
this.age = age;
} public void setName(String name) {
this.name = name;
} public void setSchool(String school) {
this.school = school;
} public void setType(int type) {
this.type = type;
} public void setSax(String sax) {
this.sax = sax;
} public void setUserid(int userid) {
this.userid = userid;
} public int getId() {
return id;
} public String getUrl() {
return url;
} public int getWidth() {
return width;
} public int getHeight() {
return height;
} public int getLikeCount() {
return likeCount;
} public String getDescription() {
return description;
} public int getTime() {
return time;
} public int getReplyCount() {
return replyCount;
} public int getFloorCount() {
return floorCount;
} public int getLikeUserCount() {
return likeUserCount;
} public int getAge() {
return age;
} public String getName() {
return name;
} public String getSchool() {
return school;
} public int getType() {
return type;
} public String getSax() {
return sax;
} public int getUserid() {
return userid;
}
}
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'
Android开发实战(十八):Android Studio 优秀插件:GsonFormat的更多相关文章
- Android开发(十八)——头部、中部、底部布局技巧
头部.中部.尾部布局涉及到布局内容自适应,总结两个技巧: 第一种相对布局: <?xml version="1.0" encoding="utf-8"?&g ...
- Android项目实战(十九):Android Studio 优秀插件: Parcelable Code Generator
Android Studio 优秀插件系列: Android Studio 优秀插件(一):GsonFormat Android Studio 优秀插件(二): Parcelable Code Gen ...
- Visual Studio跨平台开发实战(5) - Xamarin Android多页面应用程式开发
原文 Visual Studio跨平台开发实战(5) - Xamarin Android多页面应用程式开发 前言 大部份的Android 都具有实体或虚拟的Back键. 因此在处理多页面应用程式时 ...
- Visual Studio跨平台开发实战(4) - Xamarin Android基本控制项介绍
原文 Visual Studio跨平台开发实战(4) - Xamarin Android基本控制项介绍 前言 不同于iOS,Xamarin 在Visual Studio中针对Android,可以直接设 ...
- Android为TV端助力 转载:Android绘图Canvas十八般武器之Shader详解及实战篇(上)
前言 Android中绘图离不开的就是Canvas了,Canvas是一个庞大的知识体系,有Java层的,也有jni层深入到Framework.Canvas有许多的知识内容,构建了一个武器库一般,所谓十 ...
- Android为TV端助力 转载:Android绘图Canvas十八般武器之Shader详解及实战篇(下)
LinearGradient 线性渐变渲染器 LinearGradient中文翻译过来就是线性渐变的意思.线性渐变通俗来讲就是给起点设置一个颜色值如#faf84d,终点设置一个颜色值如#CC423C, ...
- Xamarin Android开发实战(上册)大学霸内部资料
Xamarin Android开发实战(上册)大学霸内部资料 试读文档下载地址:http://pan.baidu.com/s/1jGEHhhO 密码:vcfm 介绍: 本教程是国内唯一的Xamar ...
- 我的 Android 开发实战经验总结
我的 Android 开发实战经验总结 字数4440 阅读5137 评论43 喜欢250 曾经一直想写一篇总结 Android 开发经验的文章,预计当时的我还达不到某种水平,所以思路跟不上,下笔又捉襟 ...
- Android开发工具全面转向Android Studio(3)——AS project/module的目录结构(与Eclipse对比)
如果AS完全还没摸懂的,建议先看下Android开发工具全面转向Android Studio(2)——AS project/module的CRUD. 注:以下以Windows平台为标准,AS以目前最新 ...
随机推荐
- maven引入json-lib的正确方法
<dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</art ...
- Elasticsearch聚合 之 DateRange日期范围聚合
相比于range聚合,date range就是范围可以由时间来指定. 例如: { "aggs":{ "range":{ "date_range&quo ...
- C# 控制台或者winform程序开启http的监听状态
1 public class THttpListener { HttpListener listerner; /// <summary> /// /// </summary> ...
- RichTextBoxEx2
using System;using System.Collections.Specialized;using System.Drawing;using System.Drawing.Imaging; ...
- web前端学习笔记---scrollWidth,clientWidth,offsetWidth的区别
通过一个demo测试这三个属性的差别. 说明: scrollWidth:对象的实际内容的宽度,不包边线宽度,会随对象中内容超过可视区后而变大. clientWidth:对象内容的可视区的宽度,不包滚动 ...
- ASP.NET MVC程序播放H.264视频
在这篇之前,Insus.NET不管是在ASP.NET还是ASP.NET MVC实现很多视频播放,你可以参考这篇链接:http://www.cnblogs.com/insus/category/4650 ...
- TreeView使用
1.添加节点,实现拖拽功能 private void Form1_Load(object sender, EventArgs e) { TreeNode node1 = new TreeNode(); ...
- LeetCode121:Best Time to Buy and Sell Stock
题目: Say you have an array for which the ith element is the price of a given stock on day i. If you w ...
- MySQL远程登录设置
可以在一台机器上访问另一台机器的MySQL,但是需要一些设置. 进入MySQL后,输入以下命令: GRANT ALL PRIVILEGES ON *.* TO 'tigase'@'%' IDENTIF ...
- Java ConcurrentModificationException异常原因和解决方法
Java ConcurrentModificationException异常原因和解决方法 在前面一篇文章中提到,对Vector.ArrayList在迭代的时候如果同时对其进行修改就会抛出java.u ...