Не удается импортировать org.apache.http.HttpResponse в Android Studio

Я хочу использовать эти библиотеки в 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, поэтому я знаю, что он работает.

Но какие дополнительные вещи/библиотеки мне нужно добавить в Android Studio, чтобы использовать их?

Ответ 1

HttpClient устарел в Android 5.1 и удален из Android SDK в Android 6.0. Хотя есть обходной путь для продолжения использования HttpClient в Android 6.0 с Android Studio, вам действительно нужно перейти к чему-то еще. Это "что-то еще" может быть:

Или, в зависимости от характера вашей работы с HTTP, вы можете выбрать библиотеку, которая поддерживает операции более высокого порядка (например, Retrofit для API веб-сервисов).

В крайнем случае вы можете включить устаревшие API, имея useLibrary 'org.apache.http.legacy' в своем закрытии android в вашем файле build.gradle. Тем не менее, Google уже много лет советует людям прекратить использование встроенного HttpClient из Android, и, самое большее, это должно быть остановленным движением, в то время как вы работаете с более постоянным переключением на другой API.

Ответ 2

HttpClient устарел в sdk 23.

Вам нужно переместить URLConnection или down sdk на 22

Тем не менее вам нужен HttpClient с обновлением gradle sdk 23

Вы должны добавить зависимости HttpClient в app/ gradle как

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'
    ...
}

Ответ 3

Main 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'
    ...
}

Ответ 4

Согласно сайту Apache, это зависимость Gradle, которую вы должны включить, если вы используете Android API 23 или новее:

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

Ответ 5

если вы собираетесь начать разработку, откройте OkHttp от квадрата, иначе, если вам нужно сохранить предыдущий код, добавьте устаревшую библиотеку в зависимости от проекта:

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

Ответ 6

Используйте это: -

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