package com.bawei.jiejiaqi0321.utils;
import com.bawei.jiejiaqi0321.api.Api;
import okhttp3.OkHttpClient;
import okhttp3.logging.HttpLoggingInterceptor;
import retrofit2.Retrofit;
import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
import retrofit2.converter.gson.GsonConverterFactory;
public class RetrofisHttps {
private static RetrofisHttps retrofisHttps;
private final OkHttpClient okHttpClient;
private final Retrofit build;
public static RetrofisHttps getInance(){
if (retrofisHttps == null){
synchronized (RetrofisHttps.class){
if (retrofisHttps == null){
retrofisHttps = new RetrofisHttps();
}
}
}
return retrofisHttps;
}
private RetrofisHttps(){
HttpLoggingInterceptor httpLoggingInterceptor = new HttpLoggingInterceptor();
httpLoggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
okHttpClient = new OkHttpClient.Builder()
.addInterceptor(httpLoggingInterceptor)
.addNetworkInterceptor(httpLoggingInterceptor)
.build();
build = new Retrofit.Builder()
.baseUrl(Api.HomeApi)
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
.client(okHttpClient)
.build();
}
public<T> T create(Class<T> tClass){
return build.create(tClass);
}
}
RetrofisHttps
package com.bawei.jiejiaqi0321.mvp.CaXun.modle;
import com.bawei.jiejiaqi0321.api.ApiService;
import com.bawei.jiejiaqi0321.mvp.CaXun.bean.CXBean;
import com.bawei.jiejiaqi0321.mvp.CaXun.callback.CXCallBack;
import com.bawei.jiejiaqi0321.mvp.CaXun.contract.CXContract;
import com.bawei.jiejiaqi0321.mvp.homepage.callback.HomeCallBack;
import com.bawei.jiejiaqi0321.mvp.homepage.contract.HomeContract;
import com.bawei.jiejiaqi0321.mvp.homepage.homebean.HomeBean;
import com.bawei.jiejiaqi0321.mvp.homepage.homebean.RXBean;
import com.bawei.jiejiaqi0321.utils.RetrofisHttps;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.observers.DisposableObserver;
import io.reactivex.schedulers.Schedulers;
public class CXModle implements CXContract.IModle{
private ApiService apiService;
@Override
public void Molde(String p, String p1, String p2, final CXCallBack cxCallBack) {
apiService = RetrofisHttps.getInance().create(ApiService.class);
apiService.facx(p,p1,p2)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new DisposableObserver<CXBean>() {
@Override
public void onNext(CXBean value) {
cxCallBack.onCXSuccess(value);
}
@Override
public void onError(Throwable e) {
System.out.println("报错了6666666666666666666666666666666666666"+e);
}
@Override
public void onComplete() {
}
});
}
}
Modle
package com.bawei.jiejiaqi0321.app;
import android.app.Application;
import com.facebook.cache.disk.DiskCacheConfig;
import com.facebook.common.util.ByteConstants;
import com.facebook.drawee.backends.pipeline.Fresco;
import com.facebook.imagepipeline.core.ImagePipelineConfig;
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
DiskCacheConfig diskCacheConfig =
DiskCacheConfig.newBuilder(this)
.setBaseDirectoryPath(this.getApplicationContext()
.getCacheDir())
.setBaseDirectoryName("com.bwei.work_three")
.setMaxCacheSize(100 * ByteConstants.MB)
.setMaxCacheSizeOnLowDiskSpace(60 * ByteConstants.MB)
.setMaxCacheSizeOnVeryLowDiskSpace(20 * ByteConstants.MB)
.build();
ImagePipelineConfig build = ImagePipelineConfig.newBuilder(this)
.setMainDiskCacheConfig(diskCacheConfig)
.build();
Fresco.initialize(this,build);
}
}
Fresco图片加载