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

OSCHINA-MIRROR/talkwebyunchaung-active-databus-ohos

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 25.11.2024 07:41 93387a3

ActiveDatabus-ohos

Введение

Коммуникационный компонент, основанный на ActiveData от Hongmeng, поддерживает коммуникационную библиотеку с жизненным циклом, липкостью и распределением потоков. В то же время он объединяет функции распределения общей коммуникации в Hongmeng в этой библиотеке компонентов.

Архитектура программного обеспечения

Программное обеспечение имеет следующую архитектуру:

Инструкция по установке

  1. Добавьте в файл build.gradle проекта:
    allprojects {
		repositories {
			...
			maven { url 'https://jitpack.io' }
		}
	}
  1. Добавьте в файл model/build.gradle:
    dependencies {
	        implementation 'com.gitee.talkwebyunchaung:active-databus-ohos'
	}

Описание функций

  1. Отправка сообщения.
  2. Отложенная отправка сообщения.
  3. Отправка сообщений с учётом жизненного цикла — сообщение отправляется только после инициализации переданного жизненного цикла, иначе отправка отменяется.
  4. Широковещательная рассылка сообщений.
  5. Поддержка отслеживания сообщений в соответствии с жизненными циклами Ability, slice и встроенными (необходимо вручную удалить наблюдателя).
  6. Настройка потока для отслеживания сообщений, включая основной поток, фоновый поток и поток по умолчанию.
  7. Поддержка липких сообщений — сначала отправляются, а затем регистрируются сообщения обратного вызова; ранее отправленные сообщения могут быть получены.
  8. Настройка получения сообщений при работе приложения в фоновом режиме.

Использование

  1. Отправить сообщение:
LiveEventBus
	.get("key")
	.post(value);
  1. Отправить отложенное сообщение:
ActiveDataBus.get("key").postDelay(value, delay);
  1. Отправить сообщение с учётом жизненного цикла:
ActiveDataBus.get("key").post(lifeCycleOwner, value);
  1. Отправить широковещательное сообщение:
 IntentParams intentParams = new IntentParams();
            intentParams.setParam("test", "hello");
new BroadcastPublishHelper.EventPublishBuild(new Intent.OperationBuilder().withAction("action").build())
            .withIntentParams(intentParams).build().publishEvent();
  1. Настроить отслеживание сообщений для жизненного цикла Ability или slice:
 ActiveDataBus.get("key",value.class).observe(lifeCycleOwner, value -> {
            });
  1. Настроить отслеживание встроенных сообщений жизненного цикла и удалить наблюдателя:
Observer<value> observer = value -> {}
ActiveDataBus.get("key",value.class).observeForever(observer);
ActiveDataBus.get("key",value.class).removeObserver(observer);
  1. Настроить поток для отслеживания сообщений:
ActiveDataBus.get(mainTest, String.class).withThreadMode(ThreadMode.MAIN).observe(this, s -> {
        });
  1. Настроить пул потоков для отслеживания сообщений в фоновых потоках:
ActiveDataBus.config().setThreadPoolExecutor(Executors.newFixedThreadPool(3));
  1. Настроить липкость сообщений:
 ActiveDataBus.get("key",value.class).withSticky(true/false).observe(this, t -> {

            });
  1. Настроить получение сообщений при работе в фоновом режиме:
ActiveDataBus.get(alwaysTest).withBackground(true).observe(this, t -> {

        });
  1. Настроить широковещательный обратный вызов:
 BroadCastManager.getInstance().registerCommonEvent(o -> {
            }, "action", lifeCycleOwner);

Примечания

  1. После установки липкости широковещательных сообщений её нельзя изменить, изменение не будет иметь эффекта.

Участие в проекте

  1. Fork этого репозитория.
  2. Создайте ветку Feat_xxx.
  3. Отправьте код.
  4. Создайте Pull Request.

Особенности

  1. Используйте Readme_XXX.md для поддержки разных языков, например Readme_en.md, Readme_zh.md.
  2. Официальный блог Gitee blog.gitee.com.
  3. Вы можете https://gitee.com/explore узнать об отличных проектах с открытым исходным кодом на Gitee.
  4. GVP (Gitee Most Valuable Project) — это список выдающихся проектов с открытым исходным кодом, отобранных Gitee.
  5. Официальное руководство по использованию Gitee https://gitee.com/help.
  6. Лица обложки Gitee — это рубрика, демонстрирующая таланты членов Gitee https://gitee.com/gitee-stars/.

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/talkwebyunchaung-active-databus-ohos.git
git@api.gitlife.ru:oschina-mirror/talkwebyunchaung-active-databus-ohos.git
oschina-mirror
talkwebyunchaung-active-databus-ohos
talkwebyunchaung-active-databus-ohos
master