PDF문서chapter11_어댑터뷰(5판)_박세준.pdf

닫기

background image

Chap11. 어댑터뷰 

01 리스트뷰와 그리드뷰 

02 갤러리와 스피너 


background image

01. 리스트뷰와 그리드뷰 

  View 클래스 계층도 

View Container(6.2장) 


background image

01. 리스트뷰와 그리드뷰 

 어댑터뷰 계층도 


background image

01. 리스트뷰와 그리드뷰 

 리스트뷰(ListView) 

 데이터를 리스트 모양으로 보여줌(리스트 중 하나 선택) 

 예) 안드로이드 [설정] → 리스트뷰(각 항목 선택) 


background image

01. 리스트뷰와 그리드뷰 

 XML을 이용한 리스트뷰 만들기 

① ListView에 나열할 내용을 String 배열로 미리 생성 

② ListView 변수 생성  → XML <ListView>에 대응 

③ ArrayAdapter<String>형 변수 선언하고,                                     

ListView  모양과 내용 ①번 배열로 채움 

④ ③번에서 생성한 ArrayAdapter를 ListView 변수(②) 에 적용 

⑤ ListView  항목을 클릭했을 때 동작하는 리스너 정의 

 


background image

01. 리스트뷰와 그리드뷰 

 ListView xml 코드(p.430 예제 11-1) 


background image

01. 리스트뷰와 그리드뷰 

 ListView Java 코드(p.430 예제 11-2) 


background image

01. 리스트뷰와 그리드뷰 

 ListView 의 다양한 모양 설정 

 체크박스(simple_list_item_multiple_choice) 


background image

01. 리스트뷰와 그리드뷰 

 ListView 의 다양한 모양 설정 

 라디오버튼(simple_list_item_single_choice) 


background image

01. 리스트뷰와 그리드뷰 

 ListView의 동적 추가/삭제 xml 코드(p.432 예제 11-4)  

 ArrayList<T>를 정의 → add( )와 remove( ) 메소드 사용 

10 


background image

01. 리스트뷰와 그리드뷰 

 ListView의 동적 추가/삭제 Java 코드(p.432 예제 11-5) 

11 


background image

01. 리스트뷰와 그리드뷰 

 그리드뷰(GridView) 

 주로 사진이나 그림을 격자 모양으로 배치 

 XML 파일(간단히 <GridView> 삽입) 

 Java 코드(필요한 내용 반드시 코딩) 

 <GridView> 속성 중 

 열 개수를 지정하는 numColumns(필수 삽입) 

12 


background image

영화 포스터 보기1(실습 11-1) 

1. 안드로이드 프로젝트 생성 

 [01] 프로젝트 이름(Project11_1) 

 패키지 이름(com.cookandroid.project11_1) 

 [실습 2-4]의 1~4(p.87~89) 

13 


background image

영화 포스터 보기1(실습 11-1) 

2. 화면 및 디자인 편집(activity_main.xml) 

 [02] [activity_main.xml]에 그리드뷰 추가(p.434 예제 11-6) 

14 


background image

영화 포스터 보기1(실습 11-1) 

2. 화면 및 디자인 편집(dialog.xml) 

 [03] [dialog.xml] 파일 생성 

 [App] → [res] → [layout : 오른쪽 버튼 클릭] 

 [New] → [Layout resource file] 

 [New Resource File] → [File name] → “dialog.xml” → <OK> 

15 


background image

영화 포스터 보기1(실습 11-1) 

2. 화면 및 디자인 편집(dialog.xml) 

 [04] [dialog.xml] 파일 코딩(p.435 예제 11-7) 

 

 

 

 [05] 영화 포스터로 사용할 이미지 10개 /res/drawable에 복사 

16 


background image

영화 포스터 보기1(실습 11-1) 

3. Java 코드 작성 및 수정(MainActivity.java) 

 [06] MyGridAdapter 정의(p.435~436 예제 11-8) 

 activity_main.xml의 GridView에 MyGridAdapter 변수 적용 

 

17 


background image

영화 포스터 보기1(실습 11-1) 

3. Java 코드 작성 및 수정(MainActivity.java) 

 [07] 영화 포스터 그림 파일 ID 배열로 지정(p.437 예제 11-9) 

18 


background image

영화 포스터 보기1(실습 11-1) 

3. Java 코드 작성 및 수정(MainActivity.java) 

 [08] getCount( ), getView( ) 메소드 코딩(p.437 예제 11-10) 

 getCount( ) : 이미지 개수 반환, getView( ) : 영화 포스터 보여줌 

19 


background image

영화 포스터 보기1(실습 11-1) 

3. Java 코드 작성 및 수정(MainActivity.java) 

 [09] 각 영화 클릭 이벤트 리스너 코딩(p.438 예제 11-11) 

 대화상자가 나오고 영화 포스터의 원래 크기가 보여지도록 함 

20 


background image

영화 포스터 보기1(실습 11-1) 

4. 프로젝트 실행 및 결과 확인 

 [10] 저장 및 실행 

 저장 - 메뉴 → [File] → [Save All] 클릭 

 실행 - 메뉴 → [Run] → [Run ‘app’] 클릭 

5. 안드로이드 애플리케이션 개발 완료

 

 [11] 결과 확인 및 초기화면으로 돌아감 

21 


background image

직접 풀어보기 11-1(p.439) 

 직접 풀어보기 11-1(p.439) 

 

 

 추가(*.java) 

 

 

 변경(*.java) 

22 


background image

02. 갤러리와 스피너 

 갤러리(Gallery) - scroll 

 사진첩 효과 

 사진(이미지)을 배치하고 좌우로 스크롤해서 볼 수 있도록 해줌 

 이미지 목록을 스크롤하는 기능만 있음 

 이미지 클릭(큰 이미지로 보이게 하는 방법 - Java 코드 사용) 

23 


background image

영화 포스터 보기2(실습 11-2) 

1. 안드로이드 프로젝트 생성 

 [01] 프로젝트 이름(Project11_2) 

 패키지 이름(com.cookandroid.project11_2) 

 [실습 2-4]의 1~4(p.87~89) 

24 


background image

영화 포스터 보기2(실습 11-2) 

2. 화면 및 디자인 편집(activity_main.xml) 

 [02] Gallery와 ImageView 추가(p.441 예제 11-12) 

 [03] 영화 포스터로 사용할 이미지 10개 /res/drawable에 복사 

25 


background image

영화 포스터 보기2(실습 11-2) 

3. Java 코드 작성 및 수정(MainActivity.java) 

 [04] MyGridAdapter 정의(p.441 예제 11-13) 

 activity_main.xml의 GridView에 MyGridAdapter 변수 적용 

26 


background image

영화 포스터 보기2(실습 11-2) 

3. Java 코드 작성 및 수정(MainActivity.java) 

 [05] getCount( ), getView( ) 메소드 코딩(p.442 예제 11-14) 

27 


background image

영화 포스터 보기2(실습 11-2) 

3. Java 코드 작성 및 수정(MainActivity.java) 

 [06] 갤러리 영화 클릭 이벤트 리스너 코딩(p.442 예제 11-15) 

 아래쪽 이미지뷰에 포스터가 원래 크기로 보여지도록 함 

 

 

28 


background image

영화 포스터 보기2(실습 11-2) 

4. 프로젝트 실행 및 결과 확인 

 [07] 저장 및 실행 

 저장 - 메뉴 → [File] → [Save All] 클릭 

 실행 - 메뉴 → [Run] → [Run ‘app’] 클릭 

5. 안드로이드 애플리케이션 개발 완료

 

 [08] 결과 확인 및 초기화면으로 돌아감 

29 


background image

직접 풀어보기 11-2(p.443) 

 영화 포스터를 클릭하면 영화 제목이 토스트 메시지에 

나타나도록 [실습 11-2]를 수정하여라.  

30 


background image

직접 풀어보기 11-2(p.443) 

 영화 포스터를 클릭하면 영화 제목이 토스트 메시지에 

나타나도록 [실습 11-2]를 수정하여라. 

 추가(toast.xml)  

31 


background image

직접 풀어보기 11-2(p.443) 

 영화 포스터를 클릭하면 영화 제목이 토스트 메시지에 

나타나도록 [실습 11-2]를 수정하여라. 

 추가(*.java)  

32 


background image

02. 갤러리와 스피너 

 스피너(Spinner) 

 PC의 드롭다운(Drop Down) 박스와 비슷한 기능 

 스피너 xml 코드(p.444 예제 11-16) 

33 


background image

02. 갤러리와 스피너 

 스피너 Java 코드(p.444 예제 11-17) 

34 


background image

직접 풀어보기 11-3(p.445) 

 직접 풀어보기 11-3(p.445) 

35 


background image

직접 풀어보기 11-3(p.445) 

 직접 풀어보기 11-3(p.445) 

 추가(*.xml)  

 

36 


background image

직접 풀어보기 11-3(p.445) 

 직접 풀어보기 11-3(p.445) 

 추가(*.java)  

 

37 


background image

과제11-1 연습문제5(p.448) 

 10장의 <실습 10-2> 명화 선호도 투표의 첫 화면을 

그리드뷰로 변경해서 프로젝트를 작성하라. 

38 

   


background image

과제11-2 연습문제6(p.448) 

 <직접 풀어보기 11-3>을 개선해서, 메뉴(옵션메뉴 또는 

컨텍스트메뉴)를 이용하여 기하학적 변환이 되도록 하

라.(9장 참조) 

39