【问题标题】:httpclient, DefaultHttpClient, HttpPost ,BasicNameValuePair,NameValuePair are deprecatedhttpclient、DefaultHttpClient、HttpPost、BasicNameValuePair、NameValuePair 已弃用
【发布时间】:2015-06-15 11:44:58
【问题描述】:

我是安卓应用的新手。我想将数据从 android 应用程序发送到 php 页面的要点,但我的代码中出现以下错误

org.apache.http.impl.client.defaulthttpclient 已弃用。

我尝试了很多方法,但还没有成功。

我的机器人是1.2.1.1 (API 22: 5.1.1)

下面是我的代码。

HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://www.yoursite.com/script.php");

try {
    // Add your data
    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
    nameValuePairs.add(new BasicNameValuePair("dataOne", "Hello"));
    nameValuePairs.add(new BasicNameValuePair("dataTwo", "Android World"));
    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

    // Execute HTTP Post Request
    HttpResponse response = httpclient.execute(httppost);

} catch (ClientProtocolException e) {
    // TODO Auto-generated catch block
} catch (IOException e) {
    // TODO Auto-generated catch block
}

【问题讨论】:

    标签: java android


    【解决方案1】:

    你可以:

    • 改用Apache's HttpClient standalone library,或

    • 切换到使用 Java 的标准 HttpUrlConnection,或

    • 切换到独立的HTTP访问库,比如OkHttp,或者

    • 继续使用已弃用的类和方法,记住这样做会随着时间的推移变得越来越困难

    【讨论】:

    • 感谢您的帮助,但正如我所说我是 android 新手,所以我不知道如何切换到使用 Apache 的 HttpClient 独立库,切换到使用 Java 的标准 HttpUrlConnection 并切换到独立的 HTTP 访问库.请告诉我我在做什么来切换?
    • @MakameSharif:那么您将需要学习,就像您需要学习如何构建 Android 应用程序一样。 HttpUrlConnection 已经存在近 20 年了。有许多关于 Java 编程的书籍、博客文章和在线教程将涵盖 HttpUrlConnection。关于其他选项,您可以先单击我的答案中的链接,这些链接会指向讨论这些库的网页。
    • 感谢您帮助我的意图,我知道您的意思。谢谢你,但让我再问一个问题。我想将数据写入文本文件,但我知道在哪里创建我的文本文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多