Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

  return null;

  }

  // При необходимости отслеживания промежуточных результатов нужно реализовать ProgressCallListener

  // для соответствующего callbackID

  @Override

  public ProgressCallListener getProgressCallListener(CallbackID callbackID) {

  return null;

  }

}

Следует отметить, что использование библиотеки Icepick не обязательно. Можно использовать свои решения для сохранения/восстановления состояния или использовать стандартный подход. При использовании библиотеки Icepick необходимо самостоятельно ознакомиться с её документацией по установке и использованию. Важно понимать, что классы сохраняемых объектов в Icepick должны реализовывать интерфейс Parcelable.

Упростить реализацию Parcelable можно, используя класс фреймворка ParcelPacker, который использует возможности библиотеки Gson.

Пример реализации Parcelable с помощью ParcelPacker для класса ColumnItem:

Expand source 

public class ColumnItem implements Parcelable {

  public String columnName;

  public String columnValue;

  @Override

  public int describeContents() {

  return 0;

  }

  @Override

  public void writeToParcel(Parcel parcel, int i) {

  ParcelPacker. writeToParcel(parcel, this);

  }

  public static final Creator<ColumnItem> CREATOR = ParcelPacker. getCreator(ColumnItem. class);

}

Отмена выполнения и получение промежуточных результатов асинхронных задач

При вызове длительных методов поддерживается получение промежуточных результатов в процессе выполнения вызова, а также отмена выполнения.

НЕ нашли? Не то? Что вы ищете?

Пример использования:

Expand source 

String res =  hyperHive

  .query(sqliteDir, query)

  .setProgressListener( new ProgressCallListener() {

  @Override

  public boolean onChangeProgress(/*промежуточный результат*/ String message, /*id запроса*/ long id) {

  // Можно обработать промежуточный результат

  doSomethingWithMessage(message);

  // Операция будет прервана, если вернуть true

  return isCancel();

  }

  }).execute();

}

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

Expand source 

// Сохраняем ссылку на вызов

final Call call =  hyperHive

  .query(sqliteDir, query)

  .enqueue(new Callback<BaseStatus>() {

  @Override

  public void onResponse(Call<BaseStatus> call, BaseStatus status) {

  if (status. isOk) {

  // Обрабатываем успех 

  } else {

  // Обрабатываем ошибку

  }

  }

  @Override

  public void onFailure(Call<BaseStatus> call, Throwable throwable) {

  // Обрабатываем ошибку

  }

});

cancelButton. setOnClickListener(new View. OnClickListener() {

  @Override

  public void onClick(View view) {

  // Вызываем отмену вызова

  call. cancel();

  }

);

В некоторых случаях удобней использовать решения, описанные в разделе Безопасный вызов асинхронных методов. Настоятельно рекомендуется с ним ознакомиться.

5.4.4 Описание методов Android-фреймворка

Во фреймворке Android для использования представлены следующие основные методы:

Методы авторизации пользователя

    Авторизация пользователя по логину и паролю (auth)

Метод служит для авторизации пользователя с использованием логина и пароля. Метод возвращает экземпляр класса Call (см. подраздел Вызов методов Android-фреймворка).

auth(@NonNull final String login, @NonNull final String password)

    Отмена авторизации (unAuth)

Метод служит для выхода из режима авторизованного пользователя. Метод возвращает экземпляр класса Call (см. подраздел Вызов методов Android-фреймворка).

unAuth()

    Авторизован ли пользователь (isAuthorized)

Метод проверяет, авторизован ли пользователь. Метод возвращает значение true, если пользователь авторизован, и false, если пользователь не авторизован.

isAuthorized()

Методы работы с данными

    Работа с дельтой (getDeltaStream)

Метод служит для работы с дельта-кэшированием. Метод возвращает экземпляр класса Call (см. подраздел Вызов методов Android-фреймворка). При вызове данного запроса выполняется скачивание данных ресурса с сервера и сохранение их в локальной базе данных, соответствующей указанному ресурсу.

getDeltaStream(@NonNull final String resourceName, final Class<T> tClass)

    Отправка данных (post)

Метод служит для отправки данных на сервер. Метод возвращает экземпляр класса Call (см. подраздел Вызов методов Android-фреймворка). При вызове данного запроса выполняется отправка данных в соответствующий ресурс на сервер.

post(@NonNull final String resourceName, @Nullable final Map<String, String> params)

    Получение ресурсов (get)

Метод служит для получения данных с сервера. Метод возвращает экземпляр класса Call (см. подраздел Вызов методов Android-фреймворка). При вызове данного запроса выполняется скачивание данных ресурса с сервера.

get(@NonNull final String resourceName)

    Чтение sessionId (readCookie)

Метод служит для получения sessionId после авторизации. Метод возвращает экземпляр класса Call (см. подраздел Вызов методов Android-фреймворка).

readCookie()

Методы работы с логами

    Логирование (initLogging())

Метод служит для инициации автоматической отправки логов по расписанию, полученному от сервера. Если инициирование выполнено успешно, возвращает значение true, иначе - false. Метод необходимо запускать после успешной авторизации.

initLogging()

    Установка уровня логирования (setLogLevel)

Метод служит для установки минимального уровня логирования.

setLogLevel(int level)

Параметр level может принимать следующие значения:

    4 – LOG_INFO; 5 – LOG_WARNING; 6 – LOG_ERROR. Создание логов (logTrace, logWarning, logFatal)

Каждый из методов сохраняет сообщение в журнале логов с указанием текущего времени и уровня логирования.

logTrace(@NonNull String message),

logWarning(@NonNull String message),

logFatal(@NonNull String message)

Методы работы с сообщениями

    Подписка на сообщения (subscribe)

Метод служит для подписки на рассылку сообщений от сервера с соответствующей темой. Описание параметров метода доступно в официальной документации на MQTT. Метод возвращает экземпляр класса Call (см. подраздел Вызов методов Android-фреймворка).

subscribe(@NonNull final String topic, final int mqttVersion, final boolean isCleanSession)

    Отписка от сообщений (unsubscribe)

Метод служит для отказа от рассылки сообщений от сервера с соответствующей темой.

unsubscribe(@NonNull String topic)

Методы работы с базами данных

    Режим проверки сертификата (setSslChecks)

Метод служит для установки режима проверки сертификата защищенного соединения. Метод возвращает значение true, если проверка включена, и false в ином случае.

Для отключения проверки сертификата необходимо передать в параметр enable значение"false" ; для включения - "true". По умолчанию проверка сертификата включена.

setSslChecks(boolean enable)

    Запрос к локальной базе (query)

Метод служит для создания запросов к локальной базе SQLite. Метод возвращает экземпляр класса Call (см. подраздел Вызов методов Android-фреймворка).

query(@NonNull final String databasePath, @NonNull final String query, final Class<T> tClass)

Метод содержит параметры:

    databasePath – путь к базе; query – SQL-запрос; tClass – класс ожидаемого объекта в результате запроса (см. подраздел Вызов методов Android-фреймворка). Запрос к локальной базе ресурса (queryToResTable)

Метод служит для создания запросов к локальной базе SQLite указанного ресурса. Метод возвращает экземпляр класса Call (см. подраздел Вызов методов Android-фреймворка).

queryToResTable(@NonNull final String resourceName, @NonNull final String query, final Class<T> tClass)

Метод содержит параметры:

    resourceName – имя ресурса для доступа к соответствующей ему базе; query – SQL-запрос; tClass – класс ожидаемого объекта в результате запроса (см. подраздел Вызов методов Android-фреймворка). Открытие или создание зашифрованной базы (openBase)

Метод служит для создания или открытия зашифрованной базы данных. Метод возвращает значение true, если открытие базы прошло успешно, и false в ином случае.

openBase(String pathBase, String key)

    Если база еще не существует, то будет создана и открыта для работы новая база с использованием указанного ключа для шифрования. Если база уже существует, то будет выполнена попытка открыть базу с указанным ключом.

Открытие или создание зашифрованной базы для ресурса(openBaseResource)

Метод служит для создания или открытия зашифрованной базы данных для указанного ресурса. Метод возвращает значение true, если открытие базы прошло успешно, и false в ином случае.

openBaseResource(String resourceName, String key)

    Если база еще не существует, то будет создана и открыта для работы новая база с использованием указанного ключа для шифрования. Если база уже существует, то будет выполнена попытка открыть базу с указанным ключом.

Закрытие локальной базы данных (closeBase)

Метод служит для закрытия базы данных по указанному пути. Метод возвращает значение true, если базу удалось закрыть, и false в ином случае.

closeBase(String pathBase)

Закрытие локальной базы данных ресурса (closeBaseResource)

Метод служит для закрытия базы данных, соответствующей указанному ресурсу. Метод возвращает значение true, если базу удалось закрыть, и false в ином случае.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17