본문 바로가기

안드로이드48

Binding Adapter(바인딩 어댑터)를 배워보자! 1. Binding Adapter 1-1. Binding Adapter란? 2. 사용법 2-1. Adapter 2-2. Layout 2-3. Activity 3. Binding Adapter의 목적 4. 예제 1. Binding Adapter 1-1. Binding Adapter란? 뷰의 속성을 설정하는 메서드는 여러 가지가 있다. 당장 텍스트 뷰만 해도 텍스트 크기, 텍스트 컬러, 높이, 여백 등등 무수히 많은 옵션들이 있으니 말이다. 하. 지. 만. 그럼에도 불구하고 내가 원하는 기능의 메서드가 없다면 어떻게 해야 할까? 액티비티에서 내가 원하는 메서드를 만들어 사용하듯이 레이아웃에서도 내가 원하는 메서드를 만들어 사용할 수는 없을까? 결론부터 말하자면 할 수 있다. Binding Adapter를 사.. 2021. 5. 29.
Observer가 LiveData를 관찰 못할 때 1. 사건 배경 2. 증상 3. 시도한 방법 3-1. LifeCyclerOwner 확인 3-2. 액티비티 수명 상태 확인 3-3. observerForever 사용 3-4. hasActiveObservers 사용 4. 결론 어쩐지 검색해도 해결방법이 안 나오더라니 이런 멍청한 실수를 하는 건 나밖에 없는 것 같아서 이 포스팅을 쓸까 말까 고민했다. 그치만 삽질하면서 배운 것도 있고, 만약 한 분이라도 이 글을 보고 문제를 해결하면 내가 그 분의 시간을 아껴드리는 거니까! 적어보기로 했다. 1. 사건 배경 Retrofit에 대한 정리 글을 올릴 때 글을 보시는 분들이 LiveData에 대해 모르고 계시면 헷갈릴까 봐 콜백 함수를 써서 예제를 만들었었다. 그리고 LiveData 예제를 만드는데 새로 만들기 .. 2021. 5. 5.
안드로이드 Jetpack이란? 1. Jetpack 1-1. Jetpack이란? 1-2. Jetpack이 나오게 된 배경 1-3. Support Library의 문제점 1-4. 구성 요소 1-5. Compose 1. Jetpack 1-1. Jetpack이란? 안드로이드 채용 공고를 조금만 둘러보면 위 사진처럼 Android Jetpack에 대한 이해와 경험을 요구하는 회사가 많다는 걸 알 수 있다. 과연 Jetpack이 무엇이길래 그러는 것일까? Jetpack은 2018년 5월 8일에 구글이 발표한 라이브러리와 도구 모음집이다. 개발자들이 쉽고! 빠르고! 퀄리티 좋은! 앱을 만들 수 있도록 도와주는 라이브러리와 도구를 모아두었다. 1-2. Jetpack이 나오게 된 배경 사실 Jetpack이 나오기 전 Support library라고 .. 2021. 4. 5.
안드로이드 Room의 사용법과 예제 1. Room 1-1. Room이란? 1-2. Room 구조 1-3. TMI 2. 사용법 2-1. gradle 2-2. Entity 2-3. DAO 2-4. Room Database 2-5. 데이터 베이스 사용 3. 예제 3-1. room + singleton + coroutine 3-2. room 1. Room 1-1. Room이란? Room은 스마트폰 내장 DB에 데이터를 저장하기 위해 사용하는 라이브러리이다. 평소에 우리는 메모를 저장하고, 일정을 저장하고, 즐겨보는 웹툰을 즐겨찾기 하고... 사용자의 데이터를 내장 DB에 저장할 일이 많다. 과거에는 SQLite라는 데이터베이스 엔진을 이용해 데이터를 저장했으나 다음과 같은 단점이 있었다 한마디로 사용하기 어렵다는 뜻이다. Room은 이러한 문제들.. 2021. 4. 3.
Retrofit이란? (사용하기 전에 알아야 할 것들) 1. Retrofit 1-1. Retrofit 이란? 1-2. TMI 2. 기본 개념 2-1. Request URL 2-2. JSON과 HTML 2-3. GET과 POST 2-4. parameter 3. 사용 전 세팅 3-1. gradle 3-2. AndroidManifest.xml 3-3. data class 생성 1. Retrofit 1-1. Retrofit 이란? Retrofit는 서버와 클라이언트 간 http 통신을 위한 라이브러리이다. 더 쉽게 말하자면 안드로이드에서 http 통신을 할 수 있도록 도와주는 놈이다. 예를 들어, retrofit 라이브러리를 사용하면 위 사이트의 공지사항들을 불러올 수 있다. 이를 이용하면 최저가 상품을 모아서 보여준다던가, 쇼핑몰 옷 사진들을 모아서 보여준다던가 .. 2021. 4. 2.