seoft

LiveDataUtil : LiveData 리스트 형식 관리 본문

android

LiveDataUtil : LiveData 리스트 형식 관리

seoft 2020. 5. 16. 21:02

사이드 프로젝트 개발 도중에 sealed 클래스를 상속받은 클래스들을 라이브데이터 형식으로 관리하고 합쳐서 리사이클러뷰 아답터에 넘겨주는 형식으로 개발하였는다.

 

liveData의 널체크와 리스트 합치는 과정에서 다음과 같은 코드가 구현됬었다.

 

 

위의 코드에서 두가지 사항이 불편했는데

  • 라이브데이터 단일형식(LIveData<ABC>과 리스트형식(LiveData<List<ABC>>)의 통합관리
  • 불필요한 공통된 value의 널체크

 

두 사항을 보완하고자 유틸성 클래스를 하나 구현하였다.

 

 

해당 유틸성 클래스를 사용하면

  • 라이브데이터의 단일형식과 리스트 형식을 따로 처리하지않고 유틸성 함수 내에서 타입에 맞춰 리스트화(혼합가능)
  • liveData.value가 null일 경우 리스트에서 제외

위의 코드와 비교했을때 LiveDataUtil를 사용했을때 간결한 결과를 볼 수 있다

 

 

Comments