RxBus: Это событийная шина, предназначенная для эффективной передачи сообщений в вашем приложении. RxBus поддерживает аннотации (@produce/@subscribe), а также позволяет создавать события и подписываться на них на других потоках, таких как MAIN_THREAD, NEW_THREAD, IO, COMPUTATION, TRAMPOLINE, EXECUTOR, SINGLE и HANDLER. Также RxBus предоставляет возможность указывать метку события для его определения. Первый (и единственный) параметр метода и метка определяют тип события.
import com.hwangjr.rxbus.RxBus;
Или лучше создайте экземпляр RxBus:
public static final class RxBus {
private static Bus sBus;
public static synchronized Bus get() {
if (sBus == null) {
sBus = new Bus();
}
return sBus;
}
}
public class MainAbility extends Ability {
@Override
protected void onStart(Intent intent) {
super.onStart(intent);
RxBus.get().register(/* объект, чьи методы должны быть зарегистрированы */);
}
@Override
protected void onStop() {
RxBus.get().unregister(/* объект, чьи методы должны быть отменены */);
super.onStop();
}
}
Для отправки события получите экземпляр RxBus и используйте метод post, как показано ниже:
RxBus.get().post(/* метка события для отправки */, /* событие для отправки */);
RxBus зависит от Rxohos, rxjava3 и reactive-streams.1. Для использования модуля RxBus в образце приложения, включите следующую библиотечную JAR/HAR в папку libs модуля "rxbus", чтобы сгенерировать HAP/RXBUS.HAR:
В файле build.gradle модуля rxbus должна присутствовать следующая зависимость:
dependencies {
implementation 'io.reactivex.rxjava3:rxjava:3.0.4'
implementation 'org.reactivestreams:reactive-streams:1.0.3'
implementation 'io.openharmony.tpc.thirdlib:Rxohos:1.0.0'
testImplementation 'junit:junit:4.12'
}
Измените файл build.gradle входного уровня следующим образом:
dependencies {
implementation project(':rxbus')
testImplementation 'junit:junit:4.12'
}
build.gradle
должен содержать следующую зависимость.dependencies {
implementation 'io.reactivex.rxjava3:rxjava:3.0.4'
implementation 'org.reactivestreams:reactive-streams:1.0.3'
implementation 'io.openharmony.tpc.thirdlib:Rxohos:1.0.0'
testCompile 'junit:junit:4.12'
}
Измените файл entry/build.gradle
следующим образом:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])
testCompile 'junit:junit:4.12'
}
Для использования модуля Rxbus из удаленного репозитория в отдельном приложении, добавьте следующие зависимости и включите "rxohos.har"
в папку libs
модуля "entry"
:
Модуль Rxbus в файле build.gradle
должен содержать следующую зависимость.
dependencies {
implementation 'io.reactivex.rxjava3:rxjava:3.0.4'
implementation 'org.reactivestreams:reactive-streams:1.0.3'
implementation 'io.openharmony.tpc.thirdlib:Rxohos:1.0.0'
testCompile 'junit:junit:4.12'
}
```Измените файл `entry/build.gradle` следующим образом:
```gradle
dependencies {
implementation 'io.openharmony.tpc.thirdlib:RxBus:1.0.0'
testCompile 'junit:junit:4.12'
}
Copyright 2015 HwangJR, Inc.
Разрешено с условиями лицензии Apache, версия 2.0 ("Лицензия"); вы можете использовать этот файл только в соответствии с Лицензией. Вы можете получить копию Лицензии по адресу:
http://www.apache.org/licenses/LICENSE-2.0
Если законом не требуется или если это не было заранее согласовано в письменной форме, программное обеспечение, распространяемое по Лицензии, предоставляется «как есть», без каких-либо гарантий или условий любого типа, явных или подразумевающихся. Смотрите Лицензию для конкретного языка, регламентирующего права и ограничения, применяемые к Лицензии.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )