名称值对错误 "NameValuePair cannot be resolved to a type"

4
我是 Android 新手,正在创建一个类似于这个教程的项目,但出现了以下照片中显示的错误。请帮我解决问题。enter image description here

1
你是否已经导入了 org.apache.http.NameValuePair - Andrew Brooke
@AndrewBrooke 先生,是的,我已经导入了,现在问题已经解决了,当我将我的SDK版本更改为21时,但仍然出现这样的错误http://postimg.org/image/ykjyfg7hj/。 - Than Htut
@Boss,问题已经解决了,当我将SDK版本改为21时,错误仍然存在,类似于这个postimg.org/image/ykjyfg7hj。 - Than Htut
1个回答

9

你的项目的compileSdkVersion设置为23。 Apache的HttpClient库已从Android SDK中删除,在API Level 23中

如果你将compileSdkVersion更改为21,你的应用程序将可以编译通过。或者,有在Android Studio中继续使用HttpClient的解决方法。然而,对于长期开发,你真的需要转向其他HTTP API。这个“其他”可能是:

或者,根据您的HTTP工作性质,您可以选择支持高阶操作(例如,用于Web服务API的Retrofit)的库。


我已经使用Volley约一个月,仅在一个简单的项目中使用了Retrofit。我读过很多话题,说Retrofit比Volley更好。今天我刚刚阅读了这篇文章,发现我像那位作者一样更喜欢Volley :-)。然而,当有更多时间时,我会学习更多关于Retrofit的知识。 - BNK
1
@BNK:Retrofit和Volley(以及Ion和无数其他库)并不是“原始”的HTTP客户端,而是专为特定操作设计的(例如,Retrofit专为与Web服务通信而设计)。我的项目列表是一组通用的HTTP客户端,可以执行几乎任何HTTP操作,尽管需要更多的代码。 - CommonsWare
1
啊,我发现OkHttp很好地支持了多部分 :-) - BNK
@CommonsWare 旁边的问题,使用 okhttp 不需要 AsyncTask,对吧?而 AndroidAsync 和 AsyncTask 是不同的,正确吗? - Moudiz
1
@Moudiz:“使用OkHttp不需要AsyncTask,对吧?”-- OkHttp有自己的异步方法,您可以安全地从主应用程序线程调用它们。“而AndroidAsync与AsyncTask不同”--是的。 - CommonsWare
显示剩余5条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接