ENAN

Developer, Artist, Traveler

Android 4

[Android] AAC - Databinding

사실 데이터바인딩은 안드로이드에서만 사용하는 개념은 아니다. 포괄적인 의미에서 데이터바인딩은 UI 요소와 데이터를 결합시켜 사용하는 것을 의미하고, 당연히 다른 언어와 프레임워크에서도 사용되는 개념이다. 아래에서는 Android Jetpack - AAC의 일부인 databinding library에 대해서만 설명할 것! DataBinding이란? 이 말이 바로 와닿지는 않을 테니(저는 그랬습니다), 우선은 레이아웃 xml 파일에 data를 연결해서 사용하는 것 정도로 이해하고 넘어가 보자. 👇 선언적 형식은 뭘까 👇 더보기 선언적 형식이라는 말이 무슨 말일까? 를 이해하기 위해서는, findviewById를 이용했던 기존 방식(명령적)과 차이를 보면서 이해하면 좋을 것 같다. - 기존 명령형 방식 ove..

공부/Android 2021.05.01

[Android] AAC - ViewModel ( + vs MVVM의 ViewModel)

ViewModel 개요 우선 MVVM 관점에서와 AAC 라이브러리로서의 ViewModel을 구분해 작성하려 한다. MVVM 관점에서는 viewModel이 어떤 역할을 하는지와 같은 개념적인 얘기를 다루고, AAC 라이브러리 관점에선 이 viewModel이 안드로이드에서 어떻게 구현되었는지, 구체적인 사용 방법 등에 대해 적어보겠다. MVVM에 대해 잘 모른다면 아래의 글을 참고하면 좋을 듯! blog.yena.io/studynote/2019/03/16/Android-MVVM-AAC-1.html [Android] MVVM & 안드로이드 아키텍쳐 컴포넌트 시작하기 (나를 포함한) 안드로이드 개발을 처음 시작하는 사람들은 대부분 액티비티에 거의 모든 코드를 직접 넣는다. 하지만 시간이 갈수록 액티비티는 점점 ..

공부/Android 2021.03.31

[Android] AAC - LiveData

LiveData란?🤔Lifecycle을 알고 있는, Observe 할 수 있는 Data holder classLiveData가 갖고 있는 데이터에 어떠한 변화가 일어날 경우, 등록된 Observer 객체에 변화를 알려주는 방식으로 사용된다.라이브데이터를 처음 접해 본다면 무슨 말인지 바로 이해하기 힘들 수 있다. 라이브데이터를 제대로 이해하고 사용하기 위해서는 Observer Pattern, Lifecycle 두 가지에 대해 먼저 이해해야 한다. 옵저버 패턴(Observer Pattern)이란?🤔어떤 객체의 상태 변화를 관찰하는 Observer들의 목록을 객체에 등록하여, 상태 변화가 있을 때마다 등록된 Observer에게 통지하도록 하는 디자인 패턴LiveData는 데이터를 갖고 있고, 누군가에게 이 ..

공부/Android 2021.03.12

[Android] AAC - Room

Rooom이란? Room은 SQLite의 추상 레이어를 제공해 주어 DB에 편하게 접근할 수 있도록 해주는 ORM Library이다. JetPack, 그 안에서도 AAC 안에 속해있는 라이브러리 중 하나다. SQLite에 비해 Room을 사용했을 때 얻을 수 있는 이점이 많다.보일러 플레이트 코드를 줄일 수 있다는 점부터, 컴파일 타임에 유효성 검사를 할 수 있고, schema가 변경되었을 때도 자동으로 업데이트가 되며, LiveData 등과 함께 사용해 데이터를 Observation 할 수 있다는 점 등 장점이 많다. 현재 Google은 SQLite 대신 room을 사용하기를 적극적으로 권장하고 있다. 사용 방법 1. dependency 추가 Room 을 입력하고 alt + Enter를 누르면 depe..

공부/Android 2021.02.02