自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

無名小子的杂货铺

天道酬勤,用思考,用代码代码改变生活-我就是我

  • 博客(44)
  • 资源 (1)
  • 收藏
  • 关注

翻译 Practical Gson — 如何解析多态对象

当我们接受收一个 JSON 列表数据时,正常来说我们使用 Gson 就可以帮我们解析,但是如果我们要解析成的对象是多态的,并且需要解析子类特定的字段,前面的解决方案只能应对一个 Java model 解析,

2016-12-08 09:53:36 2025 1

翻译 Gson Advanced — 通过 @JsonAdapter 自定义(反)序列化过程

之前几篇文章我们介绍了如何使用 Gson 来自定义(反)序列化和自定义实例创建。使用这些都需要依赖 GsonBuilder 的创建过程,还是有些复杂的,在 Gson 2.7 以后引入一个注解来有效的减少代码即 @

2016-12-08 09:52:18 4986

翻译 Gson - Java-JSON 序列化和反序列化入门

今天开始学习 Google 的 Gson 库,Gson 是一个非常强大的库,可以将 JSON 格式的数据转化成 Java 对象,也支持将 Java 对象转成 JSON 数据格式。

2016-12-08 09:51:39 557

翻译 Gson Advanced — 自定义对象实例创建

之前几篇文章我们介绍了如何使用 Gson 来自定义(反)序列化,目的是减少 JSON 以及优化传递。本文将介绍如何自定义反序列化实例创建。有一种情况是,客户端的 Model 中包含了一种特殊类型的变量,这就##需要我们在反序列中进行创建。Gson 对象实例创

2016-12-07 18:35:04 873

翻译 Gson Advanced — 自定义反序列化基础

本文将介绍使用 Gson 自定义反序列化基础,我们很多情况是客户端不需要完全匹配服务端返回的 JSON 数据。自定义反序列化应用中很常见 Server 端返回数据并不是我们想要的结构,这种情况就需要我们自定义解析器,使用原始的 JSON 数据

2016-12-07 18:34:40 682

翻译 Gson Advanced — 简单自定义序列化 (Part 1)

本文将实现一个自定义的 Gson serialization 过程,有些情况我们可能会考虑到自定义,例如:和 server 通信时,有时候不需要传递一个完成 JSON 信息,只需要关键信息即可,接下来我们一步一步分析。

2016-12-07 18:34:19 702

翻译 Gson Advanced — 泛型

本文将介绍使用 Gson 来解析 Java 泛型类型的数据结构,如果不了解泛型基本知识的可以回顾 Wikipedia article,同样 Gson 会帮我们完成解析。泛型序列化之前使用 Gson 来解析 Java 对象,我们必须传入要解析的 Java class 类型,先来看例子。两个

2016-12-07 18:33:34 311

翻译 Gson Advanced — 映射循环引用

本文来看一个非常特殊的情况:循环引用。类似死锁的现象,产生了相互引用,也就是我中有你,你中有我,如果你用 Gson 来序列化,那么 Gson 判断引用情况也就没完没了了,最终会产生崩溃,接下来我们将分析病解决这种情况。StackOverflow

2016-12-07 18:33:05 1004

翻译 Gson Advanced — 映射枚举类型

回顾之前的一系列文章,我们已经了解了嵌套对象、数组、List、Map 的映射,本文将介绍使用 Gson 解析枚举类型。Enum 序列化枚举在 Java 中使用非常普遍,可以使用它来规范一些常量的取值。但对于 JSON 来说,同样是不存在枚举类型,如果在解析中使用了枚举

2016-12-07 18:32:38 2236

翻译 Gson Builder — 如何使用 @Expose 忽略字段

在之前的文章中,我们都是假设model字段都是需要序列化和反序列化的,这是一种最简单的情况,可真实的情况并不是如此,所以我们需要定制我们的解析规则。注解 @Expose之前文章有介绍如何序列化时不输出null的字段,当你不需要完全序列化mo

2016-12-07 18:31:54 7585

翻译 Gson Builder — 特殊类型 Floats & Doubles

上一节介绍了 lenient 的使用方法,通过设置 lenient 属性,Gson 可以帮我忽略一些错误,保证解析尽量的匹配 Java 对象。本文将了解下 Gson 是如何解析特殊类型 Floats 和 Doubles。特殊类型 Flo

2016-12-07 18:31:27 4721

翻译 Gson Builder — Gson Lenient 属性

我们知道 JSON 必须符合一定的标准才能被解析成功,在 JsonReader 的源码中我们看到 Gson 遵循的是 RFC4627 规则,本文将介绍下 Gson 和 JSON 规范的关系。默认的 Lenient通常我们将 Java 对象序列化成 JSON 格式的数

2016-12-07 18:30:59 2353

翻译 Gson Builder — 忽略策略

在之前的文章中,我们已经了解一些方法来控制序列化和反序列化的值,不过这些规则都只是停留在单个字段的属性上,本文将介绍另一种规则来规定解析过程。使用忽略策略 @Expose 和 transient 失效之前文章学习使用 @Expose 和 transient 来改变单

2016-12-07 18:29:39 1785

翻译 Gson Builder — 序列化空值

序列化空值之前的文章也有相应的例子,比如空值的映射文中,如果你的数据结构中没有给字段赋值或者

2016-12-07 18:28:55 3076

翻译 Gson Builder — 基础和命名规则

在之前文章中,我们学习了使用 Gson 序列化和反序列化 Java 对象,到目前为止,我们总结了映射的过程。这篇文章开始我们将开始一个新的系列 GsonBuider,GsonBuider 用来自定义Gson。

2016-12-07 18:28:07 3226

翻译 Gson Model Annotations - @SerializedName 匹配多个反序列化名称

在之前的 Gson 系列博客文章中,我们介绍过了如何改变 Java Model 变量的序列化命名。如果你的服务器接口返回了不同的字段名,你可以使用 @SerializedName 注解

2016-12-07 18:27:00 10103 1

翻译 Gson Model Annotations - 如何使用@SerializedName更改字段命名

在之前的 Gson 系列博客文章中,我们介绍过了第一个用来控制属性序列化和反序列化的注解 @Expose 。在这篇文章中,我们将介绍下一个更改名称映射的注解 @Seriali

2016-12-07 18:26:24 2781

翻译 Gson-空值映射

在之前文章中,我们介绍了如何使用 Gson 来映射 Java 数据结构,这篇文章中我们来看一个有趣的问题,Gson中是如何处理 null 情况的?处理空值我们使用之前的model 类 UserSimple,不过name字段我们给赋值为null,如下:UserSimple use

2016-12-07 18:25:32 2403

翻译 Gson-Set 集合映射

原文链接:Gson — Mapping of Sets 原文出自:Norman Peitek 译者:無名無在之前的两篇文章中,我们介绍使用了使用 Gson 来映射 List 和 Map 数据结构之后,这篇文章中我们来看下如何使用 Gson 来序列化和反序列化Java 中的 Set 数据类型。Java Set 序列化Java 集合中包含很多中数据结构,我们已经了解了 List 和 Map 的使用,

2016-12-07 18:24:47 1853

翻译 Gson - Map 结构映射

在介绍使用 Gson 解析一些基本数据结构之后,我们来看下如何使用Gson 来序列化和反序列化 Java 中的 Map 数据类型。Java Map 序列化Java 中的 Map 是一个非常灵活的数据结构,被用在很多场景,使用 Java 可以自由的实现应用。先来看一个例子,使用 HashMap

2016-12-07 18:24:19 535

翻译 Gson - Arrays 和 Lists 对象映射

欢迎到我们的 Gson 系列的另一篇文章,在回顾了 Gson 的基础用法之后,例如:模型注解和嵌套对象的映射,我们来讨论本文重点功能:数组和列表对象的映射,我们几乎都会使用到这种数据类型,幸运的是,Gson 可以帮我们轻松搞定。

2016-12-07 18:23:36 502

翻译 Gson - Java-JSON 序列化和反序列化入门

今天开始学习 Google 的 Gson 库,Gson 是一个非常强大的库,可以将 JSON 格式的数据转化成 Java 对象,也支持将 Java 对象转成 JSON 数据格式。Gson 依赖本文将

2016-12-07 18:22:03 2808

翻译 Gson 系列文章翻译 End

截止到目前为止,Gson 系列文章翻译就告一段落了,原系列有一些没更新完,我这里将持续跟踪,如果有更新,我这里也会及时更新。翻译比较粗糙,只是把功能点按照自己的理解说了一下,如有翻译的不太清楚,大家多多包含多多指正!谢谢! 即将开始新的系列,加油!练习代码已上传 Github https://github.com/whiskeyfei/Gson-Review 可自行查看。Gson 系列文章翻译回顾1

2016-12-07 17:42:31 311

原创 学会使用 Gson @SerializedName

平常使用的有关 Json 转换的库中 Gson 和 fastJson 库用的最多,今天来说说 Gson 在 SimpleNews.io 项目中的使用,对了本次使用的版本为 gson-gson-2.2.4,现在已经更新到了 2.7 版本。主要内容注解@SerializedName 的使用 其它小技巧一、Gson 是什么? Gson is a Java library that can be us

2016-11-26 10:39:37 8024

原创 RxJava语法练习

很早之前就听Rxjava 多么神奇,各种评论都有,说学习坡度高,难等等,于是亲自上手试试,说实话刚开始看到这些用法立马就蒙比了,和我们之前的方式不太一样,理解起来还是挺别扭的,之后找了一篇给 Android 开发者的 RxJava 详解 扔物线的,好好研究上几天,认真理解每个例子并自己动手敲出来,也就慢慢能体会到 rxjava 的好用之处了。刚开始学习的时候,为了加深理解,按照这篇 NotRxJav

2016-11-26 10:33:00 464

原创 设计模式-观察者模式(Java)

观察者模式当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)比如,当一个对象被修改时,则会自动通知它的依赖对象,观察者模式属于行为型模式。使用在java中实现观察者模式需要用到java.util包中提供的Observable类和Observer接口,java已经给我们提供好类使用。

2016-11-26 10:15:39 235

原创 Java 中泛型使用

泛型,即“参数化类型”一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。常常用T、E、K、V等形式的参数常用于表示泛型形参,用来接收来自外部使用时候传入的类型实参

2016-11-26 10:14:08 361

原创 聊聊 Android ANR 那点事儿

ANR 在 Android开发中并不陌生,遇到 ANR 有时让我们很苦恼,自己平时也遇到过这样的问题,今天来聊聊 Android 中 ANR 那点事并记录在此,以防下次遇到我们就知道该如何分析了。ANR定义简单说下官方解释,ANR,Application Not Responding,即应用程序没有响应,Android 系统会向用户显示一个程序无响应对话框,用户可以选择等待或者强制关闭。出现场景按

2016-11-26 10:12:01 868

原创 Android 内存泄漏案例分析总结(Handler)

在Android开发开发中,操作不当很容易引起内存泄漏,这里主要记录下平时遇到问题,包括:静态变量(也包含集合)、非静态的内部类、Handler、监听器,尤其是 Handler 在开发中要格外的注意。

2016-11-25 16:10:53 463

原创 Google Samples MVP + RxJava 官方精简Demo

前段时间学习了 Google Samples MVP android-architecture todo-mvp/ 了解了 MVP 基本使用方法,以及 UseCase 的使用,之后也用在项目当中,确实带来了一些好处,比如:数据和 UI 拆分,UseCase 执行重用,使用线程池等等,之后了解了 RxJava,有必要合并 mvp 使用下,参考官方 Google Samples github tod

2016-11-25 15:03:47 785

原创 Android 内存泄漏工具使用分析

最近的一次事件让我对 Android 开发中内存泄漏重视起来,平时只忙着开发新的功能,往往会忽略掉内存,cpu 等方面的使用情况,然而遇到 内存泄露或者ANR 问题就要彻底解决,由于Android设备规格不一,好一些的设备上不会出现问题,在一些低端的设备上就会出现各种问题,所以平时也要注意内存泄漏和 cpu 使用问题. 同步发不在简书Android 内存泄漏工具使用分析内存泄漏(memory le

2016-11-25 15:00:45 529

原创 Google MVP 你也可以运用自如

MVP 思想已经盛行有一段时间了,之前写过几个简单的 MVP Demo,来分离 UI 和逻辑,前段时间研究了 googlesamples/android-architecture,这个库包含了好几种 MVP 例子,我针对 todo-mvp 和 todo-mvp-clean 这两个例子进行了研究,其他几个例子有不同的侧重,但最基本的还是 todo-mvp ,其他只是在这个基础之上做扩充而已,还有一些

2016-11-25 14:55:49 533

原创 使用 Markdown 写作那些事儿

最近喜欢用“那些事儿”来命名标题,可能是明朝那些事儿看多了吧,哈哈啊,今天说说如何使用 Markdown 语言。同步发布在我的简书 使用 Markdown 写作那些事儿说开始说起 Markdown,最开始是在 Github 上使用,使用来做说明文档用的,也就是 README.md 文件,于是就接触起来,起初还不明白为什么是.md结尾的,后来使用多了也就了解了,遇到不知道怎么用的语法,查一查也就慢慢记

2015-07-25 15:02:32 562

原创 Android Studio 一些常用配置

Android Studio 目前已经更新到 2.0 稳定版,记得在1.0开始的时候,使用 AS 时还不太习惯,虽然使用快捷键是 MAC eclipse,但是还是有些地方不一样,所以纪录在此,以备它用,当你从 eclipse 切换成 Android Studio 时,还想使用以前习惯的快捷键,这就需要自己来配置属于自己的 Android Studio了,好了废话不多说,看配置可以先查看目录有没有你找

2015-07-23 09:19:42 781

转载 Fragment和Activity

Fragment和Activity Fragment和Activity的交互  一个Fragment的实例总是和包含它的Activity直接相关。  fragment可以通过getActivity() 方法来获得Activity的实例,然后就可以调用一些例如findViewById()之类的方法。  如:  View listView = getAc

2014-04-12 15:35:13 592

转载 ubuntu12.04搭建android开发环境

一直准备学一点Linux的东西,一直没有付诸行动,这个周末准备安装一下,做了将近半年的android开发,准备学一点关于框架和源码的东西。。。安装之前也百度谷歌了很多次,也看了网上不少的资料,总结一点,就是对于像我这种入门级的人来说,还是不够明确,结合网上的资料,本人在此再做完善一下,希望对后来之人有所帮助,于我也算是一种学习吧。首先是安装ubuntu,这个在ubuntu官方网站h

2013-09-30 12:13:08 640

原创 Android控件复习:按钮(Button)

主要内容:1.按钮监听和长按按钮监听2.“.9图片文件的使用”3.自定义点击按钮效果-图片模式-颜色模式实代码例:1.部分代码先来看布局文件main.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_

2013-03-20 17:01:40 900

原创 Android文本显示:TextView

TextView用来显示文本,还可以显示链接学到的知识点:1.可以再xml中设置TextView的样式2.在代码里设置显示的效果下面的例子主要实现三种在TexTView中添加链接,和在代码中添加TextView样式;3.实例:MainActivity.javapackage com.textviewlink;import android.app.Acti

2013-02-15 21:12:09 2383

原创 Android 相对布局:RelativeLayout

有时候要在一行要显示好几个控件,线性布局就难做到 ,用相对布局会很简单注意事项:本例当中,模仿一个登陆界面,应用相对布局android:layout_above 将该控件的底部至于给定ID的控件之上android:layout_below 将该控件的顶部至于给定ID的控件之下android:layout_toLeftOf 将该控件的右边缘和给定ID的控件的左边缘对齐andr

2013-02-08 13:58:32 540

原创 Android 线性布局:LinearLayout

线性布局是android布局方式中最简单的一种,分为垂直线性布局和水平线性布局注意事项:1. android:orientation="vertical" 垂直布局 android:orientation="horizontal"水平布局2.可以嵌套一个容器里的布局不影响其他容器的布局3.android:layout_weight="1"  这这里指控件在父控件中所占的比重4.

2013-02-08 13:15:00 628

网络基础 网络技术 网路原理

网络基础资料 网络集成练习 网络接口 网路集中介入方式

2011-06-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除