Retrofit封装
来源:互联网 发布:机械制图软件视频教程 编辑:程序博客网 时间:2024/05/21 17:34
Retrofit封装
标签: android
2017-11-10 16:16 43人阅读 评论(0)收藏举报
版权声明:本文为博主原创文章,未经博主允许不得转载。
RetrofitManager是封装的一个工具类,在项目中如果频繁使用Retrofit请求数据,使用RetrofitManager可以减少很多代码量
导入一些依赖
- compile 'io.reactivex:rxjava:1.0.14'
- compile 'com.squareup.retrofit2:adapter-rxjava:2.0.0-beta4'
- compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4'
- compile 'com.squareup.okhttp3:okhttp:3.9.0'
- compile 'com.android.support:recyclerview-v7:26.0.0-alpha1'
- compile 'com.squareup.okio:okio:1.13.0'
- compile 'io.reactivex:rxandroid:1.0.1'
封装的代码如下
- public class RetrofitManager {
- private Retrofit mRetrofit;
- private String baseUrl;
- OkHttpClient client;
- private static RetrofitManager mRetrofitManager;
-
- private RetrofitManager(String baseUrl,OkHttpClient client){
- this.baseUrl=baseUrl;
- this.client=client;
- initRetrofit();
- }
- public static synchronized RetrofitManager getInstance(String baseUrl,OkHttpClient client){
- if (mRetrofitManager == null){
- mRetrofitManager = new RetrofitManager(baseUrl,client);
- }
- return mRetrofitManager;
- }
- private void initRetrofit() {
- mRetrofit = new Retrofit.Builder()
- .baseUrl(baseUrl)
- .addConverterFactory(GsonConverterFactory.create())
- .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
- .client(client)
- .build();
- }
- public <T> T setCreate(Class<T> reqServer){
- return mRetrofit.create(reqServer);
- }
- }
retrofit请求网络的方式是使用注解来发送请求,所以这里还封装了一个Constant,它的作用就是当你
的接口比较多的时候,修改比较方便,
- public class Constant {
- public static final String BASE_URL="http://tingapi.ting.baidu.com/";
- }
使用方法
- OkHttpClient okclient = new OkHttpClient.Builder().build();
- RetrofitManager.getInstance(Constant.BASE_URL,client) //Constant域名的类
- .setCreate(MusicService.class) //MusicService是注解的类
- .getshu()
- .observeOn(AndroidSchedulers.mainThread())
- .subscribeOn(Schedulers.io())
- .subscribe(observer);
阅读全文
0 0
- Retrofit -> 封装
- Retrofit封装
- Retrofit封装
- Retrofit封装
- 封装Retrofit
- Retrofit的使用封装
- flux-retrofit-okhttp封装
- Retrofit项目封装使用
- Retrofit框架基本封装
- Retrofit+Rxjava的封装
- Retrofit+RxJava 完美封装
- Retrofit简单封装
- Retrofit封装和使用
- Retrofit的简单封装
- retrofit+RXjava二次封装
- Retrofit的简单封装
- Retrofit+RxJava 简单封装
- Retrofit简单封装
- 文章标题
- HDU 2159:FATE
- JAVA中(分组)正则表达式的应用
- 让不懂编程的人爱上iPhone开发(2017秋iOS11+Swift4+Xcode9版)-第7篇
- C
- Retrofit封装
- Unity软件界面--Unity基本介绍
- 重新开了一个信号
- Android O 权限警告(not in privapp-permissions whitelist)解决
- Redis4.0新特性(二)-Lazy Free
- at org.apache.jsp.WEB_002dINF.pages.jsp._jspInit( login_jsp.java:22)
- linux基础(十八)管理虚拟机
- android精选源码,erp交互效果摩天轮高仿斗鱼直播View炫酷进度条源码
- sharding-jdbc