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

이 글에서는 kotlin inline을 좀 더 살펴보려고 한다.

inline은 말 그대로 inline 키워드를 사용한 함수나 클래스의 내부 코드를 inline 해 컴파일한다는 것이다.

예를 들어 inline functions에 10줄의 코드를 담고 있고, inline을 붙인다면 이 10줄의 코드를 그대로 함수 호출한 부분에 함수 호출한 부분을 제외하고 inline 시켜줌을 뜻한다.

코틀린은 inline이라는 키워드를 직접 제공하며, 2가지 방식의 inline을 제공한다.

이 글에서는 inline class와 inline functions을 알아보고, 이번 글에서는 inline functions에 대해서 좀 더 살펴보겠다.


이 글에서 알아볼 내용

  • inline class를 간단하게 살펴본다.
  • inline functions을 간단하게 살펴본다.
  • inline functions 활용성을 높이기 위한 부분을 좀 더 살펴본다.

Read More

data class를 활용하여 RecyclerView.DiffUtil을 잘 활용하는 방법

코틀린 data class에서 자동으로 처리하는 equals와 hashCode를 알아보자.을 알아보았다.

이전 글에서 알아본 data class의 equals와 hashCode를 사용하여 RecyclerView DiffUtil에서 활용하는 방법을 알아보자.

여기에서 사용한 샘플 코드는 2020-09-22-Android-RecyclerView-DiffUtil-Example에서 확인 가능하다.


이 글에서 알아볼 내용

  • RecyclerView.DiffUtil을 간단하게 알아본다
  • data class 활용한 DiffUtil 사용 시 알아두면 좋을 부분을 알아본다.

Read More

읽기 좋은 Kotlin 코드! Property와 Scope Functions!

효과적으로 Kotlin을 사용하고, 적용하려면 어떻게 하는 게 좋을까?

많은 사례들이 모든 좋은 결과물을 만들진 않지만, 다양하게 보다 보면 좀 더 좋은 코드를 만드는 데 도움을 줄 수 있다.

결국 많은 코드를 작성하고, 자신이 작성한 코드의 리팩토링이 필요함을 함께 깨우칠 수 있기도 하다. 처음부터 너무 욕심부려도 만족스러운 코드가 나오지는 않는다.

그래서 필요한 게 Effective 관련 서적을 함께 보는 것을 추천한다. 이 책에서 좋은 사례들을 많이 접할 수 있으며, 왜 이렇게 설계했고 이렇게 썼을 때 좀 더 좋은 방법 등을 함께 살펴볼 수 있기 때문이다.

필자 생각으론 아름다운 코드란 존재하지 않는다고 생각하나, 동작하는 코드를 만들어내기도 사실 바쁘다. 동작하는 코드를 조금씩 조금씩 수정하다 보면 자기도 모르게 발전되어잇는 모습을 확인할 수 있다.

이런 부분을 위한 최소 조건으로 코드 컨벤션 지키는 것부터 시작해도 좋다고 생각한다.

이 글에서는 읽기 좋은 코드를 만들기 위한 2가지 방법을 살펴본다.


이 글에서 알아볼 내용

  • 읽기 좋은 코드를 위한 코드 컨벤션과 Android Studio의 코드 정리 설정을 살펴본다.
  • 코틀린의 Property 사용 시 주의할 점을 알아본다.
  • Scope functions의 활용도를 어디까지 허용하는 게 좋을지 알아본다.

Read More

Android Fragment 간의 ViewModel 공유하기

안드로이드는 AAC-ViewModel을 제공하는데 기본 3가지를 제공한다.

  • Activity에서 만 사용하는 경우
  • Fragment에서 만 사용하는 경우
  • Activity를 기준으로 Fragment에서 공유해서 사용해야 할 경우

1번과 2번 케이스는 그냥 자기 자신만 사용하는 경우에 흔하게 사용한다.

3번의 케이스는 Activity는 하나이고, Fragment가 여러 개인데 데이터 관리는 Activity만을 기준으로 처리하는 경우가 있다.

이 경우 3번 케이스를 사용하는데, Fragment-KTX를 활용하면 매우 쉽게 접근할 수 있다.


이 글에서는

  • Activity/Fragment에서 자신의 ViewModel을 생성해 사용하는 방법 알아보기
  • Activity ViewModel을 활용하여 Fragment 들에서 사용하는 방법 알아보기
  • Fragment의 ChildFragment 간에 ViewModel을 공유하는 방법(Activity ViewModel을 활용하지 않고)

이렇게 3가지 방법을 알아보는 글이다.

그전에 AAC-ViewModel의 내부 구조가 궁금하다면 > Android Architecture Components ViewModel을 간단하게 초기화 하려면? 살펴보면 좋다.

Read More