无法在Android Studio中导入org.apache.http.HttpResponse

我想在Android Studio中使用这些库:

import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; 

我正在跟随一个教师正在使用Eclipse的video教程,所以我知道它的工作原理。

但是,为了使用它们,还需要添加哪些附加内容/库?

  • zipalign工具没有在SDK中find
  • Android Webview应用程序不会让video播放器全屏显示
  • Eclipse尝试运行Android应用程序时发生错误
  • 新的PhoneGap 3.0导入org.apache.cordova无法parsing
  • 更改Android项目SDK级别
  • Eclipse即使单击“运行”也会运行调试模式
  • 升级到Android SDK 2.3和ADT 8.0后,“无法获取项目的系统库”
  • Eclipse没有在模拟器上第二次运行Android应用程序
  • HttpClient在Android 5.1中被弃用,并从Android 6.0中的Android SDK中被移除。 虽然在Android Studio中继续使用Android 6.0中的HttpClient有一个解决方法 ,但您确实需要转移到其他方面。 这个“别的东西”可能是:

    • 内置经典的Java HttpUrlConnection
    • Apache的Android独立包装HttpClient
    • OkHttp (我的build议)
    • AndroidAsync

    或者,根据HTTP工作的性质,您可以select支持更高阶操作的库(例如,对Web服务API进行改造)。

    在一个捏,你可以启用传统的API,通过在你的模块的build.gradle文件的androidclosures中使用useLibrary 'org.apache.http.legacy' 。 然而,谷歌多年来一直build议人们停止使用Android内置的HttpClient,因此,这应该是一个阻碍,而您正在更加长期地转向另一个API。

    HttpClient在sdk 23中被弃用

    你必须通过URLConnection或者sdk降低到22

    你还需要更新gradle sdk 23的HttpClient

    你必须在app / gradle中添加HttpClient的依赖关系

     dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:appcompat-v7:23.0.1' compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2' ... } 

    主build.gradle – /build.gradle

     buildscript { ... dependencies { classpath 'com.android.tools.build:gradle:1.3.1' // Versions: http://jcenter.bintray.com/com/android/tools/build/gradle/ } ... } 

    模块特定的build.gradle – /app/build.gradle

     android { compileSdkVersion 23 buildToolsVersion "23.0.1" ... useLibrary 'org.apache.http.legacy' ... } 

    根据Apache网站,如果您使用的是Android API 23或更新版本,那么您需要包含Gradle依赖项:

     dependencies { compile group: 'cz.msebera.android' , name: 'httpclient', version: '4.4.1.1' } 

    来源: https : //hc.apache.org/httpcomponents-client-4.5.x/android-port.html

    如果您要开始开发,请从方块开始执行OkHttp,否则,如果您需要保持以前的代码运行,请将旧的库添加到您的项目依赖项中:

     dependencies { compile group: 'org.apache.httpcomponents' , name: 'httpclient-android' , version: '4.3.5.1' } 

    用这个:-

     compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'