본문 바로가기
IT/안드로이드

jetpack compose paging3 사용시 주의사항 (immutable 데이터만 사용)

by DOSGamer 2023. 5. 8.
반응형

게임 리스트를 Room database 에서  paging3 라이브러리를 활용해서 paging 처리를 하려고 시도 했습니다.

 

결국 포기

 

다른 방법으로 구현했습니다.

 

paging3 의 사용시에 주의 사항이 딱 1가지 있습니다.

 

immutable 데이터만 사용할 것

 

도스게임 플레이어는 immutable 데이터가 아닙니다.

사용자가 게임 리스트를 보기만 하는게 아니라

수정해야 하고 삭제도 하고, 즐겨찾기로 등록도 해야 하고

 

사용자 마음대로 수정할 수 있는 플레이어라는 특성한 mutable 데이터 리스트가 필요한 것 입니다.

 

결국 paging3 적용 다하고 페이지 단위로 다 처리해놨는데

수정하는 방법이 없어서 포기하고 다른 방법으로 처리 했습니다.

(*구글링 하다보면 변경 데이터를 메모리로 들고 있다가 같이 보여주는 방법이 있으나 너무 번잡스럽고

페이징 처리의 목적이 사용하는 메모리를 줄이려고 했던 건데

변경 데이터를 계속 들고 있는 것도 마음에 안들어서 결국 paging3 라이브러리는 포기)

 

 

paging3 라이브러리 사용법은 엄청 쉬우니 그냥 예제 보고 적용하면 됩니다.

 

 

일반적인 app 은 데이터에 대한 수정 기능을 제공하지 않으니 paging3 라이브러리가 room database 또는 api 로 데이터 가져와서 처리 하는 데 도움이 될 것입니다.

 

이것 때문에 한 2주 정도 고생하고

 

v0.19.0 버전을 오늘 업데이트 했네요.

반응형