初识Retrofit
2017-07-06 16:45
176 查看
初识Retrofit
最近工作不是很紧急,就在相关的网站查看一些有吸引力的文章,学习新的技术来充实自己,看到很多关于Retrofit的文章,出去好奇,自己百度了一下相关的内容,原来Retrofit是一个网络请求的框架,之前也用过不少的网络框架,最近使用okhttp,感觉还不错,现在这个Retrofit看文章很不错,自己就来学习一下。Android开发中要使用的话需要添加依赖:(现在一般都是用的Retrofit2.0这个版本)
compile 'com.squareup.retrofit2:retrofit:2.3.0' compile 'com.squareup.retrofit2:converter-gson:2.3.0' compile 'com.squareup.retrofit2:adapter-rxjava2:2.3.0' compile 'com.google.code.gson:gson:2.8.1'Retrofit的基本使用也比较简单。
1.初始化实例
Retrofit retrofit = new Retrofit.Builder() .baseUrl(url) .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) // .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) // .addCallAdapterFactory() .build();
创建Retrofit实例时需要通过
Retrofit.Builder,并调用
baseUrl方法设置URL。
2.定义接口
public interface BlueService { @GET("book/search") Observable<BookEntity> getSearchBooks(@Query("q") String name, @Query("tag") String tag, @Query("start") int start, @Query("count") int count); }注意,这里是
interface不是
class,所以我们是无法直接调用该方法,我们需要用Retrofit创建一个接口(blueservice)的代理对象。
3.调用接口,创建对象
BlueService service = retrofit.create(BlueService.class); Observable<BookEntity> observable =service.getSearchBooks("小王子","",0,3); observable .subscribeOn(Schedulers.newThread()) .subscribe(new Observer<BookEntity>() { @Override public void onSubscribe(@io.reactivex.annotations.NonNull Disposable d) { } @Override public void onNext(@io.reactivex.annotations.NonNull BookEntity bookEntity) { System.out.println("---------------"); System.out.println(bookEntity.toString()); System.out.println("---------------"); } @Override public void onError(@io.reactivex.annotations.NonNull Throwable e) { System.out.println("---------------"); System.out.println(e.toString()); System.out.println("---------------"); } @Override public void onComplete() { } });
这里是不是很简单,我在这个例子中也使用到了rxjava2.0 类,很多同学应该有所了解,不了解的可以看看rxjava2.0初识,这里介绍了相关的原理和使用。
学习retrofit也是看了不少的文章,对自己感觉帮助很大的文章推荐给大家----retrofit,刚刚了解retrofit,也只能给大家分享一点点的学习经验,后续学习更多相关的,会分享给大家。
参考文档:
Retrofit官网
Retrofit2.0,有史以来最大的改变
相关文章推荐
- 初识Retrofit(-)
- 初识Retrofit2.0
- Android 初识Retrofit
- Android 初识Retrofit
- 初识Okhttp和Retrofit
- Android 初识Retrofit
- Retrofit用法初识(一)
- Retrofit2.0初识
- Android/Java网络加载框架Retrofit(一)初识
- Retrofit笔记->结合Rxjava初识
- 初识RXJava+Retrofit
- Android Retrofit 2.0(一)初识介绍
- Retrofit2.0初识
- Android/Java网络加载框架Retrofit(一)初识
- Android 初识Retrofit
- Android 初识Retrofit
- Android 初识Retrofit
- 滴水穿石--初识Hadoop
- 初识Quartz(三)
- Retrofit