스팀 앱 개발기 #94 - 태그 화면 구조 개선steemCreated with Sketch.

시작하며...

포스팅을 다시 시작하는데 오랜 시간이 걸렸네요. 이 앱에 적용한 아키텍처를 수정해야 했고요. RxJava를 코루틴으로 대체하는 작업도 하고자 했습니다. 태그 화면 대상으로 작업을 조금씩 진행해 왔구요. 이제야 GitHub에 commit을 방금 올렸습니다.


작업 내용

작업량이 많아서 디테일한 내용까지 포스트에 다 담기가 쉽지 않네요. 개략적으로라도 적어 봅니다.

  • dorian-steem-ui 모듈
    • TagsViewModel 클래스
      • LiveData 객체를 StateFlow 객체로 대체
      • Coroutine 도입: 일부 메소드에 viewModelScope 적용
      • 데이터 바인딩을 StateFlow 업데이트에 따른 태그 리스트 업데이트로 대체
    • TagsState 데이터 클래스 추가
    • fragment_tags.xml: RecyclerView의 데이터 바인딩 관련 속성 제거 (app:postItemList)
  • dorian-steem-data 모듈
    • SteemRepositoryImpl 클래스: RxJava를 Coroutine으로 대체
    • SteemService 인터페이스: Coroutine 적용을 위해 일부 메소드에 suspend 키워드 추가
  • dorian-steem-domain 모듈
    • ApiResult 데이터 클래스 추가
    • SteemRepository 인터페이스, ReadRankedPostsUseCase 클래스
      • Coroutine 적용을 위해 일부 메소드에 suspend 키워드 추가
      • RxJava에서 Coroutine으로 대체에 따른 일부 메소드들의 리턴 타입 변경
  • 기타 리팩터링

GitHub Commit


다음 작업은...

다음에 해야 할 개발 작업은요. 예전에 구현한 지갑 화면도 태그 화면과 동일한 방식으로 아키텍처를 수정하고 RxJava를 Coroutine으로 대체하는 것입니다. 이미 한번 해봤으므로 이번에는 좀 더 쉬울 것입니다.


지난 스팀 앱 개발기

Sort:  

[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.

Coin Marketplace

STEEM 0.04
TRX 0.32
JST 0.082
BTC 61656.65
ETH 1638.79
USDT 1.00
SBD 0.41