코루틴을 활용하다 보면 문서에 나오는 것 외에도 다양하게 활용될 수 있다. 하지만 모든 Scope이 정답은 아니고, 상황에 맞는 게 있다. 안드로이드에서는 당연하게도 CoroutineScope을 사용해 lifecycle을 따르도록 개발하는 걸 권장하는데 onDestroy 시점에 cancel() 할 수 있는 형태로 만들어져 있다. Lifecycle을 따르는 건 매우 자연스럽다. 이 글에서는 다양하게 사용할 수 있는 Scope 중 먼저 runBlocking을 알아본다. 이 글에서 알아볼 내용 runBlocking을 UI에서 사용해도 괜찮을까? runBlocking의 내부 코드를 알아보자. 그럼 runBlocking은 언제 쓰는 게 좋을까? 자세한 내용은 이어 보기 Kotlin Coroutines의 runBl..
안드로이드의 익숙한 BaseXXX class를 알아보고, 설계의 중요성을 알아보자. | I’m an Android Developer. thdev.tech Java에서 상속은 매우 익숙하다. 앞에서 적은 상속! 악마의 속삭임, 그 속에 숨겨진 문제점, Kotlin에서는 Delegation을 활용해 보자. 글을 보면 알겠지만 상속에는 숨겨진 문제점이 있다. 상속을 지키리 면 open을 통해 열고 닫고를 잘해야 하고, 설계를 잘 해야 하고 주석도 잘 달아주는 게 좋다. 처음의 의도와 달라질 수 있는 환경이라면 상속보다는 다른 방법을 활용하는 게 좋다. 이 글에서는 Android에서 흔하게 작성하는 class BaseXXX를 알아보고 좀 더 좋은 접근 방법을 알아보려고 한다. 이 글에서 알아볼 내용 안드로이드에..
Kotlin은 class 안에 class(중첩 클래스)를 정의할 때 기본 Nested classes 룰을 사용한다. 자세한 내용은 이어보기를 통해 확인해주세요. https://thdev.tech/kotlin/2020/11/17/kotlin_effective_11/Kotlin과 Java의 Nested and Inner Classes를 알아보고, Nested classes를 왜 사용해야 하는지 알아본다. |I’m an Android Developer.thdev.tech inner classes가 아닌 이유를 찾기엔 자바를 이해하는 편이 가장 좋다. 이 글에서는 Java의 inner classes와 Nested classes를 통해 코틀린의 Nested classes 이유를 알아본다. 이 글에서 알아볼 내용J..
올해도 어김없이 나온 안드로이드 11 Preview. 작년부터 안드로이드는 디저트 이름 대신 10/11 등의 OS 번호를 표기키로 했고, 올 하반기에 나올 안드로이드는 11이다. 안드로이드 11은 2월에 개발자 버전으로 최초 공개되었고 벌써 7월 베타 2에 이른다. 필자는 메인 폰인 Pixel 4 XL에 안드로이드 11 Preview를 올려 사용 중이다. 타임라인상 8월 final 버전에 해당하는 Beta 3가 나올 예정이고, 빠르면 8월 말에서 9월 초에 정식 버전이 배포될 것 같다. 언제나 그렇듯 초기 대상이던 "Pixel 4 / 4 XL, Pixel 3a / 3a XL, Pixel 3 / 3 XL, or Pixel 2 / 2 XL"에서 우선적으로 Android 11 정식을 만날 수 있다. -----..
다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다. 이어보기 : https://thdev.tech/android/2019/11/30/RxJava-Corotuines-01/ 약 1년 전 Coroutines을 처음 다루었고, RxJava에 대해서 조금 익숙하게 사용할 시점에 작성했던 글이다. RxJava와 Kotlin Coroutines 비교해보기 - 링크 그간 지원은 다음과 같다. 2019 Google I/O에서 Coroutines을 적극 도입하기로 하였고, ViewModel/LiveData 등을 위한 CoroutineScope을 제공하고, Coroutines에서도 RxJava Cold Observable과 유사한 Flow를 제공한다. Kotlin/Coroutines은 계속 ..
다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다. 이어보기 : https://thdev.tech/2019/11/17/2019-11-17-UI-Test-01/ Android Studio Espresso Recorder 활용한 UI 테스트에 대해 알아보았는데, 부족한 점이 있었다. 그래서 이번 글을 통해 Espresso Recorder에서 생성해준 코드에 부족한 부분을 채워 보려고 한다. 결론부터 적어보면 Espresso Recorder Recorder를 활용하는 경우 Android UI가 다 그려졌는지에 대한 여부는 제공하지 않는다. 이전 글 : 안드로이드 Espresso Recorder 활용한 UI 테스트 완전하지는 않지만, 최소한 UI가 그려지는 시점을 알 수 있을 것 ..
다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다. 이어보기 : https://thdev.tech/android/2019/09/02/Android-Studio-Espresso-Recorder/ Google에서 제공하는 UI 테스트 방법은 Espresso을 이용할 수 있고, 전역에서 간단하게 테스트 가능한 UI Automator를 제공하고 있다. 그리고 좀 더 테스트를 편하게 제공하기 위해서 Android Studio에서 제공하는 Espresso Recorder가 있다. 이번 글에서는 Espresso Recorder를 알아보자. Espresso Recorder Espresso Recorder(Google Document)는 Android Studio에 포함되어있는 기능으로, ..
다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다. 이어보기 : https://thdev.tech/android/2019/07/14/Android-Kotlin/ 구글 안드로이드 개발에서 Kotlin을 지원한지 2년이 흘렀고, 2019년 Google I/O에서는 완전한 메인 언어로써 자리매김했음을 공식화했다. GDG 부산에서 발표한 내용을 토대로 어떠한 변화가 있었는지 정리해보려고 한다. 2016년에 시작한 코틀린 2016년부터 학습한 Kotlin 관련 History를 간략화해본 그림이다. 다음 글은 전체 내용을 공유하지 않고, 새로운 블로그로 링크를 제공하는 글입니다. 이어보기 : https://thdev.tech/android/2019/07/14/Android-Kotlin/