Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class BaseApi {
- private static BaseApi instance = null;
- public static CryptoApi service;
- private static OkHttpClient client;
- private static Retrofit retrofit;
- public BaseApi() {
- HttpLoggingInterceptor logger = new HttpLoggingInterceptor();
- logger.setLevel(HttpLoggingInterceptor.Level.BODY);
- client = new OkHttpClient.Builder()
- .connectTimeout(60, TimeUnit.SECONDS)
- .readTimeout(30, TimeUnit.SECONDS)
- .addInterceptor(logger)
- .build();
- retrofit = new Retrofit.Builder()
- .baseUrl(BuildConfig.BASE_URL)
- .client(client)
- .addConverterFactory(GsonConverterFactory.create())
- .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
- .build();
- service = retrofit.create(CryptoApi.class);
- }
- public static BaseApi getInstance() {
- if (instance == null) {
- instance = new BaseApi();
- }
- return instance;
- }
- }
- public interface CryptoApi {
- @GET("?limit=5")
- Observable<List<Crypto>> getCrypto();
- }
- private void getCrypto() {
- Subscription subscription = BaseApi.getInstance().service.getCrypto()
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(crypto -> {
- Log.d("Crypto", crypto.toString())
- }, throwable -> {
- Log.e("User from server error", String.valueOf(throwable));
- });
- addSubscription(subscription);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement