做过安卓开发的都知道,安卓如果不联网就是死的,有了网络就活起来了。而联网用的最多也是最重要的就是请求网络数据和下载图片。我来介绍两个我最常用的两个网络工具:retrofit和picasso
实现方式 :需要实现一个restAdapter来处理网络请求, 如下: setEndpoint是设置目标服务器的地址,可以是IP也可以是域名。setLogLevel是设置显示日志,即详细的网络请求参数,如:请求路径、协议版本、头部、body、等等等等很详细。
接下来就是具体的请求了 , 如下代码:
文档传送门 : http://square.github.io/retrof ... .html
接下来看调用 :
一目了然,成功与否,成功的话返回的是什么对象什么数据,很好调用。
android studio如果要用这个 只需要在gradle文件配一句话: 自动的会下载下来,并且相关的工具也会下载下来,如:gson okhttp。eclipse的话请自行去官网下载
//======================================================
下面是另一个工具:picasso
传送门 : http://square.github.io/picasso/ 这个也是square的一个工具,也是开源的。这个工具有个好处是,高度集成,调用简单方便,无需配置,只需要网络权限打开即可。
调用时,一句代码即可,如下代码:
最近新出了一个fresco的图片下载工具,我也看了下,需要配置写文件,还要使用它自定义的布局文件,所以不建议使用。picasso有个弊端,就是太高度集成,导致支持自定义的太少,不过也支持自定义,但是不多。picasso自带双缓存,并且会自动清理不需要的图片内存。它可以设置获取的图片的大小,从而减少内存。在adapter中需要取消已经不在视野范围的ImageView图片资源的加载,否则会导致图片错位,Picasso已经解决了这个问题。
文档传送门 : http://square.github.io/retrof ... .html
如上,是我用的最多的两个网络工具。
- retrofit:
实现方式 :需要实现一个restAdapter来处理网络请求, 如下: setEndpoint是设置目标服务器的地址,可以是IP也可以是域名。setLogLevel是设置显示日志,即详细的网络请求参数,如:请求路径、协议版本、头部、body、等等等等很详细。
接下来就是具体的请求了 , 如下代码:
文档传送门 : http://square.github.io/retrof ... .html
接下来看调用 :
一目了然,成功与否,成功的话返回的是什么对象什么数据,很好调用。
android studio如果要用这个 只需要在gradle文件配一句话: 自动的会下载下来,并且相关的工具也会下载下来,如:gson okhttp。eclipse的话请自行去官网下载
//======================================================
下面是另一个工具:picasso
传送门 : http://square.github.io/picasso/ 这个也是square的一个工具,也是开源的。这个工具有个好处是,高度集成,调用简单方便,无需配置,只需要网络权限打开即可。
调用时,一句代码即可,如下代码:
最近新出了一个fresco的图片下载工具,我也看了下,需要配置写文件,还要使用它自定义的布局文件,所以不建议使用。picasso有个弊端,就是太高度集成,导致支持自定义的太少,不过也支持自定义,但是不多。picasso自带双缓存,并且会自动清理不需要的图片内存。它可以设置获取的图片的大小,从而减少内存。在adapter中需要取消已经不在视野范围的ImageView图片资源的加载,否则会导致图片错位,Picasso已经解决了这个问题。
文档传送门 : http://square.github.io/retrof ... .html
如上,是我用的最多的两个网络工具。