본문 바로가기

ANDROID/Architecture

(2)
[안드로이드] activityViewModels를 활용해 Activity와 Fragment끼리 ViewModel 공유하기 구글 Material Design Component를 다루는 토이 프로젝트에서 BottomNavigationView를 다루는 Activity가 있었는데, 여기에서 각 탭을 선택할 때 보여지는 Fragment 내에 존재하는 버튼을 눌렀을 때, Activity의 뷰에 들어가 있는 BottomNavigationView의 뱃지를 업데이트 하고 싶었다. 이를 구현하기 위해서는 기존에 by viewModels 코틀린 Delegation을 활용해 주입했던 ViewModel을 Activity에 우선 주입하고, 이를 Fragment에서 activityViewModels Delegation으로 주입해주어야 했다. 이 코틀린 Delegation을 활용하기 위해서는 아래의 라이브러리가 그래들에 선언되어야 한다. // 20년 ..
[안드로이드] MVVM 아키텍처로 간단한 계산기 만들기 MVVM을 초기단계부터 파서 좀 익숙해지고자 하는 마음에 계산기를 떠올렸고, 이를 MVVM 아키텍처를 이용해 구현하고자 했다. 사실 MVVM의 강점을 살린다기보단 MVVM의 형태와 Databinding을 활용해 로직을 짤 때 어떠한 방식으로 활용이 가능한지 알아볼 수 있는 과제였던듯. 간단한 순서 1. app 레벨 gradle에 Databinding 활성화 - kotlin-kapt plugin설정이 들어가있지 않다면 최상단 부분에 apply plugin: 'kotlin-kapt' 를 추가해주어야 함. android { ... dataBinding { enabled = true } ... } 2. 메인 레이아웃의 databinding 설정 ... 3. ViewModel의 설정 - 양방향 바인딩을 적용할 O..