Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 한달브런치북만들기
- 어떻게 나답게 살 것인가
- 안드로이드
- 베드트레이
- 소프시스 밤부 좌식 엑슬 테이블
- 재택근무
- 좌식테이블
- 브런치작가되기
- 베드테이블
- 소프시스
- 슬기로운 온라인 게임
- 목적중심리더십
- T자형인재
- 프래그먼트
- 지지않는다는말
- 함수형 프로그래밍
- 목적 중심 리더십
- 캐치마인드
- 한달어스
- 리얼하다
- 한단어의힘
- 1일1커밋
- 한달독서
- 테트리스
- 아비투스
- 북한살둘레길
- 끝말잇기
- 자취필수템
- 커스텀린트
- 면접
Archives
- Today
- Total
정상에서 IT를 외치다
[Android, RxEventBus] Rx를 사용한 EventBus 본문
반응형
안녕하세요. 블랙진입니다.
저번에 Sqare 에서 만든 Otto 라이브러리를 사용한 Event Bus 를 포스팅 했었는데
이번에는 Rx 를 사용한 Event Bus 를 알아보겠습니다.
( Otto 라이브러리를 사용한 Event Bus : http://black-jin0427.tistory.com/30 )
0. Rx 라이브러리 추가
//rx android
implementation "io.reactivex.rxjava2:rxandroid:$rxAndroidVersion"
implementation "io.reactivex.rxjava2:rxjava:$rxJavaVersion"
제가 사용한 버전은 rxAndroidVersion = '2.0.1' , rxJavaVersion = '2.1.3' 입니다.
1. 싱글톤 패턴으로 RxEventBusHelper 를 만들어 줍니다.
참고로 자바에서는 싱글톤 패턴을 만족시키기 위해 인스턴스 변수를 선언하고 정적 메서드를 추가하지만 코틀린 에서는 object 하나만 선언하면 됩니다.
아래와 같이 RxEventBusHelper 를 생성하였고 PublishSubject.create<>() 변수에
String 을 선언하였습니다.
이번 예제에서는 이벤트 버스를 통해 String 을 전달할려고 합니다.
object RxEventBusHelper {
val mSubject = PublishSubject.create<String>()
fun sendEvent(str: String) {
mSubject.onNext(str)
}
}
2. EventBus 를 받을 부분에 구독을 합니다.
RxEventBusHelper.mSubject
.subscribe({
Log.d("MyTag", it)
})
3. EventBus 를 구독한 화면에 데이터를 전달 합니다.
RxEventBusHelper.sendEvent("전송시킬 데이터")
위와 같은 방법으로 Rx 를 사용하여 손쉽게 EventBus 를 구현할 수 있습니다.
반응형
'안드로이드' 카테고리의 다른 글
Comments