AndroidのHTTPクライアント

Android Developers Blog: Android’s HTTP Clients 

もう今後は、HttpURLConnection を使うのがよいと書いている。そして、IceCreamSandwichではレスポンスキャッシュが利用できるらしい。

  • キャッシュされたレスポンスは、ローカルストレージから直接提供されます。ネットワーク接続がないのですぐにご利用いただけます。
  • 条件付きでキャッシュされた応答は、Webサーバーによって検証される彼らの新鮮さを持っている必要があります。
  • キャッシュされていないレスポンスは、ウェブから配信されます。これらのレスポンスは、キャッシュに格納されてしまいます。

それをサポートするデバイスで、HTTPレスポンスのキャッシュを有効にするためにリフレクションを使用してください。このサンプルコードは、以前のリリースに影響を与えずに、IcecreamSandwitchのレスポンスキャッシュをオンにします。

private void enableHttpResponseCache() {
    try {
        long httpCacheSize = 10 * 1024 * 1024; // 10 MiB
        File httpCacheDir = new File(getCacheDir(), "http");
        Class.forName("android.net.http.HttpResponseCache")
            .getMethod("install", File.class, long.class)
            .invoke(null, httpCacheDir, httpCacheSize);
    } catch (Exception httpResponseCacheNotAvailable) {
    }
}

HttpURLConnection