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的更多相关文章

  1. Android开发(十八)——头部、中部、底部布局技巧

    头部.中部.尾部布局涉及到布局内容自适应,总结两个技巧: 第一种相对布局: <?xml version="1.0" encoding="utf-8"?&g ...

  2. Android项目实战(十九):Android Studio 优秀插件: Parcelable Code Generator

    Android Studio 优秀插件系列: Android Studio 优秀插件(一):GsonFormat Android Studio 优秀插件(二): Parcelable Code Gen ...

  3. Visual Studio跨平台开发实战(5) - Xamarin Android多页面应用程式开发

    原文 Visual Studio跨平台开发实战(5) - Xamarin Android多页面应用程式开发 前言 大部份的Andr​​oid 都具有实体或虚拟的Back键. 因此在处理多页面应用程式时 ...

  4. Visual Studio跨平台开发实战(4) - Xamarin Android基本控制项介绍

    原文 Visual Studio跨平台开发实战(4) - Xamarin Android基本控制项介绍 前言 不同于iOS,Xamarin 在Visual Studio中针对Android,可以直接设 ...

  5. Android为TV端助力 转载:Android绘图Canvas十八般武器之Shader详解及实战篇(上)

    前言 Android中绘图离不开的就是Canvas了,Canvas是一个庞大的知识体系,有Java层的,也有jni层深入到Framework.Canvas有许多的知识内容,构建了一个武器库一般,所谓十 ...

  6. Android为TV端助力 转载:Android绘图Canvas十八般武器之Shader详解及实战篇(下)

    LinearGradient 线性渐变渲染器 LinearGradient中文翻译过来就是线性渐变的意思.线性渐变通俗来讲就是给起点设置一个颜色值如#faf84d,终点设置一个颜色值如#CC423C, ...

  7. Xamarin Android开发实战(上册)大学霸内部资料

    Xamarin Android开发实战(上册)大学霸内部资料   试读文档下载地址:http://pan.baidu.com/s/1jGEHhhO 密码:vcfm 介绍: 本教程是国内唯一的Xamar ...

  8. 我的 Android 开发实战经验总结

    我的 Android 开发实战经验总结 字数4440 阅读5137 评论43 喜欢250 曾经一直想写一篇总结 Android 开发经验的文章,预计当时的我还达不到某种水平,所以思路跟不上,下笔又捉襟 ...

  9. Android开发工具全面转向Android Studio(3)——AS project/module的目录结构(与Eclipse对比)

    如果AS完全还没摸懂的,建议先看下Android开发工具全面转向Android Studio(2)——AS project/module的CRUD. 注:以下以Windows平台为标准,AS以目前最新 ...

随机推荐

  1. Azure China (6) SAP 应用在华登陆 Windows Azure 公有云

    <Windows Azure Platform 系列文章目录>     2014年07月11日 由世纪互联运营的 Windows Azure 为 SAP 应用提供公有云平台 2014 年 ...

  2. Windows Azure Traffic Manager (6) 使用Traffic Manager,实现本地应用+云端应用的高可用

    <Windows Azure Platform 系列文章目录> 注意:本文介绍的是使用国内由世纪互联运维的Azure China服务. 以前的Traffic Manager,背后的Serv ...

  3. java中String的相等比较

    首先贴出测试用例: package test; import org.junit.Test; /** * Created by Administrator on 2015/9/16. * */ pub ...

  4. VS2008 C++ 调用MATLAB 2009b 生成的DLL .

    转载: 刚开始学习用VC++调用matlab生成的DLL,找了网上一些资料,难以找到vs2008与MATLAB2009b版本的,按照以往版本做的总是有很多错误.经过两天努力,终于调试成功,这里将经验总 ...

  5. JavaScript资源大全

    目录 前端MVC 框架和库 包管理器 加载器 打包工具 测试框架 框架 断言 覆盖率 运行器 QA 工具 基于 Node 的 CMS 框架 模板引擎 数据可视化 编辑器 UI 输入 日历 选择 文件上 ...

  6. Python科学计算包模块的安装(ubuntu)

    Python的科学计算包设计到C语言代码的编译,采用pip的方式安装会出现错误. 一种简单的方式是采用的集成包,具体的步骤参考:https://www.continuum.io/downloads#_ ...

  7. git clone 失败问题解决方案

    第一次从github上通过终端pull项目,出现了上述问题.询问了后台,才知道原来是电脑公钥(publickey)未添加至github,所以无法识别. 因而需要获取本地电脑公钥,然后登录github账 ...

  8. 【转】jQuery中.bind() .live() .delegate() .on()的区别

    bind(type,[data],fn) 为每个匹配元素的特定事件绑定事件处理函数 $("a").bind("click",function(){alert(& ...

  9. 在Gridview如何进行每行单元格比较

    有在论坛上看到一个问题,就是在Gridview控件中,需要对几个列的数值进行比较,原问题如下: 先在数据库中准备数据: CREATE TABLE [dbo].[RecordTime] ( Id ,) ...

  10. Pydev Debugger not working with breakpoints

    I have a simple test module: print("fish")print("sticks")It runs pretty fast as ...