Retrofit 实践
Retrofit是一套RESTful架构的Android(Java)客户端实现,基于注解,提供JSON to POJO(Plain Ordinary Java Object,简单Java对象),POJO to JSON,网络请求(POST,GET,PUT,DELETE等)封装,对于网络调用的诸多细节做了封装,是的我们在开发过程中之关注对象的调用,而不关心网络请求的细节,是网络编程变得简单。是代码变得更加优雅易读。
1.包的获取与安装
Maven 配置
<dependency>
<groupId>com.squareup.retrofit2</groupId>
<artifactId>retrofit</artifactId>
<version>2.2.0</version>
</dependency>
Gradle 配置
compile 'com.squareup.retrofit2:retrofit:2.2.0'
直接应用Jar包
2.初始化
首先需要创建一个接口,然后配置注解
public interface APIClient {
@GET("/api/movies")
void movies(Callback<List<Movie>> callback);
}
3.配置Retrofit 的RestAdapter 使其生成代理类
OkHttpClient client = new OkHttpClient();
mRestAdapter = new RestAdapter.Builder()
.setEndpoint(baseUrl)
.setClient(new OkClient(client))
.build(); myApiClient = mRestAdapter.create(APIClient.class);
这里client可以指定自己的配置实例,这里我选择的是OkClient, 当然你也可以配置其它的。上面这个配置是最简单的配置,当然你还可以配置一些转换器,来讲请求的Json 字符串转化成对象。
4. 调用
RetrofitdemoApplication.getInstance().myApiClient.movies(new Callback<List<Movie>>() {
@Override
public void success(List<Movie> moves, Response response) {
mMovies=moves;
mListView.setAdapter(new MovieAdapter(MovieActivity.this,moves));
Response r=response;
}
@Override
public void failure(RetrofitError error) {
String s=error.getMessage();
Toast.makeText(MovieActivity.this, "get data from API failuar",
Toast.LENGTH_LONG).show();
}
});
这个调用方法中有两个回掉,一个是失败时的回掉方法,另一个是成功时的回掉方法。
Retrofit 实践的更多相关文章
- Android网络请求框架之Retrofit实践
网络访问框架经过了从使用最原始的AsyncTask构建简单的网络访问框架(甚至不能称为框架),后来使用开源的android-async-http库,再到使用google发布的volley库,一直不懈的 ...
- Retrofit 2.0 超能实践(四),完成大文件断点下载
作者:码小白 文/CSDN 博客 本文出自:http://blog.csdn.net/sk719887916/article/details/51988507 码小白 通过前几篇系统的介绍和综合运用, ...
- Retrofit 2.0 超能实践(三),轻松实现文件/多图片上传/Json字符串
文:http://blog.csdn.net/sk719887916/article/details/51755427 Tamic 简书&csdn同步 通过前两篇姿势的入门 Retrofit ...
- Retrofit 2.0 超能实践(一),okHttp完美支持Https传输
http: //blog.csdn.net/sk719887916/article/details/51597816 Tamic首发 前阵子看到圈子里Retrofit 2.0,RxJava(Andro ...
- Retrofit 2.0 超能实践,完美支持Https传输
http://blog.csdn.NET/sk719887916/article/details/51597816 前阵子看到圈子里Retrofit 2.0,RxJava(Android), OkHt ...
- Retrofit/Okhttp API接口加固技术实践(上)
作者:Tamic 地址:http://blog.csdn.net/sk719887916/article/details/61914609 写这篇文章,我纠结了非常久,究竟是属于app安全系列,还是属 ...
- Retrofit/OkHttp API接口加固技术实践(下)
作者/Tamic http://blog.csdn.net/sk719887916/article/details/65448628 imageMogr2/auto-orient/strip%7Cim ...
- (转载)RxJava 与 Retrofit 结合的最佳实践
RxJava 与 Retrofit 结合的最佳实践 作者:tough1985 感谢 DaoCloud 为作者提供的 500 RMB 写作赞助: 成为赞助方 /开始写作 前言 RxJava和Retrof ...
- Android MVP+Retrofit+RxJava实践小结
关于MVP.Retrofit.RxJava,之前已经分别做了分享,如果您还没有阅读过,可以猛戳: 1.Android MVP 实例 2.Android Retrofit 2.0使用 3.RxJava ...
随机推荐
- css实现视差滚动效果
今天逛京东金融的时候发现他家网站首页的滚动效果看着很有意思,于是就做了一个,demo链接http://1.liwenyang.applinzi.com/index.html 大多数的视差滚动效果都是使 ...
- TI-RTOS 之 GPIO中断(按键)
TI-RTOS 之 GPIO中断(按键) 前面已经用过LED, 定时器,这次来了解GPIO的中断是怎么用的,从CC1310+TI-RTOS的例程可以直接找到相应的例子程序,它的关键是在于要使能中断,也 ...
- 怎么在谷歌浏览器中安装.crx扩展名的离线Chrome插件?
李宗申 2014-9-26 23:33:33 20人评论 分类:实用方法 摘要 : 如果用户得到的离线版的Chrome插件文件(扩展名为.crx),该如何将其安装到谷歌浏览器Chrome中去呢? ...
- Intellij idea 中修改java web代码 ,网页不同步
问题可能出在 Intellij idea 没有将源码保存在本地,浏览器访问了缓存而没有访问最新文件 用命令行查看了源码,同步了 接着禁止浏览器缓存,网页同步了 打开火狐浏览器 输入 about:c ...
- ajax_表单提交+tp5ajax
======================================================= 判断squery导入的是否正确? $(function(){ alert('1'); } ...
- ios 继承关系图
- Hive字段中文注释乱码解决办法
Hive字段中文乱码,如执行 show create table xxx 时,表级别注释.字段级别注释发现有乱码现象, 一般都是由hive 元数据库的配置不当造成的. 此时可按如下步骤进行配置调整: ...
- beetl模板引擎使用笔记
maven项目pom: <dependency> <groupId>com.ibeetl</groupId> <artifactId>beetl< ...
- 开源三维地球GIS引擎Cesium常用功能的开发
Cesium是一个非常优秀的三维地球GIS引擎(开源且免费).能够加载各种符合标准的地图图层,瓦片图.矢量图等都支持.支持3DMax等建模软件生成的obj文件,支持通用的GIS计算:支持DEM高程图. ...
- mysql 列转行,合并字段
数据表: 列转行:利用max(case when then) max---聚合函数 取最大值 (case course when '语文' then score else 0 end) ---判断 ...