일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 5582 DP
- 백준 10819
- 6588 파이썬
- 2096 파이썬
- 10819 파이썬
- flow buffering
- Android mvp
- 백준 5582
- android hilt
- 백준 2096
- Android Room
- 1753 다익스트라
- 투포인터 알고리즘
- 안드로이드 hilt
- java
- 5582 파이썬
- 1753 파이썬
- 1806 투포인터
- 1806 백준
- 자료구조
- Jetpack Room
- git local remote
- 1644 파이썬
- 백준 1644
- 이진 탐색
- 코루틴 플로우
- Coroutine Flow
- 자바
- 1806 파이썬
- 1003 파이썬
- Today
- Total
Gemstone's Devlog
Paging3 라이브러리 공부 본문
https://developer.android.com/topic/libraries/architecture/paging/v3-overview
페이징 라이브러리 개요 | Android 개발자 | Android Developers
페이징 라이브러리 개요 Android Jetpack의 구성요소 페이징 라이브러리를 사용하면 로컬 저장소에서나 네트워크를 통해 대규모 데이터 세트의 데이터 페이지를 로드하고 표시할 수 있습니다.
developer.android.com
페이징 라이브러리를 사용하면 로컬 저장소에서나 네트워크를 통해 대규모 데이터 세트의 데이터 페이지를 로드하고 표시할 수 있다. 이 방식을 사용하면 앱에서 네트워크 대역폭과 시스템 리소스를 모두 더 효율적으로 사용할 수 있다.
페이징 라이브러리의 구성요소는 권장 Android 앱 아키텍처에 맞게 설계되었으며 다른 Jetpack 구성요소와 원활하게 통합되고 최고 수준의 Kotlin을 지원한다.
페이징 라이브러리를 사용하여 얻을 수 있는 이점
- 페이징된 데이터의 메모리 내 캐싱. 이렇게 하면 앱이 페이징 데이터로 작업하는 동안 시스템 리소스를 효율적으로 사용할 수 있다.
- 요청 중복 제거 기능이 기본으로 제공되어 앱에서 네트워크 대역폭과 시스템 리소스를 효율적으로 사용할 수 있다.
- 사용자가 로드된 데이터의 끝까지 스크롤할 때 구성 가능한 RecyclerView 어댑터가 자동으로 데이터를 요청한다.
- Kotlin 코루틴 및 Flow 뿐만 아니라 LiveData 및 RxJava를 최고 수준으로 지원한다.
- 새로고침 및 재시도 기능을 포함하여 오류 처리를 기본으로 지원한다.
라이브러리 아키텍쳐
페이징 라이브러리는 권장 Android 앱 아키텍쳐에 직접 통합된다. 라이브러리의 구성요소는 앱의 세 가지 레이어에서 작동한다.
- 저장소 레이어
- ViewModel 레이어
- UI 레이어
저장소 레이어
저장소 레이어의 기본 페이징 라이브러리 구성요소는 PagingSource이다. 각 PagingSource 객체는 데이터 소스와 이 소스에서 데이터를 검색하는 방법을 정의한다. PagingSource 객체는 네트워크 소스 및 로컬 데이터베이스를 포함한 단일 소스에서 데이터를 로드할 수 있다.
사용할 수 있는 다른 페이징 라이브러리 구성요소는 RemoteMediator이다. RemoteMediator 객체는 로컬 데이터베이스 캐시가 있는 네트워크 데이터 소스와 같은 계층화된 데이터 소스의 페이징을 처리한다.
ViewModel 레이어
Pager 구성요소는 PagingSource 객체 및 PagingConfig 구성 객체를 바탕으로 반응형 스트림에 노출되는 PagingData 인스턴스를 구성하기 위한 공개 API를 제공한다.
ViewModel 레이어를 UI에 연결하는 구성요소는 PagingData이다. PagingData 객체는 페이지로 나눈 데이터의 스냅샷을 보유하는 컨테이너이다. PagingSource 객체를 쿼리하여 결과를 저장한다.
UI 레이어
UI 레이어의 기본 페이징 라이브러리 구성요소는 페이지로 나눈 데이터를 처리하는 RecyclerView 어댑터인 PagingDataAdapter이다.
또는 포함된 AsyncPagingDataDiffer 구성요소를 사용하여 고유한 맞춤 어댑터를 빌드할 수 있다.
코드랩
https://developer.android.com/codelabs/android-paging#0
Android Paging | Android 개발자 | Android Developers
이 Codelab에서는 Paging 라이브러리를 포함하도록 샘플 앱을 수정하여 앱의 메모리 공간을 줄입니다.
developer.android.com
'Kotlin (Android)' 카테고리의 다른 글
지연초기화(Lazy Initialization) 자세히.. (0) | 2022.01.17 |
---|---|
ViewModel 인스턴스가 액티비티 인스턴스에 대해 강한 참조를 갖는다면? (0) | 2022.01.17 |
Retrofit2 Multipart 사용하기 (Java) (0) | 2022.01.07 |
MVVM 패턴 공부 (코드분석) (0) | 2022.01.06 |
Firebase Storage 의 갑작스러운 에러 발생? (0) | 2021.12.14 |