본문 바로가기
반응형

안드로이드/코틀린30

(android - jetPack) bindingAdapter 이 글의 주제는 BindingAdapter의 사용법에 대해서 정리하는 것입니다. 사실 얼마전까지 이 bindingAdapter가 어떤 원리로 구동되는지 명확하게 와닿지 않아서 제대로 사용을 못하고 있었는데, 얼마전에 겨우 조금 실마리가 잡힌 것 같아 정리를 하려고 합니다. 먼저 bindingAdapter에 대해서 짧게 설명하자면, xml에서 속성값을 이용해 adapter를 부착하려는 것이 목표입니다. 물론 속성값을 통해 데이터를 바인딩하는 만큼, 꼭 리사이클러뷰가 아니라 일반 textView나 Button에도 부착할 수 있지만, 저는 현재 recyclerView에서 사용하고 있기 때문에 그와 관련된 내용을 다루겠습니다. 혹시 일반 View의 속성값에 바인딩어댑터를 사용하고 싶다면, 그런 글을 참고하는 것.. 2021. 6. 6.
Gson의 기본적인 사용법(with kotlin) 이전 게시글 중 하나에 Gson과 Json의 차이점이라는 제목으로 Gson을 짧게 다룬 적이 있습니다. 그때와는 조금 다르게 이번에는 Gson을 어떻게 코틀린에서 사용하는지에 대해서 공부한 내용을 기록해두려고 합니다. https://github.com/google/gson google/gson A Java serialization/deserialization library to convert Java Objects into JSON and back - google/gson github.com Gson은 Json 데이터를 가공하는데 있어 좀 더 편하고 효율적으로 관리할 수 있도록 도와주는 라이브러리로 google에서 제공하는 Json을 줄여 Gson이라고 부른다고 보면 되겠습니다. Json이 무엇인지 간단.. 2021. 5. 29.
(android) skydoves - Balloon 이 글의 주제는 Balloon이라는 간단한 상태창을 만들기 위한 라이브러리입니다. 안드로이드는 다양한 view가 존재하고, 더 간단하게 view를 생성하고 관리하고자 여러가지 라이브러리들이 존재합니다. 저는 이전에는 douglasjunior의 simpletooltip이라는 라이브러리를 사용하고 있었으나, 제 프로젝트 내에서 사용하기 적합하지 않은 구조로 프로젝트가 변경되어서 Balloon이라는 라이브러리로 갈아타게 되었습니다. 물론 사내 라이브러리를 하나 따로 제작하는 것도 경험상 나쁘지는 않다고 생각했으나 아무래도 이 라이브러리가 꽤 간단하게 사용할 수 있기도 하고, 제 프로젝트에 괜찮아서 적용하게 되었습니다.(사실 디자인적인 부분에서 워낙 수준이 떨어지는 제 문제로 인해...) 역시 이 글을 보기보다.. 2021. 5. 27.
(android) SoundPool 사용법 가끔씩 안드로이드 애플리케이션을 제작하다보면 소리를 사용해야 하는 경우가 생깁니다. 소리를 사용하는 경우는 크게 음원과 같이 길이가 긴 것과 효과음과 같이 길이가 짧은 것으로 나눌 수 있을 텐데요. soundPool은 길이가 짧은 소리에 대해 효과적으로 사용할 수 있는 안드로이드 내장 라이브러리입니다. 저는 애플리케이션에서 각 효과음별로 소리 조절이 가능해야 한다는 기획 때문에 찾아보게 되었습니다. developer.android.com/reference/android/media/SoundPool SoundPool | Android 개발자 | Android Developers developer.android.com 안드로이드 공식 사이트에서 soundPool에 대해서 확인할 수 있습니다. 이 라이브러리의.. 2021. 5. 2.
(android-jetpack)LiveData LiveData라는 친구는 jetpack 관련 라이브러리를 뒤적거리다보면 항상 등장하고 꽤 중요하게 다뤄지는 기본 옵션같은 존재입니다. 이것을 대표할 수 있는 가장 큰 특징은 수명주기를 인식한다는 것입니다. 물론 일반적인 변수가 수명주기를 인식하는 것은 큰 메리트가 아닐지도 모릅니다. 그러나 이 LiveData는 observable하다는 특징을 지니고 있습니다. 이는 LiveData가 들고 있는 변수가 변경될 경우, 그와 연결된 데이터를 자동으로 변경시켜 준다는 것을 의미합니다. 기존에 여러가지 옵저버들을 사용해 '변수 변경 -> UI 처리 코드 추가 -> UI 변경' 이 과정을 LiveData를 통해서 가능하다는 것을 의미합니다. 허나 다른 옵저버들은 현재 연결된 UI의 상태가 어떤 상태인지(생명주기를.. 2021. 4. 13.
(android)greenrobot - EventBus 이 글의 주제는 그린로봇이 만든 이벤트 버스라는 라이브러리입니다. 안드로이드에서 사용되는 이벤트 버스는 가장 유명한 것으로 이 greenrobot과 otto가 있는데 저는 이 그린로봇의 이벤트 버스를 사용중이기 때문에 이에 대해 다루게 되었습니다. 위 그림은 이벤트 버스의 동작 방식을 간단하게 도형으로 설명한 부분입니다.(이 그림은 greenrobot의 github readMe에 나와있는 그림입니다.) 소개할 라이브러리를 보기 전에 이벤트 버스의 개념에 대해서 한 번 살펴보겠습니다. 이벤트 버스란 버스 네트워크의 동작 방식과 유사하게 하나의 이벤트를 동일 채널에 연결된 모든 노드(Subscriber)들에게 보내는 방식을 의미합니다. 이를 통해 각 노드들은 채널에 연결되어 있기만 하다면 이벤트를 채널에 보.. 2021. 4. 6.
728x90