[Android] Fragment간 데이터 전달

RecyclerView의 특정 항목을 누르면 MainActivity에서 RecyclerView가 존재하는 프래그먼트를 상세 항목을 보여주는 프래그먼트의 새로운 인스턴스로 교체하여 선택된 데이터의 상세 내역을 보여주도록 해보자. 이를 위해선 아래의 방법들을 알고 있어야 한다.

  • 호스팅 액티비티가 프래그먼트들을 바꿔치기해서 이동을 구현하는 방법
  • 프래그먼트 인자 fragment argument 를 사용해서 프래그먼트 인스턴스에게 데이터를 전달하는 방법
  • UI 변경에 따라 LiveData를 변환 transform 하는 방법
자세히 보기

[Android] 데이터베이스와 Room 라이브러리

거의 모든 애플리케이션은 장시간 동안 데이터를 저장할 곳이 필요하다. 본문에서는 Room 라이브러리를 사용해서 앱의 데이터베이스를 쿼리할 수 있는 코드를 구현하고, 데이터베이스로부터 데이터를 가져와서 리스트에 보여주도록 한다.

ViewModel과 SIS에서 장치 회전 및 프로세스 종료 시에 ViewModel과 SIS Saved Instance Status를 사용해서 일시적인 UI 상태 데이터를 지속하는 방법을 기술했다. ViewModel과 SIS는 UI와 관련된 적은 수의 데이터에는 아주 좋지만 UI와 결부되지 않는 데이터의 저장에는 사용할 수 없다. 또한, 액티비티나 프래그먼트 인스턴스에 연관되지 않으면서 UI 상태와 무관하게 영구적으로 지속할 필요가 있는 데이터의 저장에도 사용할 수 없다.

자세히 보기