Paging3 라이브러리를 사용하면 로컬DB(Room, SQLite)나 네트워크를 통해 대규모 데이터 페이지를 로드하고 표시할 수 있다! → 시스템 리소스를 모두 더 효율적으로 사용이 가능!

<aside> 💡 데이터의 전체를 불러오기 < 페이징으로 불러오기

</aside>

Paging3를 사용하면 얻을 수 있는 이점


<aside> 💡 기존엔 RecyclerView 스크롤 끝을 감지해서 네트워크 호출하여 처리를 해줬는데, 다방면으로 좋은 기능들이 많다.

</aside>

Paging3 Library 추가하기

dependencies {
  def paging_version = "3.1.1"

  implementation "androidx.paging:paging-runtime:$paging_version"

  // alternatively - without Android dependencies for tests
  testImplementation "androidx.paging:paging-common:$paging_version"

  // optional - RxJava2 support
  implementation "androidx.paging:paging-rxjava2:$paging_version"

  // optional - RxJava3 support
  implementation "androidx.paging:paging-rxjava3:$paging_version"

  // optional - Guava ListenableFuture support
  implementation "androidx.paging:paging-guava:$paging_version"

  // optional - Jetpack Compose integration
  implementation "androidx.paging:paging-compose:1.0.0-alpha17"
}

build.gradle 에 종속항목을 추가해주고 라이브러리를 사용하면 된다.

안드로이드 권장 아키텍처에서 사용되니 AAC와 MVVM 패턴 숙지해야함.

Paging 라이브러리의 핵심 구성요소