본문 바로가기

Mobile : Android/Jetpack5

[Jetpack AAC] 뷰모델(ViewModel) #1 : MVVM [Jetpack AAC] 뷰모델(ViewModel) #1 : MVVM 뷰모델(ViewModel)은 안드로이드에서 MVVM 패턴을 구현하고자 할 때 필수로 사용되는 AAC(안드로이드 아키텍처 구성요소) 중 하나다. MVVM은 모델(Model)-뷰모델(ViewModel)-뷰(View)의 책임 집합으로 나뉘는 설계 패턴으로, 안드로이드의 Jetpack에서 제공하는 뷰모델은 위와 같은 패턴을 구현할 때 많은 도움을 준다. 따라서 MVVM이 무엇이고 기존에 비해 나은 점이 무엇이며, 안드로이드에서 간단히 뷰모델 라이브러리를 사용하는 방법에 대해 리뷰하겠다. 뷰모델은 필연적으로 LiveData와 함께 쓰이는데, 이것은 다른 포스트에서 이어 서술하겠다. 1. MVVM 과 MVC 2. ViewModel 과 SIS(Sa.. 2022. 6. 13.
[Jetpack AAC] Data Binding 기본 #2 : ObservableField [Jetpack AAC] Data Binding 기본 #2 : ObservableField https://full-stack.tistory.com/23 [Jetpack AAC] Data Binding 기본 #1 [Jetpack AAC] Data Binding 기본 #1 Jetpack은 2018년에 첫 공개된 안드로이드 개발에 도움을 주는 패키지 묶음이다. 기존의 구글에서 제공하던 서포트 라이브러리를 모아 통합한 것으로, 그중 AAC(Android full-stack.tistory.com Android Jetpack의 아키텍처 컴포넌트(AAC) 중 하나인 데이터 바인딩의 기본기를 좀 더 학습해보고자 한다. 이번에는 이벤트 바인딩의 방법과 옵저버블 필드(ObservableField)에 대해 알아보겠다. 간단.. 2022. 4. 30.
[Jetpack AAC] Data Binding 기본 #1 [Jetpack AAC] Data Binding 기본 #1 Jetpack은 2018년에 첫 공개된 안드로이드 개발에 도움을 주는 패키지 묶음이다. 기존의 구글에서 제공하던 서포트 라이브러리를 모아 통합한 것으로, 그중 AAC(Android Architecture Component)는 안드로이드 MVVM(Model-View-ViewModel) 패턴의 시대를 연 장본인이다. 그로부터 약 4년이 지난 지금, MVVM은 이제 대세다. MVVM을 시작하기 위해선 뭐부터 시작해야 할까? 바로 데이터 바인딩(Data Binding) 이다. 데이터 바인딩은 선언적 형식으로 UI와 데이터 소스를 연결하는 행위를 말한다. 이게 뭔 소린가? 그동안 UI 구성하고 데이터 소스 연결 잘해왔는데? 선언형 UI란 무엇일까. 일단 .. 2022. 4. 12.
[Jetpack AAC] View Binding 정리 [Jetpack AAC] View Binding 정리 핵심 : findViewById 를 쓰지 않는다. 뷰 바인딩은 각 XML 레이아웃 파일에 해당하는 바인딩 클래스(Binding Class)를 자동 생성하여 뷰에 대한 직접 참조를 가능케 한다. 기존에는 코틀린 합성 프로퍼티를 이용해서 했지만 코틀린 합성 프로퍼티는 이제 deprecated 예정이기에 공식적으로 이 방법을 쓰는게 맞다. 기본적인 뷰바인딩 사용방법과 3가지 사례(Activity에서 사용법, Fragment에서 사용법, ViewHolder에서 사용법)를 정리해보겠다. 준비 안드로이드 스튜디오 3.6 이상 (Canary 11 이상) 에서 사용 가능 모듈 수준 gradle 파일에 다음을 추가한다. android{ ... 중략 viewBindin.. 2021. 11. 15.
[Jetpack Compose] Compose # 1 - 기본 [Jetpack Compose] Compose # 1 - 기본 Jetpack Compose 란? Jetpack 컴포스는 구글이 제시한 최신 선언형 UI 프레임워크이다. 기존 레거시 뷰 체계는 앞으로 등장하게 될 다양한 기기들의 화면(폴더블, 플렉서블, 테블릿 등) 형태에 대응하기 어렵고, 이러한 레거시 라이브러리의 업데이트는 안드로이드 엔지니어들이나 이를 이용하여 개발하는 개발자 둘 다에게 비효율적이다. 따라서 구글에서는 완전히 새로운 Android UI 설계 프레임워크를 지난 21년 5월에 출시하였다. 본 포스트는 Jetpack Compose 1.0 버전 기준으로 작성하였다. Jetpack Compose 의 특징 API Level 21 부터 호환하여, 대부분의 안드로이드 OS 버전에 호환 특정 OS에 .. 2021. 11. 6.