[Android] Adapter, AdapterView, BaseAdapter

ryalya·2021년 6월 1일
0

공부한 것을 정리하는 용도의 글이므로 100% 정확하지 않을 수 있습니다.
참고용으로만 봐주시고, 내용이 부족하다고 느끼신다면 다른 글도 보시는 것이 좋습니다.
+ 틀린 부분, 수정해야 할 부분은 언제든지 피드백 주세요. 😊
                                            by. ryalya



Adapter

→ 데이터와 (리스트)뷰 사이에 존재하는 객체
→ 데이터 테이블을 목록(리스트) 형태로 보여주기위해 사용
→ (리스트)뷰에 올릴 데이터를 연결(통신)을 위한 다리 역할
→ 즉, 데이터(Array, List, DB, Provider 등)의 원본을 받아 관리하고, 어댑터뷰로 출력할 수 있는 형태로 데이터를 제공하는 중간 객체

◆ 종류

  • BaseAdapter → 어댑터에 필요한 기본적 기능 구현

  • SimpleAdapter → 한 항목에 문자열 데이터를 여러개 나열해야하는 경우 사용. 하나가 아닌 여러 문자열이므로 HashMap 객체 사용.

    ex) 카톡 대화창 (ListView를 출력한 것)

  • ArrayAdapter → 각 항목에 문자열 데이터를 순서대로 하나씩 나열할 때 사용

    ex) 날씨 지역 선택

  • CursorAdapter → DB로부터 select 결과값을 받아와 항목 구성

    (select 결과 객체 = Cursor, CursorAdapter에 Cursor객체 넘겨주면 행의 Column데이터를 추출해서 뷰에 출력해 줌)

  • CustomAdapter → 직접 만드는 Adapter

    ex) 항목에 나열된 뷰마다 다른 이벤트 처리 지정하고 싶을 때, 위의 해당 안되는 대부분의 레이아웃 출력하고 싶을 때


AdapterView

→ 많은 정보를 효과적으로 처리하기 위해 View에 직접 정보를 주입하지 않고, Adapter라는 중간 매개체를 이용하기 때문에 붙여진 이름
→ ViewGroup을 상속받으므로, 내부적으로 많은 뷰들을 담을 수 있음.
→ 즉, Adapter가 관리하는 데이터를 출력할 수 있게 해주는 View

◆ 종류

  • ListView → 데이터를 리스트 모양으로 보여줌

  • GridView → 사진이나 그림을 격자 모양으로 배치

  • Spinner → (≒ Combo Box)


Adapter에서 Override해야 할 Method

getCount()

→ 화면에 표시할 데이터 갯수 반환

getItem(int position)

→ 인자로 받은 위치의 데이터 반환

getItemId(int position)

→ 인자로 받은 위치의 데이터 id구분자 반환

getView(int position, View convertView, ViewGroup parent)

→ 인자로 받은 위치의 데이터가 화면에 표시될 뷰 반환



Reference

 - 깡샘의 안드로이드 프로그래밍

0개의 댓글