Не удается импортировать 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'