Retrofit2与RxJava用法解析

Retrofit2是square公司出品的一个网络请求库,目前非常流行,特别适合于rest请求。网上也有不少介绍该库的文章,但别人的终究是别人的,还需要转化为自己的才行。正所谓“纸上得来终觉浅,绝知此事要躬行”,本着学习的态度笔者对retroift2的用法进行了下列研究,主要包括以下几个方面

  • get请求
  • post请求(包括key/value,以及body)
  • 文件上传(进度监听)
  • 文件下载
  • 与RxJava整合

    Read More

论Android Adapter notifyDataSetChanged与notifyDataSetInvalidated无效原因

最近在开发中遇到一个问题,Adapter中使用notifyDataSetChanged 与notifyDataSetInvalidated无效,经过思考和网上查找,得出如下原因。

首先看一下notifyDataSetChanged与notifyDataSetInvalidated的区别

我们可应用粮仓来解释一下,两者的区别。

notifyDataSetChanged:粮仓中得粮食少了,或者多了,发送通知。

notifyDataSetInvalidated:粮仓变换了,比如原来从A仓取粮食,现在换成了B粮仓。

Read More

学习使用GridLayout

GridLayout是一个非常强大的网格类布局,它不但能像TableLayout那样,实现网格类布局,但它更为强大的地方在于每个Cell的大小可以横向或者纵向拉伸,每个Cell的对齐方式也有很多种,而且不像TableLayout,需要一个TableRow,GridLayout可以通过指定Cell的坐标位置就能实现Cell的拉伸,从而实现,大小不一致的风格卡片式布局。

Read More