学习、分享

站在巨人的肩膀上

RxAndroid 与 Retrofit 实战

RxAndroid是基于Rxjava的异步编程框架,其核心是观察者模式。
Retrofit是Square公司推出的开源高耦合Rest Api网络请求框架。
RxAndroid + Retorfit = 牛(zhuang)B

二者都是独立且相当强大的开源库,本文将从一个实际案例来练手。

应用场景

获取南昌大学家园网最新新闻,Api地址为:
http://www.ncuhome.cn/NewIndex2013/AjaxGetList.ashx?partID=394&pageindex=1&pagesize=2

我们要获取到json数据并且转化为java对象。即

纯 Retrofit 实现

参考自 Retrofit 的 官方文档

1.准备工作
首先,添加 库

新建类News ,建议使用 插件GsonFormat一键转化

2.新建NcuServices接口

Retrofit 通过注解生成路由,@Query(key) type value 既是添加进 url 的参数,又是 getNcuNews()的参数,实现了高耦合配置。

3.定义NcuApi, 实现接口

4.使用方式

一般XxxServices中会有多个 Api 接口,使用这种方式配置将更加简洁。


使用 RxAndroid

RxAndroid 也是异步处理框架,与 Retrofit 配合使用,Retrofit 可以采用同步方式。

首先,添加支持库

adapter-rxjava 是 Retrofit 对 Rxjava 的适配,必须引用

如果用上 lambda 就极简了!

总结

到这里,我们已经看到 Retrofit 的强大了,Rest Api 的耦合,自带的异步(同步),可拓展的自动解析,

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注