Kotlin 안전한 Type casting을 알아보고, 코드 가독성도 올려보자.

이번 글은 매우 기초적인 내용을 다루는 글이다.

Type casting을 다루고, Type casting을 잘 못 활용한 케이스를 안드로이드 코드에서 찾아보았다. Type casting에서 작성한 코드를 기반으로 짧게 코드 가독성을 올리는 방법을 정리했다.


이 글에서 알아볼 내용

  • Kotlin type casting 기법을 알아본다.
  • Kotlin type casting의 잘 못 사용한 케이스를 알아보고, 개선점을 정리했다.
  • Type casting을 통해 코드 가독성을 올리는 방법을 짧게 정리했다.
  • 간단한 scope을 활용하는 형태를 알아본다.

Read More

안드로이드 Jetpack Compose! 구글 Codelabs을 통해 알아본다.

안드로이드 Jetpack Compose! 구글 Codelabs을 통해 알아본다.

이 글은 구글 Codelabs Jetpack Compose basics를 기반으로 작성하는 기본 글이다.

Jetpack Compose basics - Codelabs 링크

Android Jetpack Compose는 최신 Android Studio 4.2 Preview에서 사용해볼 수 있다.

필자도 처음 학습하는 Compose이니 구글에서 제공하는 Codelabs을 통해 이 글을 정리해보았다.

Devfest 2020 GDG Korea Android에서 진행한 코드랩 자료


이 글에서 알아볼 내용

  • Jetpack Compose를 알아본다.
  • Android Studio 4.2 Preview를 통해 Compose를 다루어본다.
  • Jetpack Compose basics Codelabs을 익힌다.

Read More

Kotlin typealias와 inline class를 알아보고 적절한 사용법을 알아보자.

Kotlin inline class는 Kotlin 1.3 버전에 추가되었다. 사용법은 매우 간단하다.

하지만 이와 유사한 kotlin Type aliases도 있다.

이번 글에서는 이 2가지 사용법과 좀 더 좋은 사용법을 함께 알아본다.


이 글에서 알아볼 내용

  • kotlin Type aliases의 사용방법을 알아본다.
  • Kotlin inline class의 사용방법을 알아본다.

Read More

Android Studio 4.1에서 제거된 Kotlin Android Extensions을 알아보자.

안드로이드 4.1 버전에서 새로운 프로젝트 생성 시 기본 플러그인으로 제공하던 apply plugin: ‘kotlin-android-extensions’이 제거되고, 기본 ‘com.android.application’과 ‘kotlin-android’ 만 남게 되었다.

더 이상 ‘kotlin-android-extensions’을 기본으로 제공하지 않는다.

사용하려면 직접 추가해 사용할 수 있고, 이미 사용하던 것 역시 사용이 가능하다.

사실 ‘kotlin-android-extensions’은 좋은 플러그인은 아니다. findViewById의 반복적인 작업을 제거하려고 만들어졌고, 내부적인 캐시를 통해 재사용성을 높였을 뿐이다.

하지만 모든 곳에서 재사용성을 지켜주지 않는다. RecyclerView의 ViewHolder에서는 지켜주지 않는다. 이를 알고 쓰는 사람은 생각보다 많지 않다.


이번 글에서는

  • 새롭게 바뀔 Android Studio 4.2 버전의 코드를 살펴본다.
  • kotlin-android-extensions의 문제점을 알아본다.

Read More

Kotlin Collections에서 지연 계산(lazy)의 이점을 알아보자.

Kotlin collections을 사용할 때 주로 사용하는 map, filter 등을 사용한다. 이러한 함수의 동작 방법을 알아보고, 지연 처리의 장/단점을 알아보려고 한다.

이 글에서는 이전 글의 inline 관련 내용을 포함한다. 이미 알고 있다면 넘어가고, 이전 글이 궁금하다면 한 번 더 살펴보고 오면 좋을 듯하다.

Kotlin inline class와 inline functions을 알아보고, 적절하게 사용하는 방법을 살펴보자.


이 글에서 알아볼 내용

  • collection 사용에 map, filter 등의 api를 알아본다.
  • Collection에도 지연 계산이 가능한데, 지연 처리를 알아본다.
  • inline을 활용하는 collection 확장 함수들이 성능이 더 좋을지, 지연 처리가 더 좋을지 살펴본다.

Read More