Как мы знаем, Apache HTTP Client
удален в API 23
Однако библиотека Volley
в настоящее время по-прежнему использует библиотеку Apache
, такую как
import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.StatusLine;
import org.apache.http.conn.ConnectTimeoutException;
import org.apache.http.impl.cookie.DateUtils;
И я тестировал 2 проекта: один с compileSdkVersion 22
, другой с compileSdkVersion 23
, получил 2 скриншота:
compileSdkVersion 22
compileSdkVersion 23
У меня есть 2 вопроса:
- Конечно, проекты API23, использующие Volley, все еще успешно работают.
Однако я не понимаю, как они используют библиотеку
Apache
во время выполнения, делают ли они найти в API22 или ниже вместо этого? - Кроме того, мне интересно, будет ли в ближайшем будущем Volley модернизироваться так
который больше не использует библиотеку
Apache
? Если нет, будут ли мои текущие проекты работать в будущем, если библиотекаApache
полностью удалена и не поддерживается?
Возможно, мой английский не очень ясен, однако надеюсь, что вы поймете мой вопрос.
Любое объяснение будет оценено.
UPDATE:
Из комментариев @random я создал новый проект API23 с использованием официальной публичной библиотеки Google (я имею в виду git clone https://android.googlesource.com/platform/frameworks/volley
, поскольку Google предложил здесь) вместо использования compile 'com.mcxiaoke.volley:library:1.0.17'
в файле build.gradle
. Да, при создании проекта возникли ошибки с отсутствием библиотеки Apache. Необходимо добавить useLibrary 'org.apache.http.legacy'
в файл build.gradle
, как описано.
2nd UPDATE:
Я только что настроил Google volley (как модуль в моем проекте), удалив библиотеку Apache. Пожалуйста, перейдите к моему образцу проекта GitHub для справки. Однако имейте в виду, что он не был полностью протестирован для всех случаев, и я проверил только 02 простых случая: GET
и POST
запросы с моей веб-службой, которая ASP.NET Web API
.