mehrdadf7 / EasyOkHttp

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

EasyOkHttp

Fast and easy RESTful api request for android that parse response by gson and it using: OkHttp and RxJava-RxAndroid and Gson

Quick Setup

add EasyOkHttp to dependencies :

implementation 'github.mehrdadf7:okhttp:1.1.7'

min api = 15

Don't forget Connect your phone to internet :) and notice jcenter() is added :

repositories {
        jcenter()
    }

How to use

AndroidManifest.xml :

<uses-permission android:name="android.permission.INTERNET" />

activity or fragment :

OkHttpInjector.getHttpClient().makeRequest(
      HttpRequest.Method method, //GET, POST
      String url, 
      String requestBody, //JsonObject requestBody
      Class<T> responseType //ClassModel.class
  ).send().observeOn(AndroidSchedulers.mainThread()).subscribeOn(Schedulers.newThread())
                .subscribe(new Observer<T>() {
                    @Override
                    public void onSubscribe(Disposable d) {
                        // pre-request
                    }

                    @Override
                    public void onNext(T t) {
                      //response(t)
                    }

                    @Override
                    public void onError(Throwable e) {
                      //handle error
                    }

                    @Override
                    public void onComplete() {
                      //complete-request
                    }
                });               

JAVA

// Observer<T> and Observable<T> in 'io.reactivex' package name
public void requestName(Observer<ClassModel> observer) {
                OkHttpInjector.getHttpClient().makeRequest(
                        HttpRequest.Method.GET, //HttpRequest.Method.POST
                        url,
                        "", //jsonObject
                        ClassModel.class
                ).send().observeOn(AndroidSchedulers.mainThread()).subscribeOn(Schedulers.newThread())
                .subscribe(observer);
    }

KOTLIN

fun requestName(observer: Observer<ClassModel>) {
        OkHttpInjector.getHttpClient()?.makeRequest(
            HttpRequest.Method.GET, //HttpRequest.Method.POST
            url,
            "", //jsonObject
            ClassModel::class.java
        )?.send()?.observeOn(AndroidSchedulers.mainThread())?.subscribeOn(Schedulers.newThread())
            ?.subscribe(observer)
    }

About


Languages

Language:Java 100.0%