mvvm

    [ViewModel] 1. View의 Lifecycle 동안 데이터를 유지시켜 주는 클래스

    목표 ViewModel이 만들어진 이유를 이해한다. ViewModel이 필요한 이유 Android는 모바일 OS 특성상 리소스에 대한 제약이 많은 OS이다. 모바일 OS에서는 리소스를 제거해야만 하게 만드는 제어될 수 없는 이벤트가 발생하게 되는데, Android 프레임워크는 이러한 이벤트가 발생했을 때 Activity와 Fragment 같은 UI 컨트롤러에 대한 제거와 복구를 수행한다. 예를 들어 화면 회전이 이루어진다고 하자. 화면 회전이 이루어지게 되면 Activity가 파괴(onDestroy)된 다음 다시 화면이 만들어지면서(onStart) 복구 로직이(onRestoreInstanceState) 수행된다. Lifecycle에 관한 내용을 모른다면 아래(kotlinworld.com/46) 글을 참조..

    Android MVVM 아키텍처 구성과 의의를 View Model을 중심으로 알아보자.

    목적 MVVM 아키텍처의 각 부분이 어떤 역할을 하는지 안다. MVVM 아키텍처의 의의를 이해한다. MVVM 아키텍처 개요 MVVM 아키텍처는 View, View Model, Model 세가지로 나뉜다. 1. View : UI 클래스 - Activity와 Fragment View는 말 그대로 보이는 것이다. View의 가장 대표적 class인 Activity는 UI를 포함한 화면 하나를 가지고 있다. Activity나 Fragment와 같은 요소에서는 사용자에게 UI를 보여주며, 사용자와 소통하는 채널이 된다. View에서는 아래 ViewModel의 데이터를 관찰(Observe)하여 데이터 변경이 있을 시, View를 업데이트 시킨다. 보통 View를 업데이트 시킬 때 Data Binding Librar..

    Android MVVM 아키텍처의 등장 배경과 필요성

    목적 MVVM 아키텍처가 등장하게 된 배경을 이해한다. MVVM 아키텍처의 필요성을 이해한다. MVVM 아키텍처의 등장 배경 안드로이드의 아키텍처는 크게 MVC, MVP, MVVM 3가지로 나뉜다. 아키텍처는 MVC, MVP, MVVM 순서로 나왔는데 각각은 이전 아키텍처를 개선하여 나온 것이다. 어떤 점에서 한계점이 있었고, 어떤점이 개선되었는지 아래에서 각각의 특징을 살펴보자. MVC : View와 Controller를 Activity, Fragment 클래스에서 담당 각 클래스가 강하게 결합되어 있을 경우, 한 클래스가 변경되면 다른 클래스 또한 같이 변경되어야 하기 때문에 유지보수 하기가 어렵다. 웹에서 널리 사용되었던 MVC 아키텍처에서는 안드로이드에서 사용하기 위해서 View단과 Control..