B LOG

  • Home

  • About

  • Categories

  • Archives

Android网络请求的好搭档-Volley和Gson

Posted on 2016-10-16 | Edited on 2018-05-16 | In Android开发 | Views:

最近做了一个模块需要在Android客户端做网络请求,调用服务端提供的REST API。由于开发时间紧,网络请求次数和接口个数都比较多,如果使用自带的HttpURLConnection和HttpClient加上Java自身提供的Json库开发效率会很低,而网上的开源库例如okhttp或Retrofit我都缺乏了解。为了求稳,便使用了Google官方开发的网络库Volley和Json解析库Gson,使用起来发现非常的顺手,跟服务端提供的API几乎无缝衔接.

Volley

首先Volley库的使用可以参考Android开发的官方文档Training中的Transmitting Network Data Using Volley这一章的内容。最开始只需了解如何send a request,cancel a request,custom request这些基本的操作。接下来文档中的Use a Singleton Pattern将RequestQueue封装成单例的思想以及文档中非常重要的一张图:

都是值得好好学习的,可以了解到对于Volley最基本的封装以及在使用Volley库的过程中哪些代码运行在哪些线程的问题。

Gson

Gson是Google开发的将Json串和JavaBean相互转换的非常方便易用的库。Github地址在https://github.com/google/gson。具体的使用方法只要阅读README中的user guide就能掌握了。具体的功能有Json串和JavaBean的相互转换,包括数组,嵌套类,并且可以自定义一些内容,例如控制哪些字段需要操作哪些不需要,空值的操作等等。Gson库我认为比较难的一点在于如何定义JavaBean中字段的类型,尤其是在有泛型和容器类的情况下。

Read more »

Awesome Koans

Posted on 2016-08-16 | Edited on 2018-05-16 | In 编程语言 | Views:

What is Kōan

Koan(公案)是佛教禅宗的术语,乃是佛教禅宗祖师的一段言行或者一个小故事,用于引导和开悟。

编程语言的学习也有一种公案形式的学习方法,是我见过的最好的学习一门新的编程语言的方式。以TDD的形式,预先编写好每一个知识点的测试代码,引导学习者使用相关的知识编写代码以通过测试。这种像闯关一样的形式让人充满的学习的动力,也解决了很多人学习过程中只有纸上谈兵而没有动手机会的问题。

这个Repo用于收集各种语言可用的koans方便学习。

MIT-6.824学习之路

Posted on 2016-08-16 | Edited on 2018-05-16 | In 分布式系统 | Views:

最近几个月利用业余时间学习了大名鼎鼎的MIT 6.824 分布式系统课程。我跟的是2015年的课程内容,Lab的内容是使用Go语言实现一个分布式数据库。这门课主要是读Paper和做Lab,比较适合自学,但是阅读量和代码量还有课程的难度还是相当大的,缺少自我驱动力的情况下很难坚持。尤其是我这种上班族,一周差不多只有晚上下班后可以有一整块的时间用来学习,平均一周还得加几天班,完全是学一点是一点的状态,但是兴趣还是驱使我坚持了下来。这门课对于一个完全没接触过分布式系统的人来说是一个很好的入门教程,但是它的难度和大量的学习内容还是能把人弄得痛不欲生。我也总结一下自己学习的过程可以给新入坑的同学做个入坑指南。

Read more »

Java生存指南

Posted on 2016-08-04 | Edited on 2018-05-16 | In 编程语言 | Views:

在工作中从C++转到使用Java有一段时间了。Java语言与C++十分相似,Effective C++中说,C++作为一个语言联邦,其中包含C,Object-Oriented C++,Template C++和STL。而Java的面向对象对比C++的OO和数据容器如List、Set、Map对比C++的STL,这两方面两种语言除去语言本身的一些细节几乎可以无缝转换。

但是本文讨论的不是Java语言层面的内容,之前看了一篇叫做JVM Minimal Survival Guide的文章,将.NET平台与Java平台作对比,里面介绍了JVM的一些概念和Java在各个领域的一些杀手级应用。我也想自上而下地整理一下在Java环境中生存的基础知识,可以看成是那篇文章Basic部分的一些补充。

Read more »

我如何用VS2005编辑代码

Posted on 2015-08-19 | Edited on 2018-05-16 | In 工具 | Views:

之前我是一个Vim重度使用者,到了公司不可避免地要使用Visual Studio2005作为主要开发环境。VS作为IDE,有很多Vim这种编辑器不可比拟的优势,精确地代码跳转,代码提示,集成编译器,调试器以及众多代码调试工具,方便地构建代码工程。但是Vim独有的键绑定带来的编辑文本的高效率也是我无法割舍的。

经过一番研究,我在VS2005上安装了Visual AssistX和Viemu两个插件让我将VS和Vim完美结合起来。

Read more »

Markdown测试

Posted on 2015-07-27 | Edited on 2018-05-16 | In 测试 | Views:

#兼容HTML
这是一个普通段落





Foo

这是另一个普通段落

#特殊字符自动转换
© AT&T AT&T 4<5 4<5

#标题

##Select形式

This is an H1

This is an H2

Read more »
12

唐盛

程序员,Popper,游戏玩家,足球爱好者

16 posts
8 categories
14 tags
RSS
GitHub E-Mail 知乎 Instagram
© 2015 — 2019 唐盛
Powered by Hexo v3.7.1
|
Theme — NexT.Gemini v6.2.0