SlideShare uma empresa Scribd logo
1 de 10
Adapter View & DB
Adapter View?
• Adapter View라고 불리는 이유는, 화면에 필요한 데이터를 바로
직접적인 사용이 아닌 Adapter라는 중간자를 거쳐서 사용이 되기
때문입니다.
• 그만큼 데이터 개수나 내용에 변화가 있다는 것을 의미하기도 합니다.
• 데이터 처리 중간자, 이른바 Controller가 바로 Adapter
데이터 타입과 Adapter
• BaseAdapter를 추상체로 해서 데이터 형태에 따라서 ArrayAdapter,
CursorAdapter, SimpleAdapter가 있습니다.
• ArrayAdapter : 배열 형태 데이터 중간자
• CursorAdapter: Cursor 형태 데이터 중간자
• SimpleAdapter: XML 파일의 정적 데이터 중간자.
• Adapter는 원본 데이터를 가져와서 상응하는 데이터에
대한 View를 구성하는 역할을 수행.
• R.array.country: 리스트에 보여질 데이터 설정
• R.layout.simple_list_item_1: 리스트 항목 1개를 구성하는 XML layout 설정
• setAdapter: 어댑터를 통해서 View를 구성하는 View와 Adapter를 연결
다른 모양 Row를 가진 Adapter View 만들기
• AdapterView에서는 Adapter를 통해, 알아낸 일정 개수의 항목들을
Adapter가 만들어주는 개별 View들을 의도하는 형태로 시각적으로
나타냅니다.
• AdapterView는 Adapter가 품고 있는 데이터에 대해서는 전혀 모르고,
Adapter와 아래 함수 통해서만 데이터를 받아서 처리합니다.
• getCount / getItem / getItemId / getView
• 원하는 형태 Row를 만드는 것은 BaseAdapter를 상속해서
getView를 구현하는 것이다.
Data SourceAdapterAdapterView
데이터 정보
데이터 표현 View
View getView (int position, View convertView, ViewGroup parent)
position The position of the item within the
adapter's data set of the item whose view
we want.
convertView The old view to reuse, if possible. Note:
You should check that this view is non-
null and of an appropriate type before
using. If it is not possible to convert this
view to display the correct data, this
method can create a new view.
Heterogeneous lists can specify their
number of view types, so that this View is
always of the right type
(see getViewTypeCount() andgetItemVie
wType(int)).
parent The parent that this view will eventually
be attached to
Spinner에 database를 연동
Spinner를 채우자
View와 Data간에 연결을 Cursor를 바탕으로 구성하는 Adapter
다른 Adapter가 그러한 것 처럼!
Data를 반영한 View를 만들어 주는 역할을 수행.
이를 좀 더 단순화 시켜 from, to, layout를 설정만 하면 되도록 단순화
CursorAdapter 간단 맛보기
Click 경우에 대한 처리
Adapter에서 직접 관련 데이터 가져올 수 있지만, 우선 아래와 같이 처리합니다.

Mais conteúdo relacionado

Semelhante a 17 adapter view & db

안드로이드 프로그래밍 정복 - Android Study #어댑터뷰
안드로이드 프로그래밍 정복 - Android Study #어댑터뷰안드로이드 프로그래밍 정복 - Android Study #어댑터뷰
안드로이드 프로그래밍 정복 - Android Study #어댑터뷰Jake Yoon
 
복잡한 RecyclerView, 군더더기 없이 데이터로 표현하기
복잡한 RecyclerView, 군더더기 없이 데이터로 표현하기복잡한 RecyclerView, 군더더기 없이 데이터로 표현하기
복잡한 RecyclerView, 군더더기 없이 데이터로 표현하기Lake Kim
 
Viewpager를활용한app만들기
Viewpager를활용한app만들기Viewpager를활용한app만들기
Viewpager를활용한app만들기DaeHee Jang
 
안드로이드 리스트뷰 속도향상
안드로이드 리스트뷰 속도향상안드로이드 리스트뷰 속도향상
안드로이드 리스트뷰 속도향상운용 최
 
[11]Android DataBinding : 기초에서 고급까지
[11]Android DataBinding : 기초에서 고급까지[11]Android DataBinding : 기초에서 고급까지
[11]Android DataBinding : 기초에서 고급까지NAVER Engineering
 
안드로이드스터디 5
안드로이드스터디 5안드로이드스터디 5
안드로이드스터디 5jangpd007
 
18 안드로이드 리스트뷰_속도향상
18 안드로이드 리스트뷰_속도향상18 안드로이드 리스트뷰_속도향상
18 안드로이드 리스트뷰_속도향상운용 최
 
Jurano강의 lec7 android_annotations_resource_injection_and_rest_api
Jurano강의 lec7 android_annotations_resource_injection_and_rest_apiJurano강의 lec7 android_annotations_resource_injection_and_rest_api
Jurano강의 lec7 android_annotations_resource_injection_and_rest_apiJu-ri Seo
 
[NEXT] Andorid에 MVC 패턴 적용하기
[NEXT] Andorid에 MVC 패턴 적용하기[NEXT] Andorid에 MVC 패턴 적용하기
[NEXT] Andorid에 MVC 패턴 적용하기YoungSu Son
 
[1A5]효율적인안드로이드앱개발
[1A5]효율적인안드로이드앱개발[1A5]효율적인안드로이드앱개발
[1A5]효율적인안드로이드앱개발NAVER D2
 

Semelhante a 17 adapter view & db (12)

안드로이드 프로그래밍 정복 - Android Study #어댑터뷰
안드로이드 프로그래밍 정복 - Android Study #어댑터뷰안드로이드 프로그래밍 정복 - Android Study #어댑터뷰
안드로이드 프로그래밍 정복 - Android Study #어댑터뷰
 
복잡한 RecyclerView, 군더더기 없이 데이터로 표현하기
복잡한 RecyclerView, 군더더기 없이 데이터로 표현하기복잡한 RecyclerView, 군더더기 없이 데이터로 표현하기
복잡한 RecyclerView, 군더더기 없이 데이터로 표현하기
 
Viewpager를활용한app만들기
Viewpager를활용한app만들기Viewpager를활용한app만들기
Viewpager를활용한app만들기
 
안드로이드 리스트뷰 속도향상
안드로이드 리스트뷰 속도향상안드로이드 리스트뷰 속도향상
안드로이드 리스트뷰 속도향상
 
[11]Android DataBinding : 기초에서 고급까지
[11]Android DataBinding : 기초에서 고급까지[11]Android DataBinding : 기초에서 고급까지
[11]Android DataBinding : 기초에서 고급까지
 
안드로이드스터디 5
안드로이드스터디 5안드로이드스터디 5
안드로이드스터디 5
 
Django View Part 1
Django View Part 1Django View Part 1
Django View Part 1
 
18 안드로이드 리스트뷰_속도향상
18 안드로이드 리스트뷰_속도향상18 안드로이드 리스트뷰_속도향상
18 안드로이드 리스트뷰_속도향상
 
Jurano강의 lec7 android_annotations_resource_injection_and_rest_api
Jurano강의 lec7 android_annotations_resource_injection_and_rest_apiJurano강의 lec7 android_annotations_resource_injection_and_rest_api
Jurano강의 lec7 android_annotations_resource_injection_and_rest_api
 
[NEXT] Andorid에 MVC 패턴 적용하기
[NEXT] Andorid에 MVC 패턴 적용하기[NEXT] Andorid에 MVC 패턴 적용하기
[NEXT] Andorid에 MVC 패턴 적용하기
 
Spring portfolio2
Spring portfolio2Spring portfolio2
Spring portfolio2
 
[1A5]효율적인안드로이드앱개발
[1A5]효율적인안드로이드앱개발[1A5]효율적인안드로이드앱개발
[1A5]효율적인안드로이드앱개발
 

Mais de 운용 최

Wot(daliworks) 20131113
Wot(daliworks) 20131113Wot(daliworks) 20131113
Wot(daliworks) 20131113운용 최
 
NIPA SW Insight Report '13.08
NIPA SW Insight Report '13.08NIPA SW Insight Report '13.08
NIPA SW Insight Report '13.08운용 최
 
Agile Spirit Base On The Book "Agile Samuari"
Agile Spirit Base On The Book "Agile Samuari"Agile Spirit Base On The Book "Agile Samuari"
Agile Spirit Base On The Book "Agile Samuari"운용 최
 
21 application and_network_status
21 application and_network_status21 application and_network_status
21 application and_network_status운용 최
 
20 handler and_async_task
20 handler and_async_task20 handler and_async_task
20 handler and_async_task운용 최
 
19 나만의 view 만들기
19 나만의 view 만들기19 나만의 view 만들기
19 나만의 view 만들기운용 최
 
16 데이터 저장과 사용
16 데이터 저장과 사용16 데이터 저장과 사용
16 데이터 저장과 사용운용 최
 
15 content provider
15 content provider15 content provider
15 content provider운용 최
 
14 broad castreceiver
14 broad castreceiver14 broad castreceiver
14 broad castreceiver운용 최
 
13 service 좀더
13 service 좀더13 service 좀더
13 service 좀더운용 최
 
11 tablet 대응 가이드
11 tablet 대응 가이드11 tablet 대응 가이드
11 tablet 대응 가이드운용 최
 
10 view orientation_change
10 view orientation_change10 view orientation_change
10 view orientation_change운용 최
 
09 android keyboard & layout
09 android keyboard & layout09 android keyboard & layout
09 android keyboard & layout운용 최
 
08 fragment 태블릿 대응
08 fragment   태블릿 대응08 fragment   태블릿 대응
08 fragment 태블릿 대응운용 최
 
07 다양한 device_대응_방법
07 다양한 device_대응_방법07 다양한 device_대응_방법
07 다양한 device_대응_방법운용 최
 
06 activity stack and back, flag
06 activity stack and back, flag06 activity stack and back, flag
06 activity stack and back, flag운용 최
 

Mais de 운용 최 (20)

Wot(daliworks) 20131113
Wot(daliworks) 20131113Wot(daliworks) 20131113
Wot(daliworks) 20131113
 
NIPA SW Insight Report '13.08
NIPA SW Insight Report '13.08NIPA SW Insight Report '13.08
NIPA SW Insight Report '13.08
 
Agile Spirit Base On The Book "Agile Samuari"
Agile Spirit Base On The Book "Agile Samuari"Agile Spirit Base On The Book "Agile Samuari"
Agile Spirit Base On The Book "Agile Samuari"
 
Uml intro 1
Uml intro 1Uml intro 1
Uml intro 1
 
Uml intro 0
Uml intro 0Uml intro 0
Uml intro 0
 
21 application and_network_status
21 application and_network_status21 application and_network_status
21 application and_network_status
 
20 handler and_async_task
20 handler and_async_task20 handler and_async_task
20 handler and_async_task
 
19 나만의 view 만들기
19 나만의 view 만들기19 나만의 view 만들기
19 나만의 view 만들기
 
16 데이터 저장과 사용
16 데이터 저장과 사용16 데이터 저장과 사용
16 데이터 저장과 사용
 
15 content provider
15 content provider15 content provider
15 content provider
 
14 broad castreceiver
14 broad castreceiver14 broad castreceiver
14 broad castreceiver
 
13 service 좀더
13 service 좀더13 service 좀더
13 service 좀더
 
12 service
12 service12 service
12 service
 
11 tablet 대응 가이드
11 tablet 대응 가이드11 tablet 대응 가이드
11 tablet 대응 가이드
 
10 view orientation_change
10 view orientation_change10 view orientation_change
10 view orientation_change
 
09 android keyboard & layout
09 android keyboard & layout09 android keyboard & layout
09 android keyboard & layout
 
08 fragment 태블릿 대응
08 fragment   태블릿 대응08 fragment   태블릿 대응
08 fragment 태블릿 대응
 
08 font size
08 font size08 font size
08 font size
 
07 다양한 device_대응_방법
07 다양한 device_대응_방법07 다양한 device_대응_방법
07 다양한 device_대응_방법
 
06 activity stack and back, flag
06 activity stack and back, flag06 activity stack and back, flag
06 activity stack and back, flag
 

17 adapter view & db

  • 2. Adapter View? • Adapter View라고 불리는 이유는, 화면에 필요한 데이터를 바로 직접적인 사용이 아닌 Adapter라는 중간자를 거쳐서 사용이 되기 때문입니다. • 그만큼 데이터 개수나 내용에 변화가 있다는 것을 의미하기도 합니다. • 데이터 처리 중간자, 이른바 Controller가 바로 Adapter
  • 3. 데이터 타입과 Adapter • BaseAdapter를 추상체로 해서 데이터 형태에 따라서 ArrayAdapter, CursorAdapter, SimpleAdapter가 있습니다. • ArrayAdapter : 배열 형태 데이터 중간자 • CursorAdapter: Cursor 형태 데이터 중간자 • SimpleAdapter: XML 파일의 정적 데이터 중간자. • Adapter는 원본 데이터를 가져와서 상응하는 데이터에 대한 View를 구성하는 역할을 수행.
  • 4. • R.array.country: 리스트에 보여질 데이터 설정 • R.layout.simple_list_item_1: 리스트 항목 1개를 구성하는 XML layout 설정 • setAdapter: 어댑터를 통해서 View를 구성하는 View와 Adapter를 연결
  • 5. 다른 모양 Row를 가진 Adapter View 만들기 • AdapterView에서는 Adapter를 통해, 알아낸 일정 개수의 항목들을 Adapter가 만들어주는 개별 View들을 의도하는 형태로 시각적으로 나타냅니다. • AdapterView는 Adapter가 품고 있는 데이터에 대해서는 전혀 모르고, Adapter와 아래 함수 통해서만 데이터를 받아서 처리합니다. • getCount / getItem / getItemId / getView • 원하는 형태 Row를 만드는 것은 BaseAdapter를 상속해서 getView를 구현하는 것이다. Data SourceAdapterAdapterView 데이터 정보 데이터 표현 View
  • 6. View getView (int position, View convertView, ViewGroup parent) position The position of the item within the adapter's data set of the item whose view we want. convertView The old view to reuse, if possible. Note: You should check that this view is non- null and of an appropriate type before using. If it is not possible to convert this view to display the correct data, this method can create a new view. Heterogeneous lists can specify their number of view types, so that this View is always of the right type (see getViewTypeCount() andgetItemVie wType(int)). parent The parent that this view will eventually be attached to
  • 8. Spinner를 채우자 View와 Data간에 연결을 Cursor를 바탕으로 구성하는 Adapter 다른 Adapter가 그러한 것 처럼! Data를 반영한 View를 만들어 주는 역할을 수행. 이를 좀 더 단순화 시켜 from, to, layout를 설정만 하면 되도록 단순화
  • 10. Click 경우에 대한 처리 Adapter에서 직접 관련 데이터 가져올 수 있지만, 우선 아래와 같이 처리합니다.