Hilt (4) 썸네일형 리스트형 [Android] Multi Select Gallery만들기 with Paging 앱에서 사진을 불러와야 할 때 어떻게 하셨나요?? 보통 Intent를 사용하여 핸드폰의 갤러리를 열고 사진을 가져왔을 것입니다. 이 방식으로 했을 때 제 스마트폰은 삼성갤러리로 접근이 되어 이미지 다중 선택이 되지 않습니다. (아니면 제가 방법을 모르는걸지도,,?) 그래서 저는 MediaStore에서 이미지 파일을 모두 불러온 뒤 Recyclerview에 로드해주었습니다. 많은 스마트폰에는 보통 수천개에서 수만개의 사진이 저장되어 있기 때문에 한번에 뷰에 로딩하는 것이 아니라 Paging을 이용하여 스크롤할 때마다 원하는 청크만큼 데이터를 요청하여 가져옵니다. 이렇게 하면 갤러리앱을 열지 않고 성능 저하 없이 직접 커스텀해서 사용할 수 있습니다! 1️⃣ Dependency추가 - version은 3.0... [Android] RxJava로 Room구현하기 2021.03.25 - [Android] - [Android] 검색어 저장 기능 구현해보기(dagger-hilt, room, coroutine, mvvm) 지난번에는 naver 영화 검색을 구현하고 검색 키워드 자동저장 기능을 Coroutine + Room으로 구현했다. 이번 포스팅에서는 이전에 놓친 부분들을 리팩토링하고 RxJava로 구현하고자 한다. 1) SearchEntity.kt - entity부분은 이전 포스팅에서 변경된 부분은 없다. @Entity(tableName = "search_history") data class SearchEntity( @PrimaryKey(autoGenerate = true) val id: Int? = null, @ColumnInfo(name = "search_que.. [Android] 검색어 저장 기능 구현해보기(dagger-hilt, room, coroutine, mvvm) 지난 포스팅에서 RxJava로 naver api를 이용하여 영화 검색 기능을 만들어 보았다. 2021.03.22 - [Android] - [Android] Naver검색 api - RxJava, Retrofit, MVVM, Hilt 이번에는 영화를 검색했을 때 최근 검색어 자동저장을 Room을 이용해 만들어보았다. 이번에도 RxJava로 구현을 하려고 했으나 먼저 Coroutine으로 작성하는 법을 포스팅하고 RxJava를 더 공부한 다음 리팩토링 하고자 한다. 1) build.gradle(module: app) dependency 추가 - 다음과 같이 Room 의존성을 추가해준다. ext { retrofit_version = "2.9.0" lifecycle_version = "2.2.0" room_ve.. [Android] Naver검색 api - RxJava, Retrofit, MVVM, Hilt ReactiveX는 비동기 프로그래밍 그리고 Observable 시퀀스를 이용해 이벤트를 처리하기 위한 라이브러리이다. 이 라이브러리는 Observer Pattern을 사용한다. 필요로 하는 데이터들을 요청하여 받아오는 방식이 아닌, 데이터가 변경되면 요청을 받겠다는 구독신청을 해놓고 변경사항이 발생하면 전달 받는 방식이다. Observable은 onNext, onError, onComplete 세가지 알림을 구독자에게 전달한다. 1) onNext : Observable이 데이터 발행을 알림 2) onError : error가 발생했을을 알리고 Observable을 종료 3) onComplete : 모든 이벤트가 발행을 완료했음을 알림 RxJava2부터는 Observable과 Single 클래스 이외에도.. 이전 1 다음