GlideのバックエンドをOkHttp3にするには、 okhttp3-integration
を使います。
dependencies { compile 'com.github.bumptech.glide:okhttp3-integration:1.4.0@aar' }
これだけで、GlideのバックエンドHTTPクライアントがOkHttp3になります。
しかし、カスタムOkHttp3インスタンスを与えるにはさらに一工夫必要で、具体的には、アプリケーション用のGlideModuleを実装してAndroidManifestで宣言する必要があります。
まず、GlideModuleを実装したクラスを定義します。
public class OkHttp3GlideModule implements GlideModule { OkHttpClient client = ...; // 何らかの方法でOkHttpClientのインスタンスを得る @Override public void applyOptions(Context context, GlideBuilder builder) { } @Override public void registerComponents(Context context, Glide glide) { Log.d("OkHttp3GlideModule", "registerComponents"); // glideに登録する。 // OkHttpUrlLoaderはokhttp3-integrationに定義されたクラス glide.register(GlideUrl.class, InputStream.class, new OkHttpUrlLoader.Factory(client)); } }
これをAndroidManifestで宣言します。
<application> <meta-data android:name="com.example.app.OkHttp3GlideModule" android:value="GlideModule" /> </application>
これでGlideでカスタムOkHttp3インスタンスが使われるようになります。