为Retrofit配置Gson、RxJava
public class RetrofitUtil {
public static final String BASE_URL = "";
public static final String VERSION = "";
private static RetrofitUtil instance = new RetrofitUtil();
private Retrofit retrofit;
private RetrofitApi api;
/**
* 构造方法
*/
public RetrofitUtil() {
Gson gson = new GsonBuilder()
//配置你的Gson
.setDateFormat("yyyy-MM-dd hh:mm:ss")
.create();
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create(gson))
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.build();
}
/**
* 获取RetrofitApi实例
*
* @return
*/
public static RetrofitApi getRetrofitApi() {
return instance.retrofit.create(RetrofitApi.class);
}
}
网络请求接口
public interface RetrofitApi {
@GET(RetrofitUtil.VERSION)
Observable<VersionInfo> getNewVersion();
}
调用
private void getData() {
RetrofitUtil.getRetrofitApi().getNewVersion()
.subscribeOn(Schedulers.io())
.subscribe(new Subscriber<VersionInfo>() {
@Override
public void onCompleted() {
Log.e("TAG", "onCompleted");
}
@Override
public void onError(Throwable e) {
Log.e("TAG", "onError");
}
@Override
public void onNext(VersionInfo versionInfo) {
Log.e("TAG", versionInfo.toString());
}
});
}