본문 바로가기
SMALL

전체 글62

[Paging] UI용 PagingData 생성 현재 ArticleRepository의 Flow>을 사용하여 ViewModel에 로드된 데이터를 노출한다. 그러면 ViewModel은 UI에 노출하기 위해 stateIn 연산자를 사용하여 항상 사용할 수 있는 데이터 상태를 유지한다. Paging 라이브러리를 사용하면 ViewModel의 Flow을 대신 노출할 수 있다. PagingData는 로드된 데이터를 래핑하고 Paging 라이브러리가 추가 데이터를 가져올 시기를 결정하는데 도움을 주는 유형이며 동일한 페이지를 두 번 요청하지 않도록 한다. PagingData를 구성하기 위해 PagingData를 앱의 다른 레이어에 전달하는데 사용할 API에 따라 Pager 클래스의 여러 빌더 메소드 중 하나를 사용한다. 1. Kotlin Flow - Pager.f.. 2023. 2. 7.
2023년 2월 3일 ~ 2월 4일 2월 3일 탐나종합어시장 가산점에서 세꼬시와 물회를 먹었다. 리뷰 이벤트로 국수를 받았는데 회가 없는 물회랑 똑같았다. 그리고 별콩다방 가산디지털점에서 카야대만샌드위치, 아이스티, 별콩에이드를 주문해서 먹었다. 또 황가네마산아구동태찜탕에서 아구찜 小 하나 주문해서 먹었다. 아구찜은 양념도 별로 맵지 않고 콩나물도 아삭아삭하니 맛있었고 밥과 같이 먹으니 더 맛있었다. 2월 4일 원래는 점심으로 온기정 타임스퀘어점에서 텐동을 먹으려고 했는데 주차장 입구에서 50m정도 거리에서 차가 막히는 것을 보고 방향을 틀어 신야텐야 합정교보문고점으로 갔다. 에비텐동, 신야텐동을 주문해서 먹었는데 맛은 있었다. 튀김 반죽도 밀가루 맛이 아니라 색다른 맛이 나서 더 맛있었다. 저녁에는 신림역 스시나마에서 회전초밥을 먹었다... 2023. 2. 5.
[Paging] Paging 사용법 1. 데이터 소스 정의 페이지로 나누기를 구현할 때 다음 조건을 충족하는지 확인해야 한다. - UI의 데이터 요청을 올바르게 처리하여 동일한 쿼리에 여러 요청이 동시에 트리거되지 않도록 한다. - 관리 가능한 양의 가져온 데이터를 메모리에 유지한다. - 이미 가져온 데이터를 보완하기 위해 추가 데이터를 가져오라는 요청을 트리거한다. PagingSource를 사용하면 이 작업을 모두 실행할 수 있다. PagingSource는 데이터를 가져오는 방법을 지정하여 데이터 소스를 정의한다. 그러면 PagingData 객체는 사용자가 RecyclerView에서 스크롤할 때 생성되는 힌트가 로드되면 PagingSource에서 데이터를 가져온다. data class Article( val id: Int, val tit.. 2023. 2. 5.
[Paging] Paging이란? 1. Paging이란? 사용자에게 정보를 표시하는 가장 일반적인 방법 중 하나는 리스트를 사용하는 것이다. 그러나 이러한 리스트는 전체 콘텐츠로 통하는 작은 창에 불과하다. 사용자는 제공되는 정보를 스크롤할 떄 이미 확인한 정보를 보완할 수 있는 더 많은 데이터가 있을 것이라고 예상하는 경우가 많다. 데이터를 가져올 때 효율적이고 원활하게 진행되어 계속 늘어나는 로드가 사용자 환경을 저해하지 않아야 한다. 점진적 로드는 성능 향상에도 도움이 되며 앱에서 많은 양의 데이터를 한 번에 메모리에 저장할 필요가 없기 때문이다. 정보를 점진적으로 가져오는 이 프로세스를 페이지로 나누기라고 하며 각 페이지는 가져올 데이터에 상응한다. 페이지를 요청하려면 페이징되는 데이터 소스에는 필요한 정보를 정의하는 쿼리가 필요.. 2023. 2. 3.
[ViewModel] ViewModel이란? 1. ViewModel이란? ViewModel은 간단히 말하면 UI 와 로직의 분리를 위한 개념이다. Activity, Fragment 생명주기의 영향을 받지 않고 가로모드, 세로모드로 변경해도 값이 초기화되지 않고 유지시킬 수 있는게 ViewModel이다. 단, ViewModel에서 context나 activity객체를 사용하고 싶으면 AndroidViewModel()을 사용해야 한다. 2. 앱 gradle 추가 implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1' implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.5.1' 3. ViewModel 클래스 import android.u.. 2023. 2. 3.
[반디집] 반디집 다운로드하기 알집이나 윈도우에서 제공해주는 압축 기능이 있지만 압축파일을 압축하거나 풀 때 반디집을 사용하고 있다. mac에서는 유료로 제공하고 있지만 window는 무료로 사용할 수 있으며 일부 유료이다. 반디집 다운로드 방법을 소개하려고 한다. 1. 반디집 다운로드 반디집을 다운받는다. 다운로드 받은 후 파일을 더블클릭하고 확인을 누르면 설치되기 때문에 아주 쉽다. 2. 암호 설정 기능 반디집으로 파일을 압축할 때 암호를 설정할 수 있다. 2023. 2. 3.
LIST