본문 바로가기

MVVM3

Android Jetpack - 5편 ViewModel + DataBinding + LiveData 통합 사용법 이번에는 Android Jetpack - 4편에 설명한 Data Binding을 ViewModel + LiveData를 활용해서 구현해보겠다. 본인이 이해한 것이 정확하지 않을 수 있어서 참고만 하길 바란다. 예제로는 간단히 YouTube처럼 좋아요와 싫어요 개수를 구하고 총합계를 구하는 예제로 해보겠다. # 사용법 1. bulid.gradle (Module) 추가 android { ... dataBinding { enabled = true } } 2. ViewModel + LiveData 생성 package com.example.databinding_ex.viewmodel import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewM.. 2022. 2. 24.
Android Jetpack - 4편 데이터 바인딩(Data Binding)이란? 이번에는 DataBinding을 알아보자 # 데이터 바인딩(Data Binding)이란? 간단하게 말하자면 데이터와 뷰를 연결하는 작업을 레이아웃에서 처리할 수 있게 해주는 라이브러리이다. 말로만 설명하면 이해가 안 될 수도 있기 때문에 아래 예시를 보자 fun main() { var textView = findViewById(R.id.sample_text) textView.Text("Hello") } 원래는 텍스트뷰에 문자를 넣거나 변경하기 위해 코드상에서 집어넣는 작업을 해주었다. 그래서 Data Binding을 사용하면 코드를 작성하지 않고 레이아웃 파일에서 직접 데이터 바인딩 표현식을 사용하여 작성할 수 있다. 이렇게 하면 자연스레 액티비티에는 로직만을 위한 코드만 남게 되고 뷰와 관련된 작업은 .. 2022. 2. 20.
안드로이드 디자인패턴 - MVC, MVP, MVVM 패턴 개발자가 되기 위해 기본인 디자인 패턴(MVC, MVP, MVVM) 패턴을 정리해 보려고 한다. ◆ 공통 용어 ● Model 내부적으로 쓰이는 데이터를 저장하고, 처리하는 역할을 한다. 흔히 '비즈니스 로직'이라고 부른다. View, Presenter 등 다른 어떤 요소에도 의존적이지 않은 독립적인 영역이다. ● View 사용자 인터페이스(UI)라 불리는 영역이다. 안드로이드에서는 Activity, Fragment가 대표적인 예시이다. 각 디자인 패턴에 따라 그 용도에 차이가 있다. # MVC (Model + View + Controller) ● Controller 어플리케이션이 실행하게 되면 작동하는 컨트롤러이다. Model과 View를 서로 연결해주는 역할을 하고 유저에게 액션을 받아 처리하는 역할까.. 2022. 1. 14.