Android Jetpack

Paging - 1 (Paging이란)

----___<<<<< 2022. 3. 7. 02:52

개복치개발자 강의는 아래의 링크에서 확인할 수 있습니다.

 

개복치개발자 | Linktree

uyalae@naver.com

linktr.ee

 

 이번에는 안드로이드 Paging에 대해서 알아보겠습니다.

 

 구글 공식문서에는 아래와 같이 나와있습니다.

 

페이징 라이브러리 개요   Android Jetpack의 구성요소

페이징 라이브러리를 사용하면 로컬 저장소에서나 네트워크를 통해 대규모 데이터 세트의 데이터 페이지를 로드하고 표시할 수 있습니다. 이 방식을 사용하면 앱에서 네트워크 대역폭과 시스템 리소스를 모두 더 효율적으로 사용할 수 있습니다. 페이징 라이브러리의 구성요소는 권장 Android 앱 아키텍처에 맞게 설계되었으며 다른 Jetpack 구성요소와 원활하게 통합되고 최고 수준으로 Kotlin을 지원합니다.

페이징 라이브러리를 사용하여 얻을 수 있는 이점

페이징 라이브러리에는 다음과 같은 기능이 있습니다.

  • 페이징된 데이터의 메모리 내 캐싱. 이렇게 하면 앱이 페이징 데이터로 작업하는 동안 시스템 리소스를 효율적으로 사용할 수 있습니다.
  • 요청 중복 제거 기능이 기본으로 제공되어 앱에서 네트워크 대역폭과 시스템 리소스를 효율적으로 사용할 수 있습니다.
  • 사용자가 로드된 데이터의 끝까지 스크롤할 때 구성 가능한 RecyclerView 어댑터가 자동으로 데이터를 요청합니다.
  • Kotlin 코루틴 및 Flow뿐만 아니라 LiveData 및 RxJava를 최고 수준으로 지원합니다.
  • 새로고침 및 재시도 기능을 포함하여 오류 처리를 기본으로 지원합니다.

 

 

Paging 라이브러리를 사용하면 앱의 UI 내 데이터를 점진적이고 매끄럽게 로드할 수 있습니다. Paging API는 페이지에서 데이터를 로드해야 할 때 수동으로 구현해야 하는 많은 기능을 지원합니다.

  • 다음 및 이전 페이지를 가져오는 데 사용될 키를 추적합니다.
  • 사용자가 목록의 끝으로 스크롤하면 자동으로 올바른 페이지를 요청합니다.
  • 여러 요청이 동시에 트리거되지 않도록 합니다.
  • 데이터를 캐시할 수 있습니다. Kotlin을 사용하는 경우 CoroutineScope에서 이 작업이 실행되며 자바를 사용하는 경우 LiveData로 이 작업을 실행할 수 있습니다.
  • 로드 상태를 추적하여 UI의 RecyclerView 목록 항목 또는 다른 위치에 표시하고 실패한 로드를 쉽게 다시 시도할 수 있습니다.
  • Flow, LiveData, RxJava Flowable 또는 Observable 사용 여부와 관계없이 표시되는 목록에서 map 또는 filter와 같은 일반적인 작업을 실행할 수 있습니다.
  • 목록 구분자를 쉽게 구현할 수 있습니다.

 

 쉽게 말하면, JETPACK 구성 요소들과 같이 사용할 수 있는데, 데이터들을 받아올 때 효율적으로 사용할 수 있다 정도로 알고 있으면 될 것 같습니다.

 

 간단한 예제들을 한번 해보겠습니다.

 

 - 참조

 

https://developer.android.com/codelabs/android-paging?hl=ko#3 

 

Android Paging  |  Android 개발자  |  Android Developers

이 Codelab에서는 Paging 라이브러리를 포함하도록 샘플 앱을 수정하여 앱의 메모리 공간을 줄입니다.

developer.android.com

 

https://developer.android.com/topic/libraries/architecture/paging/v3-overview?hl=ko 

 

페이징 라이브러리 개요  |  Android 개발자  |  Android Developers

페이징 라이브러리 개요   Android Jetpack의 구성요소 페이징 라이브러리를 사용하면 로컬 저장소에서나 네트워크를 통해 대규모 데이터 세트의 데이터 페이지를 로드하고 표시할 수 있습니다.

developer.android.com