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 ...
随机推荐
- c++(排序二叉树)
前面我们讲过双向链表的数据结构.每一个循环节点有两个指针,一个指向前面一个节点,一个指向后继节点,这样所有的节点像一颗颗珍珠一样被一根线穿在了一起.然而今天我们讨论的数据结构却有一点不同,它有三个节点 ...
- Docker版本升级至17.03
2017/3/3,Docker官方发表了一篇博客,Docker版本从1.13.*直接跳入17.03,该版本的意思是17年3月.同时,还声明了Docker以后会以CE(Community Edition ...
- Union用法及说明:
Union是用户合并多个select结果集的操作符,需要注意的是:select语句需要有相同的列数,类似的数据类型,且列的顺序相同,另外,UNION 结果集中的列名总是等于 UNION 中第一个 SE ...
- [转载]织梦CMS首页调用分类信息栏目及列表方法
原文地址:织梦CMS首页调用分类信息栏目及列表方法作者:小武哥 不懂代码,搜索学习一晚上,都是说调用特定栏目分类信息列表的,用这个代码 {dede:arclistsg row='10' titlele ...
- 利用PHPExcel导出Excel并设置Excel格式以及数据源
浏览:23969 发布日期:2013/07/24 分类:技术分享 代码有点长,读起来有点累.先来个截图 导出的Excel太宽了,所以将后面的列宽重新调整了再截的图 功能包括: 1.设置单元格格式,包括 ...
- 微信小程序学习笔记
一.文件结构解析 pages文件夹: 书写各个页面代码以及组件.内部js文件书写js ; wxml文件为HTML ; wxss文件为css样式 : json文件为配置当前页面的默认项,如titl ...
- tp5 加载第三方扩展类库与手动加载的问题
=============================================================== <?phpnamespace my; /*** 加载第三方类库*/ ...
- Anaconda入门教程
Anaconda入门教程 [TOC] Anaconda是什么 Anaconda附带了 conda.Python 和 150 多个科学包及其依赖项.应用程序 conda 是包和环境管理器.Anacond ...
- 【转】WPF 从FlowDocument中找到Hyperlink
原文地址:How can I get a FlowDocument Hyperlink to launch browser and go to URL in a WPF app? #region Ac ...
- 如何让a标签的下划线去掉?
在css中添加 a{ text-decoration: none; }