1

http クライアント関連のクラスがあるため、多くの廃止予定があります。

ここに私のコード:

    this.httpclient = new DefaultHttpClient();
    HttpGet httpget = new HttpGet(url);
    HttpResponse response = this.httpclient.execute(httpget);
    HttpEntity entity = response.getEntity();
    int statusCode = response.getStatusLine().getStatusCode();
     if (statusCode == HttpStatus.SC_OK) {
        BufferedReader reader = new BufferedReader(
                new InputStreamReader(entity.getContent(),
                        EntityUtils.getContentCharSet(entity))
        );
        String line = null;
        Matcher matcher = null;
        while ((line = reader.readLine()) != null) {
            matcher = matcher == null ? this.resultPattern
                    .matcher(line) : matcher.reset(line);
            if (matcher.matches()) {
                httpget.abort();
                return Double.parseDouble(matcher.group(1));
            }
        }
        httpget.abort();
        throw new MyException("Could not find ["
                + resultPattern.toString() + "] in response to [" + url
                + "]");
    } else {
        if (entity != null) {
            entity.consumeContent();
        }
        throw new MyException("Got [" + statusCode
                + "] in response to [" + url + "]");
    }

DefaultHttpClient 非推奨非 HttpResponse 推奨 非 HttpEntity 推奨

ネイティブ ライブラリを使用して修正するにはどうすればよいですか? 私は検索し、何人かの人々をHttpClient使用しHttpClientBuilderましたが、追加のライブラリが必要であり、さらに、他の非推奨の問題を修正する方法がわかりません。

私を助けることができるプログラマーはいますか?この大規模な非推奨の理由は何ですか?

を使用する必要があるHttpURLConnectionようですが、コードをこれらのライブラリに移行する方法がわかりません。

4

4 に答える 4

0

Googleのドキュメントにあるように、HTTP Apache API インターフェイスは引き続き使用できます。gradle.build ファイルで次の依存関係を宣言します。

android {
    useLibrary 'org.apache.http.legacy'
}
于 2015-09-22T07:31:03.003 に答える
0

ネイティブ ライブラリを使用して修正するにはどうすればよいですか?

このコンテキストで「ネイティブ ライブラリ」を何と考えているのか、私にはわかりません。Android の組み込み版の HttpClient は Android 5.1 で廃止され、M Developer Preview では完全に削除されました。

Apache HttpClient API を使い続ける必要がある場合は、Apache版のライブラリに切り替えてください。

HttpUrlConnectionまたは、ビルトインのOkHttpなど、任意の数の他の HTTP API に切り替えます。

この大規模な非推奨の理由は何ですか?

Googleは、数年前から HttpClient を使用しないように指示してきました。彼らは今、これを強制しているだけです。

于 2015-07-21T12:04:06.917 に答える
-1

Android 向けに開発している場合は、すでに Volley に移行する必要があります。これははるかに優れています。これらのメソッドは非推奨であり、私が覚えているように他のネイティブ ライブラリはありません。

于 2015-07-21T12:01:21.170 に答える