网络访问框架经过了从使用最原始的AsyncTask构建简单的网络访问框架(甚至不能称为框架),后来使用开源的android-async-http库,再到使用google发布的volley库,一直不懈的寻找更好的解决方案(银弹),到现在虽然银弹没找到,也算找 到了一些更好的方案,在这里做些记录,也做共享。
目标架构如下图:
Retrofit:Square提供的开源产品,为Android平台的应用提供一个类型安全的REST客户端
RxAndroid:响应式编程框架RxJava针对Android平台的扩展。
Dagger2:依赖注入(或叫ioc,用过Spring的都知道这东东)框架,用于解耦的。
前序:看到网上大牛的介绍上面这三个框架,自己也试着折腾折腾
以下示例通过 http://ip.taobao.com/service/getIpInfo.php?ip=21.22.11.33 获取json数据。
先看看庐山真面目,大家看了也会说,酱紫啊,搜森破!
1、通过配置gradle配置将Retrofit框架引入项目。
2、编写API服务代码
3、定义接收数据的response
4、请求数据并显示
就这么简单,上述代码已经实现通过retrofit访问restful api获取数据并显示。
详细代码请见:http://download.csdn.net/download/liuhongwei123888/9372394