Retrofit的使用
参照文档:http://gank.io/post/56e80c2c677659311bed9841
一、创建Retrofit
mRetrofit = new Retrofit.Builder()
.baseUrl(URL_PATH)//设置URL地址
.addConverterFactory(GsonConverterFactory.create())//设置使用Gson解析
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())//设置使用RXJAVA的形式,如果不设置则为OkHttp的模式
.build();//创建Retrofit
创建Retrofit
二、设置接收使用的javaBean(成员变量名为json的键,如果是jsonArray则需要使用List<>封装)
public class HttpResult<T> {
private int count;
private int start;
private int total;
private String title;
//用来模仿Data
private T subjects;
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public int getStart() {
return start;
}
public void setStart(int start) {
this.start = start;
}
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public T getSubjects() {
return subjects;
}
public void setSubjects(T subjects) {
this.subjects = subjects;
}
@Override
public String toString() {
StringBuffer sb = new StringBuffer();
sb.append("title=" + title + " count=" + count + " start=" + start);
if (null != subjects) {
sb.append(" subjects:" + subjects.toString());
}
return sb.toString();
}
}
JavaBean
三、设置传输接口
public interface DouBanApi {
@GET("top250")//变量地址
Observable<HttpResult<List<Subject>>> getMovies(@Query("start")int start,@Query("count")int count);
}//Query表示需要上传的参数名
四、设置回调接口
DouBanApi douBanApi = mRetrofit.create(DouBanApi.class);
Observable<HttpResult<List<Subject>>> observable = douBanApi.getMovies(start,count);
observable.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<HttpResult<List<Subject>>>() {
@Override
public void onCompleted() { } @Override
public void onError(Throwable e) { } @Override
public void onNext(HttpResult<List<Subject>> listHttpResult) { }
});
}
Retrofit的使用的更多相关文章
- 【知识必备】RxJava+Retrofit二次封装最佳结合体验,打造懒人封装框架~
一.写在前面 相信各位看官对retrofit和rxjava已经耳熟能详了,最近一直在学习retrofit+rxjava的各种封装姿势,也结合自己的理解,一步一步的做起来. 骚年,如果你还没有掌握ret ...
- Android Retrofit 2.0 使用-补充篇
推荐阅读,猛戳: 1.Android MVP 实例 2.Android Retrofit 2.0使用 3.RxJava 4.RxBus 5.Android MVP+Retrofit+RxJava实践小 ...
- Android MVP+Retrofit+RxJava实践小结
关于MVP.Retrofit.RxJava,之前已经分别做了分享,如果您还没有阅读过,可以猛戳: 1.Android MVP 实例 2.Android Retrofit 2.0使用 3.RxJava ...
- 快速Android开发系列网络篇之Retrofit
Retrofit是一个不错的网络请求库,用官方自己的介绍就是: A type-safe REST client for Android and Java 看官网的介绍用起来很省事,不过如果不了解它是怎 ...
- android快捷开发之Retrofit网络加载框架的简单使用
大家都知道,安卓最大的特点就是开源化,这自然会产生很多十分好用的第三方API,而基本每一个APP都会与网络操作和缓存处理机制打交道,当然,你可以自己通过HttpUrlConnection再通过返回数据 ...
- Retrofit结合RxJava使用指南
Retrofit结合RxJava使用指南 Retrofit是一个当前很流行的网络请求库, 官网的介绍是: "Type-safe HTTP client for Android and Jav ...
- 用Retrofit发送请求中添加身份验证
用Retrofit发送请求中添加身份验证====================在安卓应用开发中, retrofit可以极大的方便发送http网络请求,不管是GET, POST, 还是PUT, DEL ...
- 82.Android之MVP+Retrofit+RxJava实践小结
转载:http://wuxiaolong.me/2016/06/12/mvpRetrofitRxjava/ 关于MVP.Retrofit.RxJava,之前已经分别做了分享,如果您还没有阅读过,可以猛 ...
- retrofit一点点理解
retrofit是什么? retrofit可以认为是一款基于http协议的rpc框架.基于java的. 它可以连到支持restful的服务器,将服务器返回的json数据反序列化成java对象. 用途 ...
- retrofit使用随记
1.请求接口 public interface RetrofitApi { /*注册*/ /*登录*/ @FormUrlEncoded //post请求带这个 @POST("url" ...
随机推荐
- EasyUI TextBox的keypress
关于EasyUI TextBox的事件好像不多,像keypress,keydown在textbox的事件里都没有,所以要用这些事件要采取一些特殊的方法,今天用到了这些就记录一下,有两种方法, 第一种: ...
- 为js数组扩展方法
(function(global,undefined){ //javascript冒泡排序,直接添加到基础类型Array的原型上 Function.prototype.method = functio ...
- php 数组Array 删除指定键名值
if(array_key_exists('keyname',$array)){ //检查数组中此键名是否存在: unset($array['keyname']); //删除后位置仍然保留,但清空了键名 ...
- windows下配置Nginx+Mysql+Php7
环境:Windows10 mysql-5.6.24-win32解压缩版 nginx-1.8.0 php7 1.Mysql安装 下载压缩文件之后解压缩至相应目录(我的目录是G:\wnmp\m ...
- 我和Python的第一次亲密接触 - 零基础入门学习Python001
我和Python的第一次亲密接触 让编程改变世界 Change the world by program 小甲鱼经常说,学习一门编程语言就是要深入其中,要把编程语言想象为你的女朋友你的情人,这样你学习 ...
- 掌握string.h里的常用函数
字符串输出函数 puts 格式: puts(字符数组名) 功能:把字符数组中的字符串输出到显示器. 即在屏幕上显示该字符串. 字符串输入函数 gets 格式: gets (字符数组名) 功能:从标 ...
- 活生生的例子:qInstallMessageHandler接受指定类型的函数指针,这样就可以随心所欲的让程序员自定义函数名以及函数位置
理论:qInstallMessageHandler是被定义在全局空间里: http://doc.qt.io/qt-5/qtglobal.html#QtMessageHandler-typedef 实践 ...
- SignalR在Xamarin Android中的使用
原文:SignalR在Xamarin Android中的使用 ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程.实时 ...
- iOS开发之property属性介绍
大家都知道@property和@synthesize可以自动生成某个类成员变量的存取方法,但可能对property中的一些属性不是很了解,网上的一些介绍有的不是很正确,感觉会误导新手,于是准备详细介绍 ...
- .net项目中上传大图片失败
.net项目中有时用户提出要上传大图片,一张图片有可能十几兆,本来用的第三方的上传控件,有限制图片上传大小的设置,以前设置的是2M.按照用户的要求,以为直接将限制图片上传大小的设置改下就可以了,但是当 ...