안드로이드 로딩 시각화

Posted by 조상원 on September 30, 2023

안녕하세요 조상원입니다. 안드로이드에서 로딩을 시각화 하면서 배운 내용을 소개하겠습니다.

스켈레톤UI란

스켈레톤UI는 웹 및 모바일 앱에서 로딩 중에 사용자 경험을 향상시키기 위한 디자인 패턴 중 하나입니다.
사용자에게 데이터가 로딩되고 있는지 시각적으로 알려줌으로써 지루함을 덜 느끼고 페이지가 어떻게 보일지에 대한 감을 잡을 수 있게 도와줍니다.

스켈레톤 UI의 장점

  • 스켈레톤 UI는 사용자에게 로딩 화면 없이 데이터가 표시되기를 기다리는 것으로 인한 긴장감을 줄이며 작동하지 않는 것으로 오해하는 것을 방지합니다.
  • 사용자는 앱이 어떤 일을 하고 있는지 알고 싶어합니다. 스켈레톤UI는 데이터가 로딩 중임을 시각적으로 나타내어 긴 로딩 시간의 인내심을 줄입니다.

MVVM 아키텍쳐에 스켈레톤 UI 적용

  1. MVVM 아키텍처에서 뷰모델은 데이터를 관리하고 뷰에 전달하는 역할을 합니다. 스켈레톤UI를 표시하기 위해 데이터 로딩 상태를 뷰모델에서 관리합니다.
  2. 뷰모델 내에서 로딩 상태를 나타내는 변수를 유지하고, 서버로 요청을 보내기 전과 응답을 받은 이후 로딩 상태에 따라 스켈레톤 UI를 표시하거나 실제 데이터를 표시합니다.
  3. 서버로부터 응답을 받은 후 뷰모델의 데이터를 업데이트 합니다.
  4. 뷰는 뷰모델의 데이터 상태에 따라 자동으로 업데이트됩니다. 로딩이 완료되면 스켈레톤UI가 숨겨지고 실제 데이터가 표시됩니다.