본문 바로가기

전체 글156

[Android][kotlin] ViewModel 하나로 사용하기 솔직히 MVVM디자인 패턴을 처음 접하는 사람들에게는 Model, View, ViewModel과 같은 이름이 어떻게 진행되는지 정말 어려울 것으로 판단된다. 심지어 저도... 이게 무엇인지 아직도 찾아보는 중이니깐... Activity하나에 Fragment에서 사용하는 ViewModel이 공유가 되어야 하는 상황이 생길때 정확히 이해를 하지 못하니 ViewModel이 계속 생성이 되는것처럼 보이고 데이터가 저장아 안되는것으로 판단이 되는 상황이 생겼다... 이게 뭐지하면서 삽질을 한 끝에.. Fragment에서 ViewModel을 생성한다고 가정해보자. 저 안에 들어가는 this는 ViewModelStoreOwner를 뜻하는데 다른 Fragment의 this를 넣어주고 있으니 계속해서 생성이 되는것이 아.. 2021. 12. 2.
[Android][kotlin] switch 버튼 색상 색상 바꾸기(custom) / 토글버튼(Toggle Button) 안녕하세요 챠니입니다! 이번에는 Switch버튼을 자신의 마음대로 커스텀(Custom)하는 방법에 대해서 알아보겠습니다. 먼저 Switch가 어떻게 구성이 되어있는지를 알아보겠습니다. 아래 그림을 보면서 설명하겠습니다. 동그라미 버튼을 thumb, 동그라미 버튼이 움직이는 긴바가 track이라고 합니다. 자 그럼 switch버튼을 내 마음대로 변경을 하려면 thumb, track 이 두개를 작업해야함을 알 수 있습니다. swtich버튼은 2가지의 상태값을 가지고 있습니다. "state_checked"가 true 또는 false 2가지 상태값을 가지게 됩니다. 아래 코드를 보면서 자세히 설명하겠습니다. 0. Drawable Resource File 만드는 방법 파일을 만드는 방법은 아래의 그림과 같습니다... 2021. 11. 29.
디자인패턴 MVC / MVP / MVVM 이번에는 디자인패턴에 대해서 알아보겠습니다. MVC (Model - View - Controller) Model: 데이터 / View: XML파일 / Controller: Activity MVP (Model - View - Presenter) Model: 데이터 / View: Activity / Presenter: Model과 View를 연결해주는 매개체 MVVM (Model - View - ViewModel) Model: 데이터 / View: Activity / ViewModel: Model과 View를 연결해주는 매개체 1. MVC (Model - View - Controller) View: MVC에서 View는 아무 역할 없는 느낌이다. 뷰를 그냥 표시하는 XML파일이라고 생각하면 된다. Contr.. 2021. 11. 18.
안드로이드(Android) 생명주기(LifeCycle)에 관하여 이번에는 안드로이드(Android) 생명주기(LifeCycle)에 관하여 알아보겠습니다. 생명주기(LifeCycle)은 크게 Activity와 Fragment 각각 하여 총 2가지에 대해서 알아보겠습니다. 1. Activity *알아두면 좋은점 1. 불투명한 새로운 액티비티가 최상단으로 올라와서 기존 액티비티가 완전히 보이지 않게 되면 onPause()에 이어 onStop()까지 호출된다는 점. 불투명 새로운 액티비티가 최상단으로 올라오면 기존 액티비티는 사용자와 더 이상 상호작용을 할 수 없다. 포커스도 새로운 액티비티에 맞춰진다. 그렇기 때문에 onPause()에 이어 onStop()까지 호출되는 것이다. 2. 하지만 새로운 액티비티가 백그라운드 속성값이 투명한 경우는 onPause()까지만 호출이 .. 2021. 11. 18.