본문 바로가기

Android/AAC(Android Architecture Component)

(3)
Paging Library 정리 컨텐츠를 특정 기준으로 범위를 나누고, 스크롤을 따라 범위 단위로 로드되도록 하는 것 페이징 라이브러리는 단순히 무한 스크롤링을 지원하기 위한 구현체가 아닙니다. 안드로이드에서는 로컬 SQLite에 저장된 대량의 데이터를 RecyclerView로 표현할 때, 두 가지 선택지 중 하나를 선택할 수 있습니다. 하나는 위에서 언급한 무한 스크롤링을 이용한 방법이고, 다른 하나는 CursorAdapter 방식의 지연 로딩 기법입니다. 페이스북과 같은 피드 형태의 앱에서는 무한 스크롤링이, 연락처와 같은 앱에서는 패스트 스크롤이 가능한 지연 로딩 기법이 적합할 수 있습니다. Unbounded List 무한 스크롤링으로 데이터를 점진적으로 불러오는 기법에 활용 가능 Countable List 리스트의 전체 사이즈가..
Room 정리 ORM(Object Relational Mapping) 라이브러리 ORM ORM이란 Object Relational Mapping 으로 데이터베이스와 객체 지향 프로그래밍 언어간의 호환되지 않는 데이터를 변환하는 프로그래밍 기법으로 DB 테이블과 매핑되는 객체를 만들고 그 객체에서 DB를 관리하는 것입니다. 구성요소 Database 데이터베이스 보유자 데이터 베이스 홀더를 포함하고, 관계형 데이터 베이스에 접근할 수 있는 엑세스 포인트를 제공 조건 extends RoomDatabase 하는 abstract class class내부에 Dao를 정의 annotation에 entities(table구조와 mapping되는)를 포함 생성하는 코드가 비용이 많이 들기 때문에 singleton으로 구현 @Datab..
LiveData 정리 LifeCyle을 알고 있는 데이터 타입 LifeCycle에 따라 데이터가 변경되는 시점에 맞추어 데이터를 변경 해줌 Activity/Fragment가 start,resume 상태일때 작동 Observer의 Callback으로 데이터를 변경 가능 Rx나 Observer 패턴에 적용하여 사용하기 편리함 Databinding 을 활용하여 사용하면 더욱 편리함 LiveData 형태 MutableLiveData 변경할 수 있는 LiveData형 UI Thread 와 Background Thread에서 선택적으로 사용 가능 LiveData 변경할 수 없고 오로지 데이터의 변경값만을 소비 MediatorLiveData 여러 LiveData를 한번에 처리 할 수 있음 일반적인 사용형태 //ViewModel에서의 L..