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

Android RecyclerView Adapter에 DataBinding 활용하기

Android RecyclerView.Adapter에 DataBinding 활용하는 방법을 정리한다.

Android RecyclerView 사용하기 Android ListView 사용하기

이번에 작성하는 글에는 Android ViewModel을 활용하며, DataBinding을 간단하게 활용하기 위한 방법을 소개한다.


알아보기 전에

이번 글에서는 아래 내용을 토대로 작성하지만, 이미 DataBinding 활용을 잘 하고 있는 사용자는 불필요한 내용일 수 있다.

  • Base로 DataBinding을 활용하는 Adapter를 활용하는 방법을 소개한다.
  • 1개 이상의 ViewHolder를 사용하고, DataBinding을 활용하려는 경우
  • Jetpack Android ViewModel 사용방법을 알고 있다.
  • RecyclerView.Adapter 활용 방법을 잘 알고 있다.

이 라이브러리는 GitHub에서 확인 가능하다.

SimpleAdapter - GitHub

Read More

AndroidX에 추가된 Android Security 라이브러리는?

AndroidX에 Android Security 라이브러리를 추가해주었는데, 첫 발표는 Google I/O에서 alpha1을 배포했었고, 같은 달 alpha2를 업데이트했다.

다음 영상은 DevSummit 2019 발표 영상이다.


이 글을 보기 전에

  • 보안을 깊이 다루지는 않는다.
  • androidx에 추가된 security에 관한 내용을 담는다.

Read More

RxJava와 Coroutine 함께 사용하기라는 삽질?

이전 글에서 RxJava와 Coroutines을 각각 알아보고, Coroutines Flow도 아주 간단하게 살펴봤다.

RxJava와 Coroutines을 간단하게 알아보자.

2 번째 글에서는 샘플을 위주로 살펴보려고 한다. RxJava 샘플을 만들고, RxJava와 Coroutines을 엮어서 사용하는 방법을 알아보려고 한다.

실제 개발에서 이렇게 사용하지 않으리라는 보장은 없고, Thread와 Coroutines을 엮어서 사용할 수도 있으니, 하단에 짧은 샘플을 만들어본다.


이 글을 보기 전에

  • 이전 글에서 Thread와 Coroutines을 간단하게 소개했기에 궁금하다면 이전 글을 확인
  • RxJava와 Coroutines을 엮어서 사용하는 방법은 공식 Github 소스에 나온다.
    • 별도 배포하는 라이브러리도 있다.
    • 여기에서는 다루지 않는다.(과거에 이미 했었다)

Read More