1. 어댑터뷰
일정패턴으로 항목의 집합을 표시할때 사용되는 리스트뷰, 그리드뷰, 스피너, 갤러리등을 묶어서 어댑터 뷰라고한다. 이러한 위젯을 어댑터뷰 라고 부르는 이유는 표시할 항목데이터를 어댑터(Adapter)객체로부터 공급을 받기때문이다. 어댑터는 원본으로부터 얻은 데이터를 관리하며 어댑터뷰는 어댑터가 전달한 데이터를 화면에 표시한다.
2. AdapterView와 Adapter의 구조
[AdapterView의 구조]
[Adapter의 구조]
1)인터페이스
- Adapter : 최상위 Adapter인터페이스로 어댑터뷰 와 데이터간 연결을 제공하고 항목의 집합을 관리하는 기본적인 메서드를 선언
- ListAdapter : 리스트뷰와 연결에 필요한 메서드를 정의
- SpinnerAdapter : 스피너와 연결에 필요한 메서드를 정의한다.
2)(추상)클래스
- BaseAdapter : 위 두 인터페이스의 메서드중 기본적인것을 구현한다.
- ArrayAdapter : 객체 배열이나 리소스에 정의된 배열로부터 데이터를 가져온다.
- CursorAdapter : DB로부터 데이터를 공급받는다
- SimpleAdapter : XML파일의 정적인 데이터를 원본으로 사용한다.
3. Adapter연결구조
위젯은 우선 어댑터에게 getCount()함수를 호출하여 생성해야할 리스트의 숫자를 물어본다. 그러면 어댑터는 데이터로부터 리스트(Item)개수를 받아 위젯에게 넘겨준다. 위작업이 끝난이후에는 getView()함수가 화면에 리스트(Item)이 가득찰때까지 getView함수를 요청하고 가득찬후에는 getView요청을 중단한다. 이후 getView함수는 화면에 없는 Item으로 이동할때 다시 getView함수를 요청하여 화면에 띄우게 된다.
- Adapter : 최상위 Adapter인터페이스로 어댑터뷰 와 데이터간 연결을 제공하고 항목의 집합을 관리하는 기본적인 메서드를 선언
- ListAdapter : 리스트뷰와 연결에 필요한 메서드를 정의
- SpinnerAdapter : 스피너와 연결에 필요한 메서드를 정의한다.
2)(추상)클래스
- BaseAdapter : 위 두 인터페이스의 메서드중 기본적인것을 구현한다.
- ArrayAdapter : 객체 배열이나 리소스에 정의된 배열로부터 데이터를 가져온다.
- CursorAdapter : DB로부터 데이터를 공급받는다
- SimpleAdapter : XML파일의 정적인 데이터를 원본으로 사용한다.
3. Adapter연결구조
위젯은 우선 어댑터에게 getCount()함수를 호출하여 생성해야할 리스트의 숫자를 물어본다. 그러면 어댑터는 데이터로부터 리스트(Item)개수를 받아 위젯에게 넘겨준다. 위작업이 끝난이후에는 getView()함수가 화면에 리스트(Item)이 가득찰때까지 getView함수를 요청하고 가득찬후에는 getView요청을 중단한다. 이후 getView함수는 화면에 없는 Item으로 이동할때 다시 getView함수를 요청하여 화면에 띄우게 된다.
'Developer > Android' 카테고리의 다른 글
안드로이드 Bitmap 이미지파일 크기(용량, 사이즈) 줄이는 방법 (0) | 2012.07.04 |
---|---|
AdapterView(2) - BaseAdapter를 상속받아 ListView구현 (0) | 2012.07.04 |
Hanlder를 이용한 타이머이벤트 (0) | 2012.07.04 |
Anroid 옵션메뉴 (0) | 2012.07.04 |
onTouchEvent를 이용한 자유곡선 그리기 (그림판) (0) | 2012.07.04 |