반응형 안드로이드57 (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. (android) 스플래시 화면 만들기 스플래시 화면이란 어플리케이션을 실행할 때 보여주는 로딩 화면을 의미합니다. 처음 스플래시 화면을 도입하게 된 계기는 애플리케이션 구동시 처리해줘야 할 사항이 많은데(버전체크, 기본 데이터 로딩, 서버에 접속 등) 그 일들이 처리되는 동안 제대로 구성되지 않은 화면을 사용자들이 보고 있는 경우 애플리케이션의 완성도가 떨어진다고 판단되어 생겨난 디자인이라고 합니다. 또한 앱을 켤 때 꾸준히 노출되는 디자인이기 때문에 앱 브랜드를 홍보하기 위한 창구로 활용되고 있기도 합니다. 그래서 스플래시 화면은 내부적인 기능이라기 보다는 디자인 적인 측면이 강합니다. 하지만 대부분의 애플리케이션이 스플래시 화면을 통해 앱의 완성도를 올리고 있는 추세라 사용법을 알아두는 것이 좋습니다.(물론 스플래시 스크린 자체의 기능은.. 2021. 3. 11. xml로 버튼 커스텀 하기(selector) 저번 글에서 shape에 대해서 다뤄봤는데 이번엔 selector에 대해서 다뤄보겠습니다. shape를 먼저 쓴 이유는 아무래도 selector를 위해 shape를 알아두면 좋은 부분도 있고, shape를 더 자주 사용했기 때문입니다. 안드로이드에서 selector를 사용할 일은 꽤나 많습니다. ToggleButton에서도 selector를 통해 on off에 대해서 원하는 이미지가 등장할 수 있게 배치할 수 있습니다. 또는 버튼이 눌린 상태에 있는 동안 다른 이미지(예를 들어 버튼이 눌러지고 있는 느낌의 이미지)를 띄워줄 수도 있고, EditTextView의 포커싱을 둘 때 디자인을 변경시킬 수도 있습니다. 그와 관련된 속성을 확인한 후, 사용법에 대해서 설명하겠습니다. android:state_che.. 2021. 2. 22. xml로 버튼 커스텀 하기(shape) 얼마전 xml이 아니라 kotlin을 통해 버튼을 커스텀하는 방법에 대해 글을 썼던 기억이 있습니다. 그런데 이번에는 xml을 통해 버튼의 이미지를 커스텀하는 방식에 대해 설명해보고자 합니다. 실은 제가 많이 까먹더라구요. 자주 쓰는 부분이 아니라 한 번 만들어두면 계속 사용하다보니 새 프로젝트를 들어갈 때 마다 다른 글들을 봐야 해서 아예 새로 하나를 정리해두려고 합니다. 먼저 xml로 만들 수 있는 기본적인 drawable은 shape와 selector 두 가지가 있습니다. 이번 글에서는 shape를 다루도록 하겠습니다. shape는 기본적으로 4가지 값을 지정할 수 있습니다. rectangle, oval, line, ring 인데 차례대로 사각형, 타원, 선, 링입니다. 사각형과 선에 대해서는 크게.. 2021. 2. 13. Kotlin으로 만든 커스텀 버튼 많은 블로그를 보면 커스텀 버튼에 대한 이야기가 많습니다. 그러나 xml로 디자인 정도만 바꾼 기초적인 버튼이 대다수를 차지하고 있습니다. 그 부분은 매우 중요한 부분이 맞으나 아쉽게도 제가 원하는 부분은 코틀린 class를 통해 button을 상속받아 만든 버튼 클래스 였기 때문에 이 글에서는 그 부분을 소개하도록 하겠습니다. 먼저 제가 만든 버튼은 실제로 사용해야하는 버튼이라 여러 기능이 있지만 그 것을 가지고 와서 소개하기에는 조금 부담스러울 수 있기 때문에 간략하게 소개하기 위해 check 기능이 추가된 커스텀 버튼을 소개하겠습니다. class CheckButton @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, .. 2021. 2. 9. 이전 1 ··· 6 7 8 9 10 다음 728x90