1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/bvin_admin-NetWorkModule

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

#МодульСети Добавьте запросы, используя пакет cn.bvin.lib.module.net.volley. В этом классе есть три статических метода: addRequest для добавления запросов, clearRequest для отмены определенных запросов в очереди и cancelAll для отмены всех запросов.

Другие производные библиотеки включают RequestActivity, RequestFragment, RequestService и т.д., все они используют статические методы этого класса для отправки запросов, но также добавляют свою собственную логику. Если вам нужно реализовать сетевые запросы в различных сценариях, вам потребуется вызвать методы этого класса для добавления запросов.

Описание

cn.bvin.lib.module.net.Request: Состоит из строки URL и объекта RequestParam. В будущем этот объект запроса будет использоваться как унифицированный формат для обычных (строковых) запросов и передачи файлов (загрузки/скачивания).

cn.bvin.lib.module.net.RequestParam: Класс параметров запроса, важный параметр для объекта Request, который используется для передачи данных на сервер. Если запрос представляет собой простой GET запрос по URL, то объект RequestParam не требуется, но большинство POST интерфейсов требуют предоставления множества параметров, поэтому был создан абстрактный класс RequestParam. Этот класс имеет четыре конструктора, соответствующие четырем типам параметров, включая файлы, массивы байтов, HttpEntity, MapParam (формат Map<String, String>), и может быть расширен в будущем.com.android.volley.Request: Абстрактный класс запроса из библиотеки Volley, подробное описание можно найти в документации, здесь не будем подробно останавливаться на этом.

cn.bvin.lib.module.net.volley.RequestManager: Универсальный менеджер запросов, отвечающий за добавление запросов в очередь запросов.

    /**
     * Добавить запрос
     * @param request Объект запроса
     * @param tag Тег, с помощью которого можно управлять (отменять) запрос
     */
    public static void addRequest(Request request, Object tag) {
        request.setTag(tag != null ? tag : request.getUrl());
        mRequestQueue.add(request);
    }

    /**
     * Добавить запрос, используя URL запроса в качестве тега
     * @param request Объект запроса
     */
    public static void addRequest(Request request) {
        addRequest(request, null);
    }
``````markdown
MapParam mp = new MapParam();
mp.put("p1", "v1");
mp.put("p2", "v2");
// Функция WrapRequest используется для преобразования собственного запроса в запрос типа Volley
// Ниже приведены четыре различных типа параметров
WrapRequest wrMap = new WrapRequest(url, new RequestParam(mp));
WrapRequest wrFile = new WrapRequest(url, new RequestParam(new File(url)));
WrapRequest wrHttpEntity = new WrapRequest(url, new RequestParam(new HttpEntity()));
WrapRequest wrBytes = new WrapRequest(url, new RequestParam(new byte[0]));
// CheckRequest наследует Request из Volley и требует передачи WrapRequest и пользовательского слушателя состояния запроса
// CheckRequest получает URL и параметры из WrapRequest (в виде массива байтов, перезаписывая метод getBody)
CheckRequest request = new DefaultCheckRequest(Method.POST, wrMap, new DefaultCheckListener() {
    @Override
    public void onUpdateFound(UpdateInfo updateInfo) {
    }
    @Override
    public void onUpdateNotFound() {
    }
    @Override
    public void onCheckFailure(Throwable e) {
    }
});
RequestManager.addRequest(request); // Отсутствие параметра тега автоматически присваивает URL в качестве метки запроса
// RequestManager.addRequest(request, request.getUrl());
RequestManager.clearRequests(request.getTag()); // Удаление запроса по метке
// request.cancel(); // Запрос также может быть отменен самим собой

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Сетевой модуль, включающий обычные сетевые запросы и передачу данных в сетях с большими данными (загрузка и скачивание файлов) и т. д., может быть адаптирован к различным движкам сетевых запросов, таким как HttpClient от Apache, HttpUrlConnect из java.net, Volley и другим, расширяя гибкость. Развернуть Свернуть
Java
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/bvin_admin-NetWorkModule.git
git@api.gitlife.ru:oschina-mirror/bvin_admin-NetWorkModule.git
oschina-mirror
bvin_admin-NetWorkModule
bvin_admin-NetWorkModule
master