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

OSCHINA-MIRROR/HarmonyOS-tpc-Parceler

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

Parceler

Parceler — это простой фреймворк для внедрения данных в пакеты.

Parceler включает:

  • Parceler — это простое и лёгкое расширение для доступа к данным IntentParams.
  • С помощью этого фреймворка вы можете:
    • хранить данные любого типа в Intentparams;
    • читать пары ключ-значение любых типов данных из Intentparams;
    • внедрять данные из Intentparams в указанные переменные-члены;
    • внедрять данные из указанной переменной-члена в Intentparams.
    • удобнее передавать начальные значения страниц (избегать жёсткого кодирования ключа и значения);
    • что ещё важнее: общее количество методов во фреймворке меньше 100, и нет дополнительных зависимостей!
  • В этой библиотеке мы использовали ещё два дополнительных модуля: компилятор и аннотацию для связи API, аннотации и компилятора друг с другом.
  • Используя эту библиотеку, можно легко создавать любые типы быстрых JSON.

Инструкции по использованию

  1. Образец проекта, который предоставляет исполняемые примеры кода, демонстрирующие использование классов в этом проекте, доступен в папке sample/.
  2. Следующие основные классы являются основным интерфейсом для создания Parceler:
  • Parceler: точка входа для создания пользовательского интерфейса с помощью Parceler.
  • Настройка конвертера данных: основной класс фреймворка. Только когда настроен соответствующий конвертер данных, фреймворк может поддерживать доступ к любым типам данных.

Поскольку обычно используемый формат данных — JSON, фреймворк имеет собственные конвертеры (FastJsonConverter и GsonConverter) для популярных fastjson и GSON, что удобно для прямого использования.

Обратите внимание, что сам фреймворк напрямую не зависит от fastjson или GSON, поэтому какой конвертер используется, зависит от того, какой конвертер поддерживается вашей текущей операционной средой. Например, наш проект зависит от fastjson. Тогда вы можете выбрать использование FastJson Converter:

Parceler.setDefaultConverter(FastJsonConverter.class);

После такой многословности на самом деле это всего лишь предложение конфигурации, после чего вы можете легко получить доступ к данным. 3. Автоматическое внедрение данных IntentParam Наиболее распространённый сценарий использования — при передаче значений при переходе способностей: Инициирование операции внедрения может быть размещено в базовом классе для использования. Таким образом, вы можете добавить операцию внедрения в базовый класс Ability:

public abstract class BaseAbility extends Ability {
    @Override
    public void onStart(Intent intent) {
        super.onStart(intent);
        Parceler.toEntity(this, getIntent());
    }

    @Override
    public void onSaveAbilityState(PacMap outState) {
        super.onSaveAbilityState(outState);
        Map<String, Object> maps = outState.getAll();
        IntentParams intentParams = null;
        for (String var : maps.keySet()) {
            intentParams = new IntentParams();
            intentParams.setParam(var, maps.keySet());
        }
        Parceler.toBundle(this, intentParams);
    }

    @Override
    public void onRestoreAbilityState(PacMap inState) {
        super.onRestoreAbilityState(inState);
        Map<String, Object> maps = inState.getAll();
        IntentParams intentParams = null;
        for (String var : maps.keySet()) {
            intentParams = new IntentParams();
            intentParams.setParam(var, maps.keySet());
        }
        Parceler.toEntity(this, intentParams);
    }

    @Override
    protected void onAbilityResult(int requestCode, int resultCode, Intent resultData) {
        super.onAbilityResult(requestCode, resultCode, resultData);
        Parceler.dispatchActivityResult(this, requestCode, resultCode, resultData);
    }
}

Затем вы можете с радостью использовать его в своём коде.

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

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

Введение

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

Обновления

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

Участники

все

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

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