일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
- 디자인패턴
- 옵저버 패턴
- r
- 팩토리 메소드
- 안드로이드 디자인시스템
- Observer Pattern
- Singleton
- designPattern
- El
- F
- 추상 팩토리
- ㅋㅁ
- 프로토타입 패턴
- android designsystem
- Kotlin
- factory method
- ㅓ
- 추상팩토리패턴
- Design Pattern
- 빌터패턴
- material3
- 디자인패턴 #
- 싱글톤
- compose
- builderPattern
- 코틀린
- 함수형프로그래밍
- PrototypePattern
- Functional Programming
- Abstract Factory
- Today
- Total
목록분류 전체보기 (333)
오늘도 더 나은 코드를 작성하였습니까?

네트워크 연결이 불안정하거나 네트워크에 연결이 되어있지 않은 경우 사용자 앱 사용자 경험 상승. ---> 네트워크와 로컬 데이터베이스에서 동시에 페이징하는 것 데이터 로드 조정하기 페이징 라이브러리는 사용 사례에 맞는 RemoteMediator 구성요소를 제공 RemoteMediator는 앱이 캐시된 데이터()를 모두 사용한 경우 페이징 라이브러리에서 보내는 신호 역할을 합니다. 신호를 사용하여 네트워크에서 추가적으로 데이터를 로드하고 로컬 데이터베이스에 저장합니다. PagingSource는 로컬 데이터베이스에서 데이터를 로드하고 표시할 UI에 제공합니다. RemoteMediator load( ) 구현 - 정지 함수이므로 장기 작업을 안전하게 실행할 수 있습니다. - 네트워크 소스에서 새로운 데이터를 가..
Activity의 onCreate() / fragment onViewCreated() 에서 최종적인 페이징된 반응형 데이터 스트림을 소비한다. PagingDataAdapter 클래스의 인스턴스를 만듭니다. 페이징된 데이터를 표시할 RecyclerView 목록에 PagingDataAdapter 인스턴스를 전달합니다. PagingData 스트림을 확인하고 생성된 각 값을 어댑터의 submitData() 메서드에 전달합니다 val viewModel by viewModels() val pagingAdapter = UserAdapter(UserComparator) val recyclerView = findViewById(R.id.recycler_view) recyclerView.adapter = pagingAda..
PagingDataAdapter는 recyclerAdapter를 확장한다. 1. 데이터 로드 상태(LoadState)에 따른 Header/ Footer에 LoadStateAdapter 설정 2. LoadState를 알수 있는 Listener 제공 3. 아이템 항목을 다시 로드하는 기능 제공 4. 아이템 항목 구분자 설정 5. DiffUtil.ItemCallback을 지정을 통해 ListAdapter를 사용할때와 같이 사용할 수 있음. private fun initAdapter() { // 머릿목록 바닥목록 어뎁터 설정. binding.list.adapter = adapter.withLoadStateHeaderAndFooter( header = ReposLoadStateAdapter { adapter.re..
PagingSource에서 로드된 페이징된 데이터의 스트림을 내보내야 한다. 스트림에 대한 설정은 ViewModel 또는0Repository에서 하며 ViewModel 또는 Activity, Fragement에서 소비한다. Pager 클래스는 PagingSource에서 PagingData 객체의 반응형 스트림을 노출하는 메서드를 제공 Pager 객체를 만들어 반응형 스트림을 설정 - PagingConfig 구성 객체 ( 페이지의 크기, 미리 자리 차지 하기 등등) - PagingSource 구현 인스턴스를 가져오는 방법을 Pager에 지시하는 함수를 인스턴스에 제공 (pagingSourceFactory) class GithubRepository(private val service: GithubServic..