안드로이드 Espresso Recorder 활용한 UI 테스트
Google에서 제공하는 UI 테스트 방법은 Espresso을 이용할 수 있고, 전역에서 간단하게 테스트 가능한 UI Automator를 제공하고 있다. 그리고 좀 더 테스트를 편하게 제공하기 위해서 Android Studio에서 제공하는 Espresso...
Google에서 제공하는 UI 테스트 방법은 Espresso을 이용할 수 있고, 전역에서 간단하게 테스트 가능한 UI Automator를 제공하고 있다. 그리고 좀 더 테스트를 편하게 제공하기 위해서 Android Studio에서 제공하는 Espresso...
구글 안드로이드 개발에서 Kotlin을 지원한지 2년이 흘렀고, 2019년 Google I/O에서는 완전한 메인 언어로써 자리매김했음을 공식화했다. GDG 부산에서 발표한 내용을 토대로 어떠한 변화가 있었는지 정리해보려고 한다. (more…)
순서상 Google Developer Keynote 이후 What’s New Android가 나온다. 그래서 중복적인 내용이 있으나, 36분간 안드로이드 이야기로 꾸려지며, 이번 Google I/O 기간 Android에서 어떤 내용이 나올지가 여기에서 소개된다. 올해는...
2019년 Google IO 중 Architecture Components 세션에서 소개한 내용을 몇 가지 정리한다. 세션 내용은 아래에서 감상할 수 있다. (more…)
2019년 Google IO의 개발자 키노트 소개 중 안드로이드 관련을 정리한다. 2017년 Google IO 후기 2018년 Google IO Developer Kyenote 일부 정리 (more…)
이전 글에서 Kotlin coroutines을 제어할 수 있는 Job에 대해 알아보았다. 기본적인 Job 초기화 후 사용한데 어떤 방법이 좋을까? 먼저 이전 글에서 초기화 때 적용했던 방법을 다시 살펴보자. val...
Kotlin Coroutines을 컨트롤하기 위한 Job을 제공해준다. 이 Job은 N 개의 coroutines의 동작을 제어할 수도 있으며, 하나의 coroutines 동작을 제어할 수도 있다. 먼저 Job이 어떤 것인지 알아보고, exception 발생...
Kotlin coroutines은 기존 Java Thread, 안드로이드에서 제공하는 AsyncTask, ReactiveX 패러다임을 일부 구현한 RxJava를 대신할 수 있는 Asynchronous/Non-blocking programming을 제공한다. 참고로 기존에 작성하였던 글에서 Kotlin Coroutines을 알아보고, 안드로이드에 library...
RxJava 2.x 사용 시 발생 가능한 버그를 소개하고, 해결 방법을 소개한다. RxJava 2.x 버전으로 올리고 나서 UndeliverableException이 발생하는 경우가 생겼다. 이해를 돕기 위해 오류 코드를 그대로 추가하고, 이...
RxJava는 안드로이드 개발에 없어서는 안 될 존재가 되었다. 많은 개발자들이 사용하고 있으며, 구글도 RxJava 관련한 API를 제공한다. 하지만 RxJava를 이해하기까지 상당한 시간이 걸린다. 다음 코드를 이해하려면 과연 몇...
이전 글에서 Coroutines과 안드로이드에 적용하기 위한 플러그인 적용 방법을 알아보았다. 이번 글에서는 적용한 코드를 좀 더 자세하게 알아보고, Android에서 onClick과 함께 사용할 경우 유용한 Coroutine 사용 방법을 알아본다....
async/await 이야기가 가장 흔한 coroutine. 안드로이드 개발자도 이제 coroutine을 적용할 수 있다. kotlin에 Coroutine을 제공하고 있는데, Kotlin 1.1부터 제공하고 있다. 다만 아직은 별도 라이브러리를 통해 Coroutine을 제공하고 있다....
러닝 커브가 낮은 Kotlin 학습 방법 및 적용 방법은 다양하다. Java와 Kotlin 언제든 혼용해서 사용할 수 있는 매력적인 언어이다. 그렇다고 안드로이드 전용의 개발 언어는 아닌데 JVM 위에서 동작하는...
GDG 판교의 ANDROID & CHAIN에서 Paging: Paged List Adapter를 발표하였는데 발표 내용을 정리한다. 페이징 처리를 해주는 안드로이드의 구현, PagedListAdapter를 소개하는 자리를 가졌다. 발표가 20분의 길이기 때문에 PagedListAdapter에 대해...
Google I/O 2017에서 첫 선을 보였었다. 2018년 Google I/O에서 Jetpack 소개하였고, Android AAC(Android Architecture Components)를 포함하였다. Jetpack에는 안드로이드 개발에 도움을 줄 수 있는 라이브러리 대부분을 추가하였는데 Architecture에는 Data...
안드로이드 뷰모델 ViewModel은 비교적 새로운 세상이며 오해가 많은 영역 중 하나다. 이 글에서는 사용자가 이미 ViewModel의 간략한 사용법을 알고 있다 가정하며 더 깊은 이해를 위해 구현부를 살펴보도록 한다....
지난 글에서 Android P Preview 설치 및 달라진 UI에 대해서 살펴보았다. 이번 글에서는 Android P에서 달라지는 동작과 새로운 feature를 정리해보려고 한다. Android P에서 많은 부분이 추가되었고, 수정되었다. 그중...
올해도 Android 새 버전의 베타가 배포 중이다. Android P Beta를 지원하는 기기가 과거 구글의 넥서스와 픽셀에서 만 제공하였으나, 올해는 소니와 노키아, 원플러스 등의 제조사 기기들에서도 Android P Beta을...
내가 작성한 Kotlin 코드가 Java로 어떻게 표현되는지 궁금할 수 있다. 이런 경우 Android Studio에서 제공하는 byte 코드 Decompile을 통해 Java로 표현되는 코드를 확인할 수 있는데 이 글에서 간단하게...
그동안 com.android.support.* 또는 android.support.*와 작년에 공개한 Android Architecture Component에서 사용하던 android.arch.*의 패키지 명을 안드로이드 라이브러리 28.0.0부터 새로운 androidx.* 패키지 명으로 교체한다고 한다. Android Jetpack으로 통합해서 제공하려고 하니 기존...
2017년에 이어 2018년에도 Google I/O 참여 기회가 생겨 참여 중에 있다. 작년보다 2주 이른 5월 초에 진행하고 있는 Google I/O는 머신 러닝의 AI for everyone!이다. 이미 모든 것에...
Kotlin에서 기본으로 제공하는 산술 연산자 plus, minus 등을 +, -로 접근한다. 이러한 기법을 Kotlin에서는 Convention이라고 한다. 이번 글에서는 이러한 Convention을 확장하여 사용할 수 있는 Kotlin의 기법을 살펴보려고 한다....
Kotlin에는 늦은 초기화를 위한 방법 2개를 제공한다. class의 전역에 아래와 같이 값을 생성하면, 클래스가 만들어지는 시점에 변수를 함께 초기화한다. class 생성과 동시에 변수가 초기화되면, 재 접근시 빠르게 접근이...
2018년 2월 5일 구글은 안드로이드 KTX를 발표했는데 구글의 소개 문장을 인용하면 다음과 같다. Android KTX provides a nice API layer on top of both Android framework and Support...
참고 : Introducing new Android training programs with Udacity - Android Developers Blog 나노 학위를 제공하는 구글의 안드로이드 강좌가 있다. 각각의 강좌는 무료로 제공되지만 저렴한 비용을 치르면 나노...
예전에 좌우 스와이프 가능한 탭 기반의 앱 만들기에서 살짝 다뤘던 것이 액션바였는데, 이번에 이 스타일의 앱을 만들면서 부딪혔던 문제들이 있어서 추가로 기록한다. 컬러, 스타일 등을 바꾸는 것이 꽤...