封装Retrofit,RXJAVA,okhttp网络请求的工具
16lz
2021-01-26
package com.example.weekly_dome.retrofit;
import com.example.weekly_dome.bean.NewsBean;
import com.example.weekly_dome.view.MView;
import java.util.Map;
import okhttp3.OkHttpClient;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
/**
* Created by z on 2017/12/30.
*/
public class RetrofitUtils {
private static volatile RetrofitUtils instance;
private final Retrofit retrofit;
private ApiService apiService;
public RetrofitUtils(String baseUrl){
retrofit = new Retrofit.Builder()
.addConverterFactory(GsonConverterFactory.create())
.client(new OkHttpClient())
.baseUrl(baseUrl)
.build();
}
public static RetrofitUtils getInstance(String baseUrl){
if(null==instance){
synchronized (RetrofitUtils.class){
if(instance==null){
instance=new RetrofitUtils(baseUrl);
}
}
}
return instance;
}
public void getNews(final MView mView, Map map){
apiService = retrofit.create(ApiService.class);
apiService.getData(map).enqueue(new Callback() {
@Override
public void onResponse(Call call, Response response) {
NewsBean body = response.body();
mView.onSueecss(body);
}
@Override
public void onFailure(Call call, Throwable t) {
mView.onFailed(t);
}
});
}
}
import com.example.weekly_dome.bean.NewsBean;
import com.example.weekly_dome.view.MView;
import java.util.Map;
import okhttp3.OkHttpClient;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
/**
* Created by z on 2017/12/30.
*/
public class RetrofitUtils {
private static volatile RetrofitUtils instance;
private final Retrofit retrofit;
private ApiService apiService;
public RetrofitUtils(String baseUrl){
retrofit = new Retrofit.Builder()
.addConverterFactory(GsonConverterFactory.create())
.client(new OkHttpClient())
.baseUrl(baseUrl)
.build();
}
public static RetrofitUtils getInstance(String baseUrl){
if(null==instance){
synchronized (RetrofitUtils.class){
if(instance==null){
instance=new RetrofitUtils(baseUrl);
}
}
}
return instance;
}
public void getNews(final MView mView, Map
apiService = retrofit.create(ApiService.class);
apiService.getData(map).enqueue(new Callback
@Override
public void onResponse(Call
NewsBean body = response.body();
mView.onSueecss(body);
}
@Override
public void onFailure(Call
mView.onFailed(t);
}
});
}
}
更多相关文章
- 代码中设置drawableleft
- android 3.0 隐藏 系统标题栏
- Android开发中activity切换动画的实现
- Android(安卓)学习 笔记_05. 文件下载
- Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
- 技术博客汇总
- android 2.3 wifi (一)
- AndRoid Notification的清空和修改
- Android中的Chronometer