본문 바로가기

오늘은 뭘 배울까?68

Observer가 LiveData를 관찰 못할 때 1. 사건 배경 2. 증상 3. 시도한 방법 3-1. LifeCyclerOwner 확인 3-2. 액티비티 수명 상태 확인 3-3. observerForever 사용 3-4. hasActiveObservers 사용 4. 결론 어쩐지 검색해도 해결방법이 안 나오더라니 이런 멍청한 실수를 하는 건 나밖에 없는 것 같아서 이 포스팅을 쓸까 말까 고민했다. 그치만 삽질하면서 배운 것도 있고, 만약 한 분이라도 이 글을 보고 문제를 해결하면 내가 그 분의 시간을 아껴드리는 거니까! 적어보기로 했다. 1. 사건 배경 Retrofit에 대한 정리 글을 올릴 때 글을 보시는 분들이 LiveData에 대해 모르고 계시면 헷갈릴까 봐 콜백 함수를 써서 예제를 만들었었다. 그리고 LiveData 예제를 만드는데 새로 만들기 .. 2021. 5. 5.
맥린이가 알려주는 맥 사용법 및 설정 1. 이 글을 쓰는 이유 2. 알아두면 좋은 개념들 2-1. Dock 2-2. 키보드 2-3. 닫기 버튼 2-4. 탭 메뉴 2-5. Homebrew 2-6. Hidpi 3. 시스템 환경설정 3-1. 테마 설정 / 스크롤 막대 표시 3-2. 배경화면 변경 3-3. Dock을 숨기거나 항상 고정시키는 방법 / 요술램프 효과 끄기 3-4. 볼륨 아이콘 표시 3-5. 핫 코너 설정 3-6. 카카오톡 알림이 안 올 때 3-7. 확대/축소 3-8. 애니메이션 끄기(속도 향상) 3-9. 마우스 커서가 커지는 옵션 끄기 3-10. 타이핑 속도 및 삭제 속도 조절하기 / Fn 키 설정 3-11. 스크롤 방향 변경 / 스크롤 관성 / 스크롤 속도 3-12. 디스플레이 설정 4. 그 외 소소한 팁 4-1. 부채 모양으로 내.. 2021. 5. 3.
레트로핏을 이용하여 서버와 통신하자! 1. 사용법 1-1. Interface 정의 1-2. Retrofit 객체 생성 1-3. HTTP 요청과 응답 2. 예제 소스 이번 게시물에서는 Retrofit을 이용하여 버튼을 누를 때마다 다음 페이지의 공지사항을 불러와서 띄우는 기능을 구현할 것이다. 사이트는 크롤링을 허용해둔 배민 사장님 광장을 이용하였다. Retrofit의 개념과 사용 전 알아야 할것들은 이미 이전 게시물에서 다루었다. 먼저 읽고 오는 것을 추천! 1. 사용법 1-1. Interface 정의 interface BaeminService { @GET("contents?typeCode=notice&size=10") fun loadNotice(@Query("page") page: String): Call } 우선 위와 같은 API int.. 2021. 4. 12.
안드로이드 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.