Implementation Optimization

We create an application using Retrofit, where we have a separate module for connecting to our server. Now, as it is currently being developed, in the module we have the RestClient class with rest adapters and interfaces defined using routes. For simplicity, I provide one sample resting point.

// Rest adapter instance
    private static RestAdapter getRestAdapter() {

        if (!isDebuggable) {
            URL = URL_PROD;
        } else {
            URL = URL_UAT;
        }

        if (mRestAdapter != null) {
            return mRestAdapter;
        }
        return mRestAdapter = new RestAdapter.Builder()
                .setEndpoint(URL)
                .setRequestInterceptor(authHeader())
                .setLogLevel(RestAdapter.LogLevel.FULL)
                .build();
    }


private interface IApiClient {

        @POST("/register")
        void register(@Body JsonObject dataObject, Callback<SignInResponse> signInResponseCallback);

}

and relevant customers are defined as follows:

public static void register(JsonObject jsonObject, final ErrorNetworkResponse<SignInResponse> listener) {
        getRestAdapter().create(IApiClient.class).register(jsonObject, new Callback<SignInResponse>() {
            @Override
            public void success(SignInResponse signInResponse, Response response) {

                if (listener != null) {
                    listener.onSuccess(signInResponse);
                }
            }

            @Override
            public void failure(RetrofitError error) {
                Log.e("RegisterAPI", error.toString());
                if (listener != null) {
                    listener.onError(error);
                }
            }
        });
    }

, , 1. api , . 2. Activity, Android. , Otto/EventBus api. , ? ? !

+4

Source: https://habr.com/ru/post/1613637/


All Articles