2016-05-29 130 views
2

我正在学习使用Lynda 2014教程的Android宁静Web服务。该代码使用此httpManager类:无法导入AndroidHttpClient;

import android.net.http.AndroidHttpClient; 

    public class HttpManager { 

     public static String getData(String uri) { 
      HttpClient client = AndroidHttpClient.AndroidHttpClient.netInstance("AndroidAgaent"); 
      HttpGet request = New HttpGet(uri); 
      HttpResponse response; 

      try { 
       response = client.execute(request); 
       return EntiyUtils.toString(response.getEntinity()); 
      } catch (Exception e) { 
       e.printStackTrace(); 
       return null; 
      } finally { 
       client.close(); 
      } 
     } 
    } 

不过,Android工作室说:

无法解析符号 'AndroidHttpClient'

我设置minSdkVersion 8,但还是没能解决的问题。

我想知道如何解决这个问题,或者如果类已经丢弃,如何用开箱即用的当前类替换代码?

+1

https://stackoverflow.com/questions/32949626/org-apache-http-entity-fileentity-is-deprecated-in-android-6-marshmallow – CommonsWare

+0

感谢CommonsWare的提示。那么okhttp仍然是你的个人建议? – Karlom

+2

如果您将自己限制为“当前支持开箱即用的类”,则您唯一的选择是“HttpURLConnection”。如果您愿意使用图书馆,我推荐使用HTTP系列的HTTP库:OkHttp3(普通HTTP),Retrofit(Web服务)和Picasso(图像)。 – CommonsWare

回答

0

如果使用Android Studio中,添加这些依赖在你构建的gradle:

compile 'org.apache.httpcomponents:httpcore:4.4.1'
compile 'org.apache.httpcomponents:httpclient:4.5'