1

Eclipse Javaプロジェクトで正常に機能するコードをAndroidプロジェクトにコピーしました。同じ.jarをインポートしても、Androidプロジェクトでコンパイルエラーが発生します。

Androidプロジェクトでは、Eclipseは次の行に「コンストラクターStringEntity(String、String、String)isundefined 」というエラーを表示します。

StringEntity se = new StringEntity("example data.", "application/json", "UTF-8");

しかし、他のJavaプロジェクトでは、コンパイルして正常に実行されます。ドキュメントには、コンストラクターが存在すると記載されStringEntity(String string, String mimeType, String charset)ています。

org.apache.http.entity.StringEntity2つのプロジェクトで同じものをインポートしています。Eclipseプロジェクトで使用されるjarは、Androidプロジェクトで使用されるものと同じです。コピーして貼り付けました。私もプロジェクトを掃除しました。まだ成功していません。このエラーが発生している理由を誰かに説明してもらえますか?

4

2 に答える 2

2

Androidは最新バージョンのHttpClient4.xを使用しません。

現在のAndroidバージョンにStringEntityは、次のコンストラクターのみがあります。

  • StringEntity(String s, String charset)
  • StringEntity(String s)

Android SDKクラスは、JARとして提供するのと同じクラスよりも優先されていると思います。将来、この種の混乱を避けるために、JARを削除します。同じクラスの異なるバージョンを使用しても、誰もうまくいきませんでした。

于 2012-04-18T22:09:45.583 に答える
2

プロジェクトでは、さまざまなバージョンのApacheHttpコンポーネントを使用している可能性があります。そのライブラリはAndroidに組み込まれており、最新のリリースバージョンはめったにありません。現在使用している実際のバージョンは、使用しているAndroidのバージョンによって決まります。

于 2012-04-18T21:49:54.967 に答える