일단, 디자인 패턴으로 MVVM이 가지는 의미를 말로 풀어보겠다.
MVVM은 Model-View-ViewModel의 약자이다.
Model은 UI에 표시될 데이터와 비즈니스 로직을 담당하고, View는 UI를 의미하며, ViewModel은 이벤트 처리나, Model과의 인터랙션을 담당한다.
MVVM의 각 레이어간에 어떤 식으로 인터랙션이 이루어지는지, 간단하게 도식화된 그림으로 살펴보자.
Data Binding은 View에 관한 로직과 비즈니스 로직을 구분하는 데에 중요한 역할을 한다.
이를 이용하여 View가 오로지 수동적인 포지션을 취할 수 있고, ViewModel이 View의 존재를 알지 못하게 하여 플랫폼 의존성에서 벗어날 수 있게 해준다.
MVVM으로 실제 서비스 개발에 적용해보진 못했다. 서비스 중인 앱은 MVP로 되어 있으며, 사실 요구 사항에 맞는 구조기도 했다.
그래서 습관빵 앱 개발에 MVVM을 도입할 때 고민은 ~
AAC 없이도 MVVM 구조를 만들 수 있다. 하지만, 귀찮은 LifeCycle 관리를 해줘야 한다.
Room database는 안드로이드에 내장된 SQLite를 통한 데이터베이스 사용에 도움을 주는 AAC 라이브러리이다.
하지만 습관빵 앱은 로컬 데이터베이스(Room, SQLite)를 쓸 필요가 없다.->SharedPreference로 해결!
코드로 구체적으로 살펴보면, Jetpack AAC(Android Architecture Componenets)를 이용하기 위해서는 기본 안드로이드 개발지식이 필요하다.
'Dev Tools > android studio' 카테고리의 다른 글
습관빵 안드로이드 개발 Google OAuth 인증 관련 에러 (0) | 2021.01.10 |
---|---|
습관빵 어플리케이션 11/21 팀 모임 (0) | 2020.12.19 |
안드로이드 9 10/ 자바 코틀린 (0) | 2020.08.31 |
reference blog for developing jaehyun's prography (0) | 2020.03.07 |
앱 설계 패턴 (0) | 2020.03.07 |