슬라이드 1

Similar documents
Microsoft PowerPoint App Fundamentals[Part2].pptx

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

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

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

Microsoft PowerPoint App Fundamentals[Part1].pptx

PowerPoint 프레젠테이션

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

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

슬라이드 1

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

슬라이드 1

PowerPoint Template

슬라이드 1

PowerPoint Presentation

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

12 주차 인텐트

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

03장

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

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

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

Microsoft PowerPoint - 15주차(최종).pptx

PowerPoint 프레젠테이션

Activity

Microsoft PowerPoint - 4주차_Android_UI구현.ppt [호환 모드]

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

슬라이드 1

Microsoft Word - src.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

어댑터뷰

PowerPoint 프레젠테이션

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

Windows 8에서 BioStar 1 설치하기

Microsoft Word - [2017SMA][T8]OOPT_Stage_2040 ver2.docx

01장

. 스레드 (Thread) 란? 스레드를설명하기전에이글에서언급되는용어들에대하여알아보도록하겠습니다. - 응용프로그램 ( Application ) 사용자에게특정서비스를제공할목적으로구현된응용프로그램을말합니다. - 컴포넌트 ( component ) 어플리케이션을구성하는기능별요

JAVA PROGRAMMING 실습 08.다형성

PowerPoint Presentation

ISP and CodeVisionAVR C Compiler.hwp

금오공대 컴퓨터공학전공 강의자료

JVM 메모리구조

슬라이드 1

Microsoft PowerPoint - 04기본위젯(Ver 1.0)

Microsoft PowerPoint - C++ 5 .pptx

Facebook API

PowerPoint Presentation

윈도우시스템프로그래밍

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

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

07( ) CPLV12-35.hwp

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

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

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

서현수

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

Microsoft PowerPoint - chap06-2pointer.ppt

MaxstAR SDK 2.0 for Unity3D Manual Ver

슬라이드 1

PowerPoint Template

JUNIT 실습및발표

17장 클래스와 메소드

PowerPoint Presentation

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

No Slide Title

- 목차 - - ios 개발환경및유의사항. - 플랫폼 ios Project. - Native Controller와플랫폼화면연동. - 플랫폼 Web(js)-Native 간데이터공유. - 플랫폼확장 WN Interface 함수개발. - Network Manager clas

Microsoft PowerPoint - Chap12-OOP.ppt

(Microsoft PowerPoint - AndroG3\306\367\306\303\(ICB\).pptx)

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++,

Visual Basic 반복문

슬라이드 1

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

작성자 : 김성박\(삼성 SDS 멀티캠퍼스 전임강사\)

슬라이드 1

콘텐츠 PowerPoint 디자인

슬라이드 1

ThisJava ..

오핀 (OFIN) SDK Guide Fintech Mobile SDK Guide - Android V 1.0 OPPFLIB 1

Microsoft PowerPoint - chap06-5 [호환 모드]

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

4S 1차년도 평가 발표자료

OCW_C언어 기초

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - 09-CE-5-윈도우 핸들

Microsoft PowerPoint - 안드로이드 개발 환경 구축(170411)

슬라이드 1

Daum 카페

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

금오공대 컴퓨터공학전공 강의자료

(Microsoft PowerPoint - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345])

adfasdfasfdasfasfadf

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

NTD36HD Manual

gnu-lee-oop-kor-lec06-3-chap7

OM2M 기반의 OHP-M2M 오픈소스설치가이드 2015 년 8 월 경북대학교통신프로토콜연구실 최예찬, 강형우 요약 사물인터넷 (Internet of Things: IoT) 이이슈가되면서다양한사

Transcription:

Android App 개발기초 & Activity, Intent 세미나 2012. 03. 26 ING 팀여상권, 이용균, 최상욱, 권지해

목차 프로젝트생성과정설명 안드로이드동작, 구조설명 Activity 설명 Intent 설명 질문 1

프로젝트생성과정설명 1. Eclipse의메뉴바에서 File 선택 2. New선택후 Android Project 선택 3. Project Name 기입후 next 버튼클릭 4. 사용할 Android 플랫폼선택 5. Package Name 기입후 Finish 2

프로젝트생성과정설명 1 선택 3

프로젝트생성과정설명 2 프로젝트이름입력 3 프로젝트의안드로이드플랫폼버전설정 4

프로젝트생성과정설명 4 프로젝트생성 패키지이름입력 패키지이름이필요한이유 : - 가정 ( 예시 ) A 회사에서하나의프로젝트를두개의팀이분담해서작업을함우연치않게두팀이동일한클래스이름을사용하여프로그램을작성작업이끝나고하나로합칠시동일한클래스이름으로인해합쳐지지않음이러한상황을미연에방지하기위해패키지이름을사용한다즉동일한클래스이름일지라도패키지이름이다르므로구분이가능하다! 5

안드로이드프로젝트폴더설명 6

안드로이드프로젝트폴더설명 7

안드로이드프로젝트폴더설명 8

안드로이드프로젝트폴더설명 9

안드로이드프로젝트폴더설명 10

안드로이드프로젝트폴더설명 11

결과화면? 결과 화면 아무런코드를삽입하지않았는데 에뮬레이터에다음과같은결과화면이나타난것을볼수있다. 어떻게된것일까??? 12

Android Program 구조설명 13

Android Program 구조설명 14

Android Program 구조설명 ~Activity.java 파일에서 ~.xml 파일을참조하여화면에표시한다. ~.xml 파일에서사용하는값들을 ~Activity.java 파일에서사용하기위해 ~.xml 파일에서 id 값을정의함. 정의된 id 값들은 R.java 파일에등록되고해당 id 값과메모리값이매칭되어 activity.java 파일에서사용가능 ~.xml 파일에서 strings.xml 파일에존재하는문자를참조하여사용가능 왜이런방식을사용했을까?? 화면을구성하는부분은디자이너가설계함코드작성부분은프로그래머가담당함 -> 디자이너와프로그래머의역할분담이가능 strings.xml 과같이문자열을정의하는부분을따로설정하여다양한언어지원가능 15

Activity Activity : 1. 활발한움직임, 활기 2. ( 취미나특별한목적을위한 ) 활동 -> 이용어의의미는 " 가시적 " 인성격. 즉, 눈으로볼수있는것. 액티비티 (Activity) = 안드로이드어플의화면을구성하는주요단위 보통하나의화면이하나의액티비티라고봐도무방함 16

Activity 뷰여러개가모여서액티비티하나를구성 액티비티여러개가모여서응용프로그램이된다. 17

Activity 를생성하여화면에띄어보자! 액티비티생성을위해새로운엑티비티를만듬 1. HelloAndroActivity.java 파일을복사 (Ctrl+C) 2. 패키지선택후붙여넣기 (Ctrl+V) 3. 동일한엑티비티이름이므로다른엑티비티이름을지정 CopyActivity 라고이름을지정 18

Activity 를생성하여화면에띄어보자! HelloAndroActivity CopyActivity 화면을구성하는 xml 파일이동일함 복사된엑티비티가다른화면을출력해주기위해 xml 파일도새로생성해주어야함 xml 파일도 Activity.java 파일과동일한방법으로복사 & 붙여넣기를하여 layout 에 xml 파일을추가 19

Activity 를생성하여화면에띄어보자! copy.xml 기존의엑티비티와차이를위해다른값을설정 CopyActivity.class CopyActivity.class 새로운 xml 파일로설정 20

Activity 를생성하여화면에띄어보자! * 엑티비티추가는 AndroidManifest.xml 파일에알려주어야함 AndroidManifest.xml 추가!!!! 21

Activity 를생성하여화면에띄어보자! 결과화면 결과값은변하지않았다!!! 어떻게된것인가? 당연하다! 프로젝트시작시처음보여주는엑티비티 (HelloAndroActivity.java) 에서아무런코드도추가하지않았다. ( 단순히새로운엑티비티를만들기만함 ) 즉새로만든엑티비티를띄우긴위해서는다른작업이필요하다! -> 필요한것 : 인텐트 ( 다음장설명 ) 22

Intent : Intent 1. 의지, 의향 (intention); 목적, 계획 2. 의미, 취지 어플리케이션구성요소간에정보를전달하는역할, 그정보를이용하여 시스템이구성요소를실행하던지데이터를전달하는역할을한다. 23

Intent Android 의애플리케이션의 대표적인구성요소 24

Intent Intent 명시적 Intent 인텐트에클래스객체나컴포넌트이름을지정하여호출할대상을확실히알수있는인텐트 암시적 Intent 액션과데이터를지정하긴했지만호출할대상이달라질수있는경우 [Intent Reference] Intent intent = new Intent() Intent intent = new Intent( Intent o ) Intent intent = new Intent( String action [,Uri uri]) Intent intent = new Intent( Context packagecontext, Class<?> cls) Intent intent = new Intent( String action, Uri uri, Context packagecontext, Class<?> 25 cls)

명시적인텐트 호출할대상을확실히지정 [Reference] startactivity() or startactivityforresult() startservice() or bindservice() broadcastintent() startactivity() 단순히 Activity 를호출하는 Method 결과를 return 받을필요가없는경우 startactivityforresult() Activity 호출에따라수행된결과를리턴해야할경우 26

명시적인텐트 *Activity 설명시추가한 Activity 를명시적인텐트를사용하여띄어보자! 1. 사용자로부터입력을받기위해 TextView 를 Button 으로바꾸고 id 값을지정한다. 수정 27

명시적인텐트 2. findviewbyid 메소드를사용하여 xml 파일에서사용한 Button 객체를생성한다. 3. ~Activity.java 파일에서버튼을클릭하였을때호출되는리스너를등록한다. 4. 버튼을클릭하였을때호출되는메소드 (onclick) 에인텐트를생성하고 startactivity 메소드를사용하여인텐트를전달한다. 28

명시적인텐트 결과화면 결과화면 버튼클릭시새로운엑티비티로전환됨 29

암시적인텐트 속성 ACTION_DIAL tel:01077881234 ACTION_VIEW tel:01077881234 ACTION_EDIT content://contacts/people/2 ACTION_VIEW content://contacts/people 설명 주어진전화번호를이용해전화걸기화면을보여줌 주어진전화번호를이용해전화걸기화면을보여줌. VIEW 액션이다른기능을수행함 전화번호부데이터베이스에있는정보중에서 ID 값이 2 인정보를편집하기위한화면을보여줌 전화번호부데이터베이스의내용을보여줌 30

암시적인텐트 암시적 Intent 생성 버튼클릭시전화거는화면으로전환됨 31

startactivityforresult() startactivityforresult() 사용의예 32

startactivityforresult() 의사용예 ~Activity.class Intent 가전달될때어떤곳에서전달된 Intent 인지구분하기위한상수값 명시적으로수행될 Activity 의 class 를지정함 버튼생성후, Intent 생성, startactivityforresult 로 Intent 전달 33

startactivityforresult() 의사용예 startactivityforresult 메소드가수행되고실행될 Activity 버튼생성후, Intent 생성생성된 Intent 를 setresult 메소드를사용하여호출한엑티비티로넘겨줌 생성한 Intent 에 name 이라는필드와 mike 라는값을 putextra 메소드를사용하여넣어줌 ( 이러한방식으로 Intent 에데이터를넣고엑티비티간의정보전달이가능 ) setresult(resultcode, Intent) ResultCode : 호출한엑티비티에게엑티비티의실행상태를넘겨주는값으로보통 RESULT_OK ( 성공 ) 또는 RESULT_CANCELED ( 실패 ) 값을넘겨준다. (RESULT_CANCELED, RESULT_OK 값은상수값으로미리정의되어있다.) 34

startactivityforresult() 의사용예 * 호출한엑티비티로부터 setresult 메소드가실행되면이를처리할수있도록기존의엑티비티에서자동으로처리해주는 callback 함수를등록해야한다.! 필요한함수재정의하는방법 ( 마우스오른쪽버튼클릭후다음과같이 Source->Override/Implement Methods 클릭 ) 35

startactivityforresult() 의사용예 재정의할메소드를체크한뒤 OK 버튼을클릭하면자동으로코드가추가됨 36

startactivityforresult() 의사용예 추가된메소드 ( 여기에필요한소스를추가하면됨, setresult 메소드실행시자동으로호출되는 callback 함수 ) 소스추가 requestcode 값확인 ( 어디서전달한 Intent 의엑티비티가 setresult 함수를호출했는지구분됨 ) resultcode 값확인보통 RESULT_OK 또는 RESULT_CANCLE 값을사용 Intent 에전달된값을화면에띄어줌 37

startactivityforresult() 의사용예 버튼클릭 돌아가는버튼클릭 (Intent 에값저장하여전달 ) ResultCode 와 intent 에저장한값을 Toast 를사용하여출력 38

질문 QnA 39