학습 목표
학습 상황
Adapter의 개념
Adapter는 중개자 역할을 수행하는 객체로, 데이터와 UI 요소 사이의 인터페이스 역할을 한다.
Adapter는 데이터를 UI 요소로 변환하여 표시하거나, UI 요소에서 사용자 입력을 데이터로 변환한다.
주로 ListView, RecyclerView, Spinner 및 GridView 등에서 쓰인다.
Adapter의 특징
데이터 소스 연결
Adapter는 데이터 소스 (배열, 목록, 데이터베이스)와 UI 요소 (리스트 아이템, 뷰 홀더) 간의 연결을 담당
재사용성
Adapter는 UI 요소의 재사용을 관리하며, 데이터카 스크롤될 때 UI 요소를 효율적으로 재사용한다. 이는 메모리 및 성능 향상에 도움이 된다.
데이터와 뷰 결합
Adapter는 데이터를 뷰에 바인딩하고 UI 요소를 데이터와 연결하여 데이터의 시각적 표현을 제공한다.
Adapter 사용법
데이터 소스를 설정한다. 이는 View에 표시하려는 내용이다.
Adapter 클래스를 사용하여 데이터를 UI 요소로 변환하고, UI 요소를 레이아웃 파일과 연결한다.
Activity에서 AdapterView에 Adapter와 (RecyclerView라면) LayoutManager를 설정한다.
Adapter에 대한 이벤트 처리 및 사용자 입력 처리를 설정한다.
Adapter 사용 시 주의사항
성능 최적화
Adapter는 UI에서 재사용되므로 데이터를 효율적으로 처리하고, 불필요한 객체 생성을 피해야 한다.
데이터 업데이트
데이터가 동적으로 변경되면 Adapter에 변경 사항을 알려야 한다.
뷰 홀더
뷰 홀더 패턴을 구현하여 뷰의 재사용을 최적화해야 한다
Null 체크
null 예외를 방지하기 위해 null 체크 수행
쓰레드
데이터 업데이트나 UI 업데이트는 메인 스레드에서 수행되어야 한다.
Adapter 클래스 커스터마이즈