일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- a
- F
- 프로토타입 패턴
- El
- Kotlin
- Abstract Factory
- 함수형프로그래밍
- 추상팩토리패턴
- PrototypePattern
- Design Pattern
- Singleton
- designPattern
- factory method
- 옵저버 패턴
- 팩토리 메소드
- Observer Pattern
- 추상 팩토리
- 빌터패턴
- 싱글톤
- r
- Functional Programming
- 디자인패턴 #
- builderPattern
- 코틀린
- ㅓ
- 디자인패턴
- ㅋㅁ
- Today
- Total
목록Android Jetpack Architecture/Paging3 (11)
오늘도 더 나은 코드를 작성하였습니까?
PagingSource에서 로드된 페이징된 데이터의 스트림을 내보내야 한다. 스트림에 대한 설정은 ViewModel 또는0Repository에서 하며 ViewModel 또는 Activity, Fragement에서 소비한다. Pager 클래스는 PagingSource에서 PagingData 객체의 반응형 스트림을 노출하는 메서드를 제공 Pager 객체를 만들어 반응형 스트림을 설정 - PagingConfig 구성 객체 ( 페이지의 크기, 미리 자리 차지 하기 등등) - PagingSource 구현 인스턴스를 가져오는 방법을 Pager에 지시하는 함수를 인스턴스에 제공 (pagingSourceFactory) class GithubRepository(private val service: GithubServic..
PagingSource 정의 하기 1. 데이터 소스를 식별 - PagingSource - key는 데이터 로드에 사용하는 식별자(index) value는 로드되는 데이터의 타입. 2. load() 데이터 소스에서 페이징된 데이터를 검색하는 방법을 정의하는 메소드 - PagingSource는 서버에서 데이터를 가져올수 있는 backend, 서버에 전송할 인자 query를 생성자 매개변수로 받는다. - 첫 번째 호출은 Pager 에 의해 제공되는 initialKey 를 사용하여 load한다. LoadParams 객체에는 실행할 로드 작업에 관한 정보가 포함됩니다. 로드할 키와 로드할 항목 개수가 포함되어 있다. LoadResult 객체에는 로드 작업의 결과가 포함됩니다. LoadResult는 load() 호..
얻을수 있는 점 1. 페이징된 데이터를 메모리에 캐싱 -> 시스템 자원을 효율적으로 사용. 2. 데이터 요청의 중복을 제거 기능 -> 네트워크 대역폭과 자원을 효율적 사용. 3. 로드된 데이터를 끝까지 스크롤할때 Recyclerview 자동으로 데이터 요청. 4. Kotlin coroutine / Flow뿐만 아니라 LiveData 및 RxJava를 최고 수준으로 지원 5. 새로고침 / 재시도 등을 포함한 오류처리 기본지원. 아키텍처 - repositort - viewModel - ul repository PagingSource - PagingSource 객체는 데이터 소스와 이 소스에서 데이터를 검색하는 방법을 정의 - PagingSource 객체는 네트워크 소스 및 로컬 데이터베이스를 포함한 단일 소..