본문 바로가기
SMALL

PagingDataAdapter3

[Paging] UI에서 PagingData 사용 현재 구현에는 특정 조건이 충족되면 더 많은 데이터를 로드하도록 ViewModel에서 호출하는 binding.setupScrollListener()라는 메소드가 있다. Paging 라이브러리는 이 모든 작업을 자동으로 실행하므로 이 메소드와 그 사용법을 삭제할 수 있다. 이제 AriricleAdapter가 더 이상 ListAdapter가 아니라 PagingDataAdatper이므로 간단하게 두 가지를 변경한다. - Flow의 터미널 연산자를 ViewModel에서 collect 대신 collectLatest로 전환한다. - ArticleAdapter에 submitList()가 아닌 submitData() 변경사항을 알린다. 새 PagingData 인스턴스를 내보낼 때 이전 pagingData 내보내기에 관.. 2023. 2. 20.
[Paging] PagingData를 사용하도록 어댑터 설정 PagingData를 RecyclerView에 바인딩하려면 PagingDataAdapter를 사용해야 한다. PagingData 콘텐츠가 로드될 때마다 PagingDataAdatper에서 알림을 받은 다음 RecyclerView에 업데이트하라는 신호를 보낸다. - 현재는 ArticleAdapter에서 ListAdapter를 구현한다. 대신 PagingDataAdapter를 구현하도록 한다. import androidx.paging.PagingDataAdapter ... class ArticleAdapter : PagingDataAdapter(ARTICLE_DIFF_CALLBACK) { // body is unchanged } 이제 UI를 연결하기만 하면 된다. 2023. 2. 20.
[Paging] Paging이란? 1. Paging이란? 사용자에게 정보를 표시하는 가장 일반적인 방법 중 하나는 리스트를 사용하는 것이다. 그러나 이러한 리스트는 전체 콘텐츠로 통하는 작은 창에 불과하다. 사용자는 제공되는 정보를 스크롤할 떄 이미 확인한 정보를 보완할 수 있는 더 많은 데이터가 있을 것이라고 예상하는 경우가 많다. 데이터를 가져올 때 효율적이고 원활하게 진행되어 계속 늘어나는 로드가 사용자 환경을 저해하지 않아야 한다. 점진적 로드는 성능 향상에도 도움이 되며 앱에서 많은 양의 데이터를 한 번에 메모리에 저장할 필요가 없기 때문이다. 정보를 점진적으로 가져오는 이 프로세스를 페이지로 나누기라고 하며 각 페이지는 가져올 데이터에 상응한다. 페이지를 요청하려면 페이징되는 데이터 소스에는 필요한 정보를 정의하는 쿼리가 필요.. 2023. 2. 3.
LIST