260 likes | 453 Views
6. 메 뉴. 학습목표 메뉴는 사용자의 명령을 받아들이는 가장 기본적인 장치며 , 옵션 메뉴와 컨텍스트 메뉴를 작성 및 출력하고 메뉴를 통해 프로그램의 현재 상태를 표시 지금까지 배운 내용을 총정리하며 개발 툴에 대한 고급 사용법을 익힌다 . 내용 메 뉴 개발툴. 1. 메 뉴. 옵션 메뉴 안드로이드가 지원하는 메뉴는 세가지 종류가 있다 . 옵션메뉴 : 주 메뉴 . 최대 6 개까지 가질 수 있으며 그 이상은 More 항목에 배치된다 . 아이콘은
E N D
6 메 뉴
학습목표 • 메뉴는 사용자의 명령을 받아들이는 가장 기본적인 장치며, 옵션 메뉴와 컨텍스트 메뉴를 작성 및 출력하고 메뉴를 통해 프로그램의 현재 상태를 표시 • 지금까지 배운 내용을 총정리하며 개발 툴에 대한 고급 사용법을 익힌다. • 내용 • 메 뉴 • 개발툴
1. 메 뉴 • 옵션 메뉴 • 안드로이드가 지원하는 메뉴는 세가지 종류가 있다. • 옵션메뉴 : 주 메뉴. 최대 6개까지 가질 수 있으며 그 이상은 More항목에 배치된다. 아이콘은 달 수 있지만 상태는 가지지 못한다. • 컨텍스트 메뉴 : 화면을 일정한 시간 동안 누르고 있으면(Hold Down) 화면 중앙에 나타나며, 아이콘을 달 수 없지만 상태를 가진다. • 서브 메뉴 : 메뉴 항목을 가지는 일종의 팝업이며화면 한 가운데에 나타나며, 더 많은 항목을 넣고 싶을 때 옵션 메뉴나 컨텍스트 메뉴의 세부 메뉴로 작성한다.
1. 메 뉴 • 옵션 메뉴 • 액티비티의 다음 메서드에서 메뉴를 생성한다. • booleanonCreateOptionsMenu (Menu menu) • 메뉴가 열릴 때 다음 메서드가 호출되며여기서 메뉴의 상태를 관리한다. • booleanonPrepareOptionsMenu (Menu menu) • 메뉴가 선택될 때 다음 메서드가 호출되며여기서 메뉴의 선택을 처리한다. • booleanonOptionsItemSelected (MenuItem item)
1. 메 뉴 • 옵션 메뉴(실습예제)
1. 메 뉴 • XML로 메뉴 정의하기 • 메뉴는 프로그램의 동작을 정의라 하기보다는 일종의 디자인이므로 XML로 작성하는 것이 훨씬 더 쉽고 관리하기 좋다.
1. 메 뉴 • 체크 메뉴 항목 • 메뉴는 기본적으로 명령을 입력 받는 장치이지만 체크나 라디오 그룹 등을 통해 프로그램의 현재 상태를 보여준다. • checkableBehavior속성으로 관리 방법 및 모양을 결정한다.
1. 메 뉴 • 체크 메뉴 항목 (실습예제)
1. 메 뉴 • 체크 메뉴 항목 (실습예제 결과)
1. 메 뉴 • 컨텍스트 메뉴 • 특정 뷰나 항목에 필요한 명령들만 모아 놓은 메뉴. • 컨텍스트 메뉴를 달고 싶은 뷰는 다음 메서드로 등록한다. • void Activity.registerForContextMenu (View view) • 생성 및 선택 시 다음 메서드가 호출된다. • void onCreateContextMenu (ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) • 컨텍스트 메뉴의 항목을 선택하면 다음 메서드를 호출된다. • booleanonContextItemSelected (MenuItem item) • 뷰의컨텍스트 메뉴를 생성할 때는 다음 메서드가 호출된다. • void onCreateContextMenu (ContextMenu menu)
1. 메 뉴 • 컨텍스트 메뉴(실습예제)
1. 메 뉴 • 컨텍스트 메뉴(실습예제)
2. 개발툴 • 기억력 게임 • 안드로이드의 기본적인 문법 정리를 위한 실습 예제.
2. 개발툴 • 기억력 게임.
2. 개발툴 • 기억력 게임.
2. 개발툴 • 기억력 게임.
2. 개발툴 • 디버깅 • 디버깅 하기 위해서는 매니페스트에 다음 플래그를 지정한다. • <application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true"> • 매니페스트에debuggable속성을 켜야 사용할 수 있다. • Ctrl + Shift + B를 누르면 중단점이 설정되며, 다시한번 설정하면 중단점이 토글된다. • 디버깅을 위해 Debug퍼스펙티브로 전환하겠다는 것을 알리는 메시지 (퍼스펙티브: 뷰의 집합)
2. 개발툴 • 디버깅 • 메시지에 Yes응답 후 Remember my decision 옵션 선택하면 다은부터 퍼스펙티브를 자동으로 전환하며, 다음과 같이 개발 환경의 뷰가 완전히 재배치 된다.
2. 개발툴 • 디버깅 • 메뉴에서 디버깅 관련 명령어 단축키. • F6키를 눌러 indShapeIdx메서드호출문까지 실행 후 F5를 눌러 메서드 안쪽까지 추적해 들어가보면 다음 그림과 같다.
2. 개발툴 • DDMS • DDMS(Dalvik Debug Monitor Service)는 ADT와 함께 설치되는 플러그인이며 여러 가지 기능을 제공하는 디버깅 툴이다. • 포드 포워딩, 화면 캡쳐, 스레드 및 힙 상태 보기, 장비의 파일 관리, 디버그 로그 보기, 통화 및 문자 메시지 에뮬레이션 등 포함
2. 개발툴 • DDMS Png파일로 저장 가능 Input 현재 스테드 상태 예제
2. 개발툴 • 로 그 • 로그는 시스템이나 응용 프로그램의 동작에 대한 상세한 기록이다. • 시스템은 장비에서 발생하는 문제점 로그를 남기며, 응용 프로그램은 디버깅이나 경고, 실행 흐름 추적 등을 위해 수시로 로그를 남긴다. • 로그는 디버깅에 비해 항상 출력되는 실시간으로 프로그램의 상태를 출력한다는 점에서 유용하다. • 로그를 출력할 때는 다음과 같은 메서를 사용한다. • static intLog.d (String tag, String msg [, Throwabletr]) • static intLog.e(String tag, String msg [, Throwabletr]) • static intLog.w(String tag, String msg [, Throwabletr]) • static intLog.i(String tag, String msg [, Throwabletr]) • static intLog.v(String tag, String msg [, Throwabletr])
2. 개발툴 • 로 그(실습예제) 버튼을 클릭하면 로그를 남기게 된다.
2. 개발툴 • 로 그(실습예제)
2. 개발툴 • adb • adb(Android Debug Bridge) : 명령행에서 장비의 상태를 관리하는 툴이다. • adb기능이대부분이 DDMS에서도 사용이 가능하므로 자주 사용하지 않는다. • adb는 다음 3가지 요소가 협력적으로 동작하여 개발 컴퓨터와 장비간 통신 수행한다. • 클라이언트 : 개발 컴퓨터에서 실행되는 관리 툴, adb자체가 대표적이며 이 외에 ADT플러그인이나DDMS도 클라이언트로 동작 • 서버 : 개발 컴퓨터에서 백그라운드로 실행되며 클라이언트와 데몬을 중계하는 역할을 한다. • 데몬 : 장비에서 백그라운드로 동작하며 클라이언트로부터 전달된 명령을 장비에서 수행한다. • 연결 장비가 여러 개이면 어떤 장비에 대해 명령을 수행할 것인지를 지정해야 하는데 이때는 다음 세 개의 플래그 중 하나를 사용한다.