私はApache HttpAsyncClient(この記事の執筆時点で最新のバージョン4.0-beta1)でAndroid上でREST通信を実装しようとしています。Apache HttpAsyncClient - NoSuchMethodError - URIUtils.extractHost
私の問題は、フレームワーク内から来るMethodNotFoundエラーのために、私が要求を出すことができないということです。
詳細なスタックトレースは、(提示した行の後、次の1は自分のコードから来ている)である:
java.lang.NoSuchMethodError: org.apache.http.client.utils.URIUtils.extractHost
at org.apache.http.impl.nio.client.AbstractHttpAsyncClient.determineTarget(AbstractHttpAsyncClient.java:594)
at org.apache.http.impl.nio.client.AbstractHttpAsyncClient.execute(AbstractHttpAsyncClient.java:578)
at org.apache.http.impl.nio.client.AbstractHttpAsyncClient.execute(AbstractHttpAsyncClient.java:569)
私は、次のされたもの:
private static final String SERVER_SCHEME = "http";
private static final String SERVER_HOST = "localhost";
private static final int SERVER_PORT = 3000;
private static final String SERVER_BASE_PATH = "/api/v1";
private static final String PATH_LOGIN = "/login";
private DefaultHttpAsyncClient http_client;
public void test(String email, String password, ConnectionManagerCallback callback) {
this.http_client = new DefaultHttpAsyncClient();
this.http_client.start();
this.http_client.getCredentialsProvider().setCredentials(new AuthScope(SERVER_HOST, SERVER_PORT), new UsernamePasswordCredentials(email, password));
HttpPost request = new HttpPost(SERVER_SCHEME + "://" + SERVER_HOST + ":" + SERVER_PORT + SERVER_BASE_PATH + PATH_LOGIN);
this.http_client.execute(request, new Callback(REQUEST_LOGIN, callback));
}
私は例外を削除しましたこの例のための処理。問題は、私は上記の例外を得ることです。だからベータ版なので、私はHttpPostのために別のコンストラクタを使うことを考えました。しかし、コンストラクタにURI Objectを渡しても、extractHostメソッドを呼び出してクラッシュします。
誰も私のためにこの1つの助けを持っていますか?私はちょうどその途中でJARファイルを追加し、ライブラリを自分でコンパイルしませんでした。
あなたが使用しているJarsがあなたのコード(新しいバージョン/古いバージョン)と互換性がないと思います。正しいバージョンを取得しようとするか、Jarのバージョンに従ってコードを変更してください。 – kosa
答え[ここ](http://stackoverflow.com/questions/10155513/android-nosuchmethoderror-with-apk-file-apache-httputils-core/10258360#10258360)が役立つかどうかを確認してください。 – yorkw