1

我将在 Eclipse Java 项目中运行良好的代码复制到了 Android 项目中,即使我导入了相同的 .jar,我在 Android 项目中也遇到了编译错误。

在 Android 项目中,Eclipse 在以下行中显示错误“ The constructor StringEntity(String, String, String) is undefined ”:

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

但在另一个 Java 项目中,它编译并运行良好。文档说构造函数确实StringEntity(String string, String mimeType, String charset)存在。

org.apache.http.entity.StringEntity在两个项目中导入相同的内容。Eclipse 项目中使用的 jar 与 Android 项目中使用的 jar 相同。我什至复制并粘贴了它们。我也清理了项目。仍然没有成功。谁能向我解释为什么会发生这个错误?

4

2 回答 2

2

Android 不使用最新版本的 HttpClient 4.x。

Android 版本StringEntity目前只有这些构造函数:

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

我假设 Android SDK 类优先于您作为 JAR 提供的相同类。我会删除 JAR 以避免将来出现这种混淆——拥有相同类的不同版本对任何人都没有好处。

于 2012-04-18T22:09:45.583 回答
2

您的项目很可能使用不同版本的 Apache Http 组件。该库已集成到 Android 中,并且很少是最新发布的版本。您当前使用的实际版本将取决于您使用的 Android 版本。

于 2012-04-18T21:49:54.967 回答