首先导入依赖
implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation 'com.squareup.okhttp3:okhttp:3.1.2'
implementation 'com.facebook.fresco:fresco:0.12.0'
implementation 'com.squareup.retrofit2:converter-gson:2.1.0'
implementation 'com.squareup.retrofit2:retrofit:2.1.0'
implementation 'io.reactivex.rxjava2:rxjava:2.0.1'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
implementation'com.squareup.retrofit2:adapter-rxjava2:2.2.0'
implementation 'com.squareup.okhttp3:okhttp:3.7.0'
implementation 'com.github.bumptech.glide:glide:4.9.0'
implementation 'com.google.code.gson:gson:2.8.5'
//导入eventBus的依赖
implementation 'org.greenrobot:eventbus:3.1.1'
//butterknife依赖
implementation 'com.jakewharton:butterknife:9.0.0-rc1'
annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-rc1'
//拦截器
implementation 'com.squareup.okhttp3:logging-interceptor:3.12.0'
//及解决冲突
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '28.0.0'
}
}
}
}
(用的是Retrofit+OkHttp+RxJava)MVP框架
首先搭建好MVP框架(这个不用说)
然后解析一个二级列表购物车Bean类
model层创建一个Api接口类用来跟网络封装类拼接口
public class RetrofitOkRxUtils {
public OkHttpClient okHttpClient;
public final Api api;
private RetrofitOkRxUtils(){
okHttpClient = new OkHttpClient.Builder()
.connectTimeout(5, TimeUnit.SECONDS)
.readTimeout(5,TimeUnit.SECONDS)
.writeTimeout(5,TimeUnit.SECONDS)
.addInterceptor(new HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY))//拦截器
.build();
//Retrofit+RxJava
Retrofit retrofit = new Retrofit.Builder()
.client(okHttpClient)
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.baseUrl("http://172.17.8.100/")
.build();
api = retrofit.create(Api.class);
}
public static RetrofitOkRxUtils getInstance(){
return OkHolder.instance;
}