IT Bookstore 과제 #12 - 실행 중인 API 중지 (2)

어제 설명한 '실행 중인 API 중지'를 IT Bookstore 앱에 적용해 보았습니다. 구현 과정은 다음과 같습니다.

실행 중인 API 중지 적용 과정

  1. 베이스 뷰모델 역할을 맡는 BaseViewModel 클래스에 CompositeDisposable 객체를 필드로 추가
open class BaseViewModel : ViewModel() {

    protected val disposables = CompositeDisposable()

    // ...
}
  1. BaseViewModel 클래스에 onCleared 함수를 오버라이딩하고, disposables 객체의 clear() 함수 호출
override fun onCleared() {
    disposables.clear()
    super.onCleared()
}
  1. BaseViewModel을 상속받는 하위 클래스들에서 Observable 구현 객체(이하 Observable)의 subscribe() 함수 호출에 이어 disposables 객체에 이 Observable을 추가
observable.subscribe(successConsumer, errorConsumer)
.let {
    disposables.add(it)
}

적용 후 테스트 결과

테스트 결과, 앱 작동에는 문제가 없습니다. 그러나 정말로 잘 작동하는지는 겉으로 보이는 동작만으로는 파악하기 어렵습니다. 내부 동작을 테스트해보는 것이 좋습니다.


지난 IT Bookstore 과제

Coin Marketplace

STEEM 0.20
TRX 0.12
JST 0.029
BTC 61567.88
ETH 3447.00
USDT 1.00
SBD 2.50