我将在Eclipse Java项目中运行良好的代码复制到Android项目中,即使我导入相同的.jars,我也会在Android项目中遇到编译错误。
在Android项目中,Eclipse在以下行中显示错误“构造函数StringEntity(String,String,String)未定义”:
StringEntity se = new StringEntity("example data.", "application/json", "UTF-8");
但是在另一个Java项目中,它编译并运行良好。 documentation表示构造函数StringEntity(String string, String mimeType, String charset)
确实存在。
我在两个项目中导入相同的org.apache.http.entity.StringEntity
。 Eclipse项目中使用的jar与Android项目中使用的相同。我甚至复制并粘贴了它们。我也清理了这个项目。仍然没有成功。任何人都可以向我解释为什么会发生这种错误吗?
答案 0 :(得分:2)
您的项目很可能使用不同版本的Apache Http组件。该库已经融入Android,很少发布最新版本。您当前使用的实际版本将取决于您正在使用的Android版本。
答案 1 :(得分:2)
Android不使用最新版本的HttpClient 4.x。
Android version of StringEntity
目前只有这些构造函数:
StringEntity(String s, String charset)
StringEntity(String s)
我认为Android SDK类优先于您提供的与JAR相同的类。我将删除JAR以避免将来出现这种混淆 - 同一类的不同版本从未对任何人有好处。