Skip to content

Applications

D edited this page Apr 28, 2019 · 4 revisions
public class App extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        // Init Aster
        Aster.init(getApplicationContext(), RetrofitModule.factory());

    }
}

Also, you can choose other integrated libraries. HttpURLConnection:

Aster.init(getApplicationContext(), HttpModule.factory());

or OkHttp3:

Aster.init(getApplicationContext(), OkHttpModule.factory());

or Volley:

Aster.init(getApplicationContext(), VolleyModule.factory());

or Custom:

Aster.init(getApplicationContext(), new AppAsterModule());

AppAsterModule.class

public class AppAsterModule extends OkHttpModule {

    @Override
    public void applyOptions(@NonNull Context context, @NonNull Config.Builder builder) {
        Map<String, String> headers = new HashMap<>();
        headers.put(API.CommonHeader.platform, "Android");
        headers.put(API.CommonHeader.appVersion, "v1.0.0");

        builder.baseUrl(API.API_BASE)
                .headers(headers)
                .headers(new HeadersInterceptor.OnHeadInterceptor() {
                    @Override
                    public void intercept(Map<String, String> heads) {
                        // Add a dynamic request header such as token
                        heads.put("token", "008");
                    }
                })
                .connectTimeout(10 * 1000)
                .readTimeout(10 * 1000)
                .writeTimeout(10 * 1000)
                .retryCount(0)
                .retryDelayMillis(3 * 1000)
                .sslSocketFactory(SSLUtil.getSslSocketFactory(null, null, null))
                .log("AsterLog Back = ", Config.Level.BODY)
                .debug(true)
                .build();
    }
}
Clone this wiki locally