RetrofitUtils
package com.example.weekexam0619.utils; import java.util.concurrent.TimeUnit; import okhttp3.OkHttpClient; import okhttp3.logging.HttpLoggingInterceptor; import retrofit2.Retrofit; import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory; import retrofit2.converter.gson.GsonConverterFactory; /** * Created by john on 2018/6/19. */ public class RetrofitUtils { public static ApiService getInstance(){ OkHttpClient client=new OkHttpClient.Builder() .connectTimeout(5, TimeUnit.SECONDS) .readTimeout(5,TimeUnit.SECONDS) .addInterceptor(new HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY)) .build(); Retrofit retrofit=new Retrofit.Builder() .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) .client(client) .baseUrl(ApiService.URL) .build(); ApiService apiService=retrofit.create(ApiService.class); return apiService; } }
Apiservice
package com.example.weekexam0619.utils; import com.example.weekexam0619.bean.BannerBean; import com.example.weekexam0619.bean.NewsBean; import io.reactivex.Observable; import retrofit2.http.GET; /** * Created by john on 2018/6/19. */ public interface ApiService { String URL="http://www.wanandroid.com/"; @GET("article/list/0/json") Observable<NewsBean> getNews(); @GET("banner/json") Observable<BannerBean> getBanner(); }