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.
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. , ? ? !