public class HttpHelper {
private BaseService mbaseService;
public HttpHelper() {
Retrofit retrofit = new Retrofit.Builder()
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.baseUrl(HttpUrl.BaseUrl)
.build();
mbaseService = retrofit.create(BaseService.class);
}
public HttpHelper get(String url, Map<String, String> map) {
if (map == null) {
map = new HashMap<>();
}
mbaseService.get(url, map)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(observer);
return this;
}
public HttpHelper post(String url, Map<String, String> map) {
if (map == null) {
map = new HashMap<>();
}
mbaseService.post(url, map)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(observer);
return this;
}
private Observer observer = new Observer<ResponseBody>() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onNext(ResponseBody body) {
try {
String string = body.string();
lisener.suecss(string);
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void onError(Throwable e) {
String message = e.getMessage();
lisener.error(message);
}
@Override
public void onComplete() {
}
};
private HttpLisener lisener;
public void resout(HttpLisener lisener){
this.lisener = lisener;
}
public interface HttpLisener{
void suecss(String data);
void error(String data);
}
}