반응형 Jetpack4 Live data와 ObservableField는 무엇일까? 회사에서 jetPack을 적용하기 위해 공식문서와 여러가지를 참조해서 ViewModel을 처음 생성할 때 저는 Live Data만 알고 있었습니다. 그래서 ObservableField가 무엇인지 알지 못했습니다! 그런데 제가 어쩌다 다른 회사에 지원을 하게 되었고, 그 회사의 사전 면접에서 LiveData와 ObservableField의 차이점이 무엇인지에 대해서 물어보는 것이었습니다. 아예 ObservableField에 대한 정보가 없던 저는 당연히 제대로 대답하는 것이 불가능했고!(안타깝지만 모르는 것을 아는 척하는 것보다는 모른다고 대답하는 것이 더 매끄러운 것 같아서 그냥 모른다고 대답했습니다.) 이후 저는 블로그에 꼭 글로 남겨둬야겠다는 다짐을 하게 되었습니다. 덕분에 이번 게시글의 주제는 Li.. 2021. 7. 26. (android-jetpack)LiveData LiveData라는 친구는 jetpack 관련 라이브러리를 뒤적거리다보면 항상 등장하고 꽤 중요하게 다뤄지는 기본 옵션같은 존재입니다. 이것을 대표할 수 있는 가장 큰 특징은 수명주기를 인식한다는 것입니다. 물론 일반적인 변수가 수명주기를 인식하는 것은 큰 메리트가 아닐지도 모릅니다. 그러나 이 LiveData는 observable하다는 특징을 지니고 있습니다. 이는 LiveData가 들고 있는 변수가 변경될 경우, 그와 연결된 데이터를 자동으로 변경시켜 준다는 것을 의미합니다. 기존에 여러가지 옵저버들을 사용해 '변수 변경 -> UI 처리 코드 추가 -> UI 변경' 이 과정을 LiveData를 통해서 가능하다는 것을 의미합니다. 허나 다른 옵저버들은 현재 연결된 UI의 상태가 어떤 상태인지(생명주기를.. 2021. 4. 13. (android-jetpack)AAC에서의 뷰모델 안드로이드에서 제공하는 안드로이드 아키텍쳐 컴포넌트(Android Architecture Component)의 ViewModel에 대해서 이야기하려고 합니다. 기존 MVVM 모델의 뷰 모델과 동일한 기능을 가진 존재였다면, 그저 디자인 패턴 설명 시에 했던 모델로서 설명이 끝이겠지만, MVVM 모델을 설명하면서 했던 ViewModel과는 분명 다른 존재라고 안드로이드 공식 문서에서도 분명하게 설명하고 있습니다. 위와 같은 말이 안드로이드의 MVVM 디자인 패턴을 공부하는 과정에서 제일 많이 들을 수 있고, AAC나 jetpack에 대해 공부하는 과정에서 제일 알기 쉬운 주제입니다. 그러나 글을 쓰는 이유는 안드로이드 프로젝트에 MVVM 모델을 채용하면서 동시에 버전 업을 위해 AAC를 채용하게 되었더니 .. 2021. 3. 30. (android - jetpack)데이터 바인딩 작업 안드로이드의 jetpack 라이브러리가 등장하면서 dataBinding이라는 기술이 안드로이드에도 도입되기 시작했습니다. dataBinding의 개념은 이미 예전부터 버터 나이프 라이브러리와 같은 개념으로 많이 알려져 있었습니다. 하지만 jetpack을 통해 공식적으로 도입된 느낌이 강합니다.(물론 아직까지도 버터 나이프와 같은 데이터바인딩 라이브러리를 사용할 수 있습니다.) 데이터바인딩은 XML과 기존 코틀린(자바) 코드와의 연결을 기초로 합니다. 이는 특별한 연결 설정 없이 데이터 바인딩을 통해 변수의 변경에 따라 뷰를 변경해줄 수 있다는 것을 의미합니다. 이로 인해 더욱 간단하게 view와 관련된 기능과 다른 기능들을 분리할 수 있도록 도와줍니다.(여러가지 디자인 패턴을 적용하기 더욱 좋아진다는 것.. 2021. 3. 22. 이전 1 다음 728x90