336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
Paging Library는 정말 편하고 잘 만들어져 있지만,
처음 사용하면서 겪게된 부분을 공유하고자 글을 쓴다.
## 간략 내용
- setInitialLoadSizeHint와 setPageSize 사이즈를 제법 넉넉하게 줘라.
- DataSource.Factory에서 DataSource 객체를 꼭 생성해라.
- DataSource객체를 참조할때는 DataSource.Factory객체를 통해서만 해라.
## 내가 겪은 내용
- setInitialLoadSizeHint와 setPageSize 사이즈를 제법 넉넉하게 줘라.
- 당연히 Paging Library는 RecyclerView와 사용할텐데,
- 사이즈를 너무 좁게 잡으면 PagedListAdapter에서 loadAfter를 호출 되기 전에
- 모든 데이터를 가져왔다고 인식 하는 현상이 발생 한다.
- 열심히 ScrollUp 해도 loadAfter가 불러와지지 않는다.
- DataSource.Factory에서 DataSource 객체를 꼭 생성해라.
- RecyclerView를 refresh하기 위해 DataSource의 invalidate함수를 이용할 텐데
- 아무런 동작도 발생하지 않는다.
- invalidate를 하더라도, DataSource.Factory에서 같은 DataSource객체가 넘어오므로,
- 변경이 없다고 판단하여 아무 동작도 일어나지 않는 것으로 보임.
- DataSource객체를 참조할때는 DataSource.Factory객체를 통해서만 해라.
- 2번과 비슷한 내용이지만, invalidate같은 함수로 갱신을 할 경우,
- DataSource.Factory에서 새로운 DataSource객체를 생성 한다.
- 따라서, DataSource를 참조해서 사용하고 싶으면
- DataSource.Factory에서 새로운 DataSource를 만들때 마다 할당해줘야 한다.
샘플소스는 Android Architecture Components에서 보시면 좋다.
https://github.com/android/architecture-components-samples/tree/master/PagingWithNetworkSample
'나의 플랫폼 > 안드로이드' 카테고리의 다른 글
Firebase Analytics 사용시 (0) | 2019.10.08 |
---|---|
[Android] Robolectric 사용 중인지 체크 (0) | 2019.09.02 |
[번역] Android Architecture Components 사용시 5가지 일반적인 실수 (0) | 2019.08.23 |
[Android][DI] ViewModel onCleared 함수가 호출 되지 않을 때 (0) | 2019.08.23 |
[Android] Android Architecture 공유 (0) | 2019.08.06 |