학습목표 메뉴를추가하는방법을이해하고실습할수있다. 프로그램의기본설정 (settings) 을정의하는방법을알고실습할수있다. 대화상자를여는방법을알고실습할수있다. 로그메시지로디버깅하는방법을이해한다. 디버거로디버깅하는방법을이해한다.

Similar documents
[ 그림 8-1] XML 을이용한옵션메뉴설정방법 <menu> <item 항목ID" android:title=" 항목제목 "/> </menu> public boolean oncreateoptionsmenu(menu menu) { getme

학습목표 선언하여디자인을하는방법을이해하고, 실행할수있다. 시작화면을만드는방법과대체리소스를사용하는방법을이해하고실행할수있다. About 과같은상자를구현하고, 테마를적용하는법을이해하고실행할수있다.

슬라이드 1

( )부록

13ÀåÃß°¡ºÐ

안드로이드기본 11 차시어댑터뷰 1 학습목표 어댑터뷰가무엇인지알수있다. 리스트뷰와스피너를사용하여데이터를출력할수있다. 2 확인해볼까? 3 어댑터뷰 1) 학습하기 어댑터뷰 - 1 -

03장

2 Application Name: Day10_yhg <LinearLayout android:layout_weight="3" > /> an

50_1953.pdf

9 차시고급위젯다루기 1 학습목표 날짜 / 시간과관련된위젯을배운다. 웹뷰를사용하여간단한웹브라우저기능을구현한다. 매니패스트파일의설정법을배운다. 2 확인해볼까? 3 날짜 / 시간위젯 1) 활동하기 활동개요

어댑터뷰

[ 그림 7-1] 프로젝트 res 폴더 이미지뷰 [ 예제 7-1] 이미지뷰 1 <LinearLayout 2 ~~~~ 중간생략 ~~~~ 3 android:orientation="vertical" > 4 <ImageView

슬라이드 1

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

PowerPoint Presentation

리니어레이아웃 - 2 -

헬로, 안드로이드 7 주차 멀티미디어 강대기동서대학교컴퓨터정보공학부

2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android=" 2 xmlns:tools="

오버라이딩 (Overriding)

01장

슬라이드 1

Daum 카페

PowerPoint 프레젠테이션

변수이름 변수값 PATH ;C:\Program Files\Java\jdk1.8.0_45\bin CLASSPATH.;C:\Program Files\jdk1.8.0_45\lib\tools.jar JAVA_HOME C:\Program Files\Java\jdk1.8.0_45

슬라이드 1

Microsoft PowerPoint - Android_DDMS.pptx

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - CSharp-10-예외처리

PowerPoint 프레젠테이션

학습목표 2D 그래픽에대해배운다. Color, Paint, Canvas, Path, Drawable 클래스를배운다. 스도쿠의게임시작하기를구현하고, Game 클래스, PuzzleView 클래스를정의한다. 정의된클래스내에서보드를그리고, 숫자를그린다. 숫자입력, 힌트추가,

OpenCV와 함께하는 컴퓨터 비전 프로그래밍 캠프

Microsoft PowerPoint UI-Event.Notification(1.5h).pptx

Microsoft PowerPoint UI-Layout.Menu.pptx

슬라이드 1

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

PowerPoint 프레젠테이션

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

Microsoft PowerPoint - 14주차 강의자료

제8장 자바 GUI 프로그래밍 II

gnu-lee-oop-kor-lec10-1-chap10

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

PowerPoint Presentation

REMON Android SDK GUIDE (SDK Version 1.4.1) 1 / 25

비긴쿡-자바 00앞부속

PowerPoint 프레젠테이션

Microsoft PowerPoint - 2강

PowerPoint 프레젠테이션

Microsoft PowerPoint - 02처음으로만드는(Ver 1.0)

untitled

PowerPoint Presentation

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

윈도우시스템프로그래밍

윈도우시스템프로그래밍

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

Java ...

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가

헬로, 안드로이드 13 주차 SQL 활용하기 (2) 강대기동서대학교컴퓨터정보공학부

TipssoftAppActivity.java // 기본소스파일 main.xml // 배치와구성에관련된리소스파일 string.xml // 프로그램에서사용할문자열에관련된리소스파일 컴파일을하고나면 r.java 라는소스파일이하나추가되는데이파일은리소스파일을소스파일에서이용할수있도

슬라이드 1

OOP 소개

09-interface.key

PowerPoint Presentation

쉽게

02 C h a p t e r Java

쉽게 풀어쓴 C 프로그래밍

슬라이드 1

제11장 프로세스와 쓰레드

슬라이드 1

Microsoft PowerPoint App Fundamentals[Part1].pptx

Ver. DS-2012.T3.DWS.STR-1.0 System Test Report for Digital Watch System Test Cases Specification Test Summary Report Project Team 이동아 Latest update on

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

PowerPoint Presentation

헬로, 안드로이드 11 주차 위치파악하기와감지하기 강대기동서대학교컴퓨터정보공학부

Microsoft PowerPoint - 04-UDP Programming.ppt

INAPP결제 API 가이드

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx

슬라이드 1

안드로이드2_14

( )전국네트워크


( )업계소식

( )업계소식

( )업계소식(14.01월)

이것은리스트뷰의 setadapter 메소드에잘표현되어있습니다. setadapter 는리스트뷰에사용할데이터객체를넘겨주는메소드입니다. 일반적으로생각한다면 ArrayAdapter 객체를생성하여사용할데이터를저장할것이고데이터가저장된 ArrayAdapter 객체를 setadapt

JAVA PROGRAMMING 실습 02. 표준 입출력

Microsoft PowerPoint - 2-Objective-C 기초

THE TITLE

윈도우시스템프로그래밍

Modern Javascript

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

RDS_MAN_NO 도로구간일련번호 NUMBER(12) BSI_INT_SN 기초구간일련번호 NUMBER(10) EQB_MAN_SN 건물군일련번호 NUMBER(10) BULD_SE_CD 건물구분코드 VARCHAR2(1) BULD_MNNM 건물본번 NUMBER(5) BUL

Facebook API

PowerPoint Presentation

슬라이드 1

SECTION 01 _ 액션바 (ActionBar) 405 액션바만들기 참고프로젝트 ActionBarDemoA1 간단히액션바를만들고이액션바가 WVGA(800*480) 과 WXGA(1280*800) 에서어떻게보이는지확인해보도록하겠다. 액션바를만든다는표현을했지만액션바는타이

자바GUI실전프로그래밍2_장대원.PDF

슬라이드 1

Transcription:

헬로, 안드로이드 4 주차 사용자인터페이스디자인하기 (2) 강대기동서대학교컴퓨터정보공학부

학습목표 메뉴를추가하는방법을이해하고실습할수있다. 프로그램의기본설정 (settings) 을정의하는방법을알고실습할수있다. 대화상자를여는방법을알고실습할수있다. 로그메시지로디버깅하는방법을이해한다. 디버거로디버깅하는방법을이해한다.

차례 메뉴추가하기 Settings 추가하기 새게임시작하기 로그메시지로디버깅하기 디버거로디버깅하기 게임끝내기 요약 퀴즈 연습문제

메뉴추가하기 안드로이드가지원하는두가지메뉴 메뉴버튼을눌렀을때나오는메뉴 화면을손가락으로누를때나오는상황적 (contextual) 메뉴 메뉴버튼을눌렀을때나오는메뉴를만들려면 1. 사용할문자열정의 2. XML 을사용하여메뉴정의 3. import 추가 4. 메서드오버라이드

사용할문자열정의 /res/values/strings.xml <string name="settings_label">settings...</string> <string name="settings_title">sudoku settings</string> <string name="settings_shortcut">s</string> <string name="music_title">music</string> <string name="music_summary">play background music</string> <string name="hints_title">hints</string> <string name="hints_summary">show hints during play</string>

XML 을사용하여메뉴정의 /res/menu/menu.xml <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/a pk/res/android"> <item android:id="@+id/settings" android:title="@string/settings_label" android:alphabeticshortcut="@string/settings_ shortcut" /> </menu>

import 추가 Sudoku.java import android.view.menu; import android.view.menuinflater; import android.view.menuitem;

메서드오버라이드 (oncreateoptionsmenu in Sudoku.java) @Override public boolean oncreateoptionsmenu(menu menu) { super.oncreateoptionsmenu(menu); MenuInflater inflater = getmenuinflater(); inflater.inflate(r.menu.menu, menu); return true; }

메서드오버라이드 (onoptionsitemselected in Sudoku.java) @Override public boolean onoptionsitemselected(menuitem item) { switch (item.getitemid()) { case R.id.settings: startactivity(new Intent(this, Prefs.class)); return true; // More items go here (if any)... } return false; }

Settings 추가하기 기본설정정의 예 : res/xml/settings.xml Prefs 클래스정의하여 PreferenceActivity 확장 /src/org/example/sudoku/prefs.java Prefs 액티비티를 AndroidManifest.xml에등록 <activity android:name=".prefs" android:label="@string/settings_title"> </activity>

res/xml/settings.xml <?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <CheckBoxPreference android:key="music" android:title="@string/music_title" android:summary="@string/music_summary" android:defaultvalue="true" /> <CheckBoxPreference android:key="hints" android:title="@string/hints_title" android:summary="@string/hints_summary" android:defaultvalue="true" /> </PreferenceScreen>

/src/org/example/sudoku/prefs.java package org.example.sudoku; import android.os.bundle; import android.preference.preferenceactivity; public class Prefs extends PreferenceActivity { @Override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); addpreferencesfromresource(r.xml.settings); } }

새게임시작하기 문자열추가 배열리소스만듦 import 추가 News Game 버튼클릭처리 난이도목록사용자인터페이스만듦

/res/values/strings.xml <string name="new_game_title">difficulty</string> <string name="easy_label">easy</string> <string name="medium_label">medium</string> <string name="hard_label">hard</string>

/res/values/arrays.xml <resources> <array name="difficulty"> <item>@string/easy_label</item> <item>@string/medium_label</item> <item>@string/hard_label</item> </array> </resources>

/src/org/example/sudoku/sudoku.java import 추가 import android.app.alertdialog; import android.content.dialoginterface; import android.util.log;

/src/org/example/sudoku/sudoku.java News Game 버튼클릭처리 public void onclick(view v) { switch (v.getid()) { case R.id.continue_button: startgame(game.difficulty_continue); break; //... } } case R.id.about_button: Intent i = new Intent(this, About.class); startactivity(i); break; // More buttons go here (if any)... case R.id.new_button: opennewgamedialog(); break; case R.id.exit_button: finish(); break;

/src/org/example/sudoku/sudoku.java 난이도목록사용자인터페이스만듦 /** Ask the user what difficulty level they want */ private void opennewgamedialog() { new AlertDialog.Builder(this).setTitle(R.string.new_game_title).setItems(R.array.difficulty, new DialogInterface.OnClickListener() { public void onclick(dialoginterface dialoginterface, int i) { startgame(i); } }).show(); } /** Start a new game with the given difficulty level */ private void startgame(int i) { Log.d(TAG, "clicked on " + i); Intent intent = new Intent(Sudoku.this, Game.class); intent.putextra(game.key_difficulty, i); startactivity(intent); }

로그메시지로디버깅하기 Log.e() 오류 (error) Log.w() 경고 (warning) Log.i() 정보 (information) Log.d() 디버깅 (debugging) Log.v() 세부정보 (verbose) Window > Show View > Other > Android > LogCat

디버거로디버깅하기 프로젝트디버깅활성화 AndroidManifest.xml 에서 android:debuggable="true" <application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true"> Right click > Debug As > Android Application

게임끝내기 대부분의스마트폰응용프로그램에서끝내기버튼은필요치않음 안드로이드의경우, 이전버튼이나홈키를누르면됨 Activity 를종료하는방법 public void onclick(view v) { switch (v.getid()) { case R.id.exit_button: finish(); break; } }

요약 메뉴를추가하는방법을설명하였다. 프로그램의기본설정 (settings) 을정의하는방법을설명하였다. 대화상자를여는방법을설명하였다. 로그메시지로디버깅하는방법을소개하였다. 디버거로디버깅하는방법을소개하였다.

퀴즈 안드로이드가지원하는두가지메뉴는무엇인가? 기본설정을정의하기위해서는무슨클래스를확장해야하는가? New Game 버튼을클릭하면나오는대화상자는어떤클래스인가? 로그메시지로디버깅하는종류는몇가지가있고무엇무엇인가? 프로젝트의디버깅을활성화하려면어떻게해야하는가? 액티비티를종료하려면어떻게하면되는가?

연습문제 메뉴버튼을눌렀을때나오는메뉴에자신의이름이나오도록바꾸어보라. 기본설정에체크박스를 3 개더정의해보라. HelloMenu 라는안드로이드프로그램프로젝트를만들어서메뉴버튼눌렀을때나오는메뉴아이템을 " 설정 " 이라고하고, " 설정 " 이라는아이템을누르면 " 음악 " 과 " 힌트 " 에대한설정화면 ( 액티비티 ) 를실행하는프로그램을만들어보자. opennewgamedialog 을보면한줄로구성되어있다. 이를세줄이상으로나누어보라. opennewgamedialog 메서드의 DialogInterface.OnClickListener 를매개변수가아닌외부클래스로정의해보라.