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

OSCHINA-MIRROR/HarmonyOS-tpc-ion

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

Ион. С контекстом

load("http://example.com/api/tweets")*.as(new TypeToken<List>(){})

.setCallback(new FutureCallback<List>() {**

@Override*

public void onCompleted(Exception e, List tweets) {

// chirp chirp

}

});

}}

Логирование

«Хотите знать, почему ваше приложение работает медленно? Ион позволяет вам вести глобальный и на уровне запросов логинг одновременно».

Чтобы включить его в глобальном масштабе:

Ion.getDefault(getContext()).configure().setLogging("MyLogs", Log.DEBUG);

Или только для одного запроса:


*.load("http://example.com/thing.json")*  

*.setLogging("MyLogs", Log.DEBUG)*  

*.asJsonObject();***  

Пример лога:  

D/MyLogs(23153): (0 ms) http://example.com/thing.json: Executing request.  

D/MyLogs(23153): (106 ms) http://example.com/thing.json: Connecting socket  

D/MyLogs(23153): (2985 ms) http://example.com/thing.json: Response is not cacheable  

D/MyLogs(23153): (3003 ms) http://example.com/thing.json: Connection successful  

#### Группы запросов  

По умолчанию Ион автоматически объединяет все запросы с другими запросами в одну группу. Вы можете легко отменить все ожидающие запросы, используя вызов *cancelAll(Activity)*.  

```Future<JsonObject> json1 = Ion.with(activity, "http://example.com/test.json").asJsonObject();*  

Future<JsonObject> json2 = Ion.with(activity, "http://example.com/test2.json").asJsonObject();**  

@Override*  

protected void onStop() {*  

Ion.getDefault(activity).cancelAll(activity);*  

super.onStop();*  

}*  

Ион также позволяет помечать запросы как принадлежащие к определённой группе, чтобы позже можно было легко их отменить:  

```Object jsonGroup = new Object();*  

Object imageGroup = new Object();**  

Future<JsonObject> json1 = Ion.with(activity)*  

.load("http://example.com/test.json")*  

group(jsonGroup)*  

asJsonObject();*  

Future<JsonObject> json2 = Ion.with(activity)*  

.load("http://example.com/test2.json")*  

group(jsonGroup)*  

asJsonObject();*  

Future<Bitmap> image1 = Ion.with(activity)*  

.load("http://example.com/test.png")*  

group(imageGroup)*  

intoImageView(imageView1);*  

Future<Bitmap> image2 = Ion.with(activity)*  

.load("http://example.com/test2.png")*  

group(imageGroup)*  

intoImageView(imageView2);*  

Позже... чтобы отменить только загрузку изображений:*  

Ion.getDefault(activity).cancelAll(imageGroup);*  

#### Прокси-серверы (например, Charles Proxy)*  

Настройки прокси-сервера можно включить для всех запросов или для каждого запроса отдельно.*  

Включить прокси для всех запросов:*  

```Ion.getDefault(context).configure().proxy("mycomputer", 8888);*  

или... для конкретных запросов:*  

```Ion.with(context)*  

.load("http://example.com/proxied.html")*  

proxy("mycomputer", 8888)*  

getString();*  

Использование прокси-сервера на вашем компьютере с Charles и запрос прокси будет очень полезным для отладки.*  

#### Просмотр полученных заголовков*  

Операции Иона возвращают *ResponseFuture*, который предоставляет доступ к свойствам ответа через объект *response*. Объект *response* содержит заголовки и результат.*  

```Ion.with(getContext())*  

.load("http://example.com/test.txt")*  

asString()*  

withResponse()*  

setCallback(new FutureCallback<Response<String>>() {*  

@Override*  

public void onCompleted(Exception e, Response<String> result) {*  

System.out.println(result.getHeaders().code());*  

System.out.println(result.getResult());*  

}});*

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

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

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

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

Участники

все

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

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