Intent.

Slides:



Advertisements
Similar presentations
Android Application. 최신버전 안드로이드 SDK 설치 1. SDK 설치 접속.
Advertisements

Information Security 경기대학교 김희열. Cloud Computing Security 보안 관련 뉴스.
Android 소개.  스마트폰의 의미  손 안의 PC 혹은 스마트폰은 모바일 인터넷 단말기이다.  과거 일부 비즈니스 계층과 얼리 어댑터의 전유물에서 최근 일반 대중의 생활로 빠르게 확산 됨.  세계 최초의 스마트폰은 1992 년 COMDEX 에서 IBM 이.
Avaya one-X & SBM2401A Button Module : KOREAN Update Manual (96xx IP Phone)
10장. 시기별 학급경영 11조 염지수 이 슬 권용민 신해식.
일본 근세사. (1) 에도막부의 개창 ( ㄱ ) 세키가하라의 전투 (1600) - 히데요시의 사후 다섯 명의 다이로 ( 大老 ) 가운데 최대 영지 (250 만석 ) 를 보유하고 있던 도쿠가와 이에야스가 급부상. 이에 이에야스와 반목해 온 이시다 미쓰나리 ( 石田三成 ),
Tel. 02)  동화 새롭게 바라보기 1 박명옥 ( 호곡중학교 )
안드로이드 (Android) 발표자 : 이강민. 1. 안드로이드란 ? 구글에서 제작한 모바일 디바이스를 위한 플랫폼 ▫ 모바일 디바이스 플랫폼이란 ?  모바일 디바이스를 위한 소프트웨어 집합 ( 미들웨어, 키 어플리케이션, 운영체제 등 ) 2. 모바일 플랫폼 시장 점유율.
아니마 / 아니무스 송문주 조아라. 아니마 아니마란 ? 남성의 마음속에 있는 여성적 심리 경향이 인격화 한 것. 막연한 느낌이나 기분, 예견적인 육감, 비합리적인 것에 대 한 감수성, 개인적인 사랑의 능력, 자연에 대한 감정, 그리.
대구가톨릭대학교 체육교육과 06 학번 영안중학교 체육교사 신웅섭 반갑습니다. 반야월초등학교 축구부 대륜중학교 축구부 대륜고등학교 대구가톨릭대학교 차석 입학 대구가톨릭대학교 수석 졸업 2014 년 경북중등임용 체육 차석 합격 영안중학교 체육교사 근무 소개.
일장 - 1 일 24 시간 중의 명기 ( 낮 ) 의 길이 ( 밤은 암기, 낮은 명기 ) 광주기성 - 하루 중 낮의 길이의 장단에 따라 식물의 꽃눈 형성이 달라지는 현상 일장이 식물의 개화현상을 조절하는 중요한 요인 단일식물 - 단일조건에서 개화가 촉진되는 식물 장일식물.
2 학년 6 반 1 조 고은수 구성현 권오제 김강서.  해당 언어에 본디부터 있던 말이나 그것에 기초하여 새로 만들어진 말  어떤 고장 고유의 독특한 말  Ex) 아버지, 어머니, 하늘, 땅.
모자보호시설 경주 애가원 학번 : 05V0081 이름 : 황 주영. 기관 소개 사회복지법인 자선단 산하 경주애가원은 1957 년 4 월 6 일 ‘ 경주모자원 ’ 이란 이름으로 한국전쟁 미망인의 생계유지 및 자립을 지원, 현재 조소득 모자세대의 기본적인 생계수준을 보장하고.
Data : 조원 : 손정일 김태양 Unlocking android chapter.4 Intent&Service.
Unlocking Android 인텐트 (Intent) 2 Unlocking Android 인텐트 클래스 활용 3.
근로기준법 (임금체불, 해고 및 주40시간제).
2014년도 교원 및 기간제교사 성과상여금 전달교육 개 회 국기에 대한 경례 - 인사말
내가 설계하는 인문학강의 이미지를 통해서 보는 음식 인문학
선진 고양교육 “유아교육 행정 업무 연수” 유치원 회계실무 및 유아학비 연수 경기도고양교육청.
해외서, 국내서 요약 ‘북집’ 모바일 서비스 이용방법
좋은 강의 국제관계학과 정연식.
묵자 겸애, 비명, 비공, 상현, 상동, 천지, 명귀, 삼표 법.
CHAP 10. 액티비티와 인텐트.
내 아이를 위한 구강관리.
14주차 1교시 강화계획 [학습목표] 1. 강화계획의 정의를 안다 [학습내용] 1. 단순한 강화계획 2. 간헐적 강화 3. 복합 계획 4. 선택과 대응법칙 [사전학습] 강화계획이 일어날 수 있는 사례를 생각해본다.
○ 본 강의 자료는 이지스퍼블리싱(주)에서 제공하는 강의 교안입니다.
제16장 원무통계 • 분석 ☞ 통계란 특정의 사실을 일정한 기준에 의하여 숫자로 표시한 것을 말한다.통계로서 활용할 수 있는 조건으로는 ① 동질성을 지녀야 하고 ② 기준이 명확하고 ③ 계속성이 지속되어야 하며 ④ 숫자로 표시하여야 한다 경영실적의.
서울지방세무사회 부가세 교육 사진클릭-자료 다운 세무사 김재우.
Python Bottle Web Framework
치매의 예방 김 은민 윤금 노인요양원 치매의.
제1강 안드로이드 특징과 개발환경 구축 안드로이드 앱 개발 강좌.
화면(UI) 기반 도메인모델 작성 2014년 8월.
Java로 배우는 디자인패턴 입문 Chapter 20. Flyweight 동일한 것을 공유해서 낭비를 없앤다
‘新조리 시스템’ B/M 일본병원급식 연수 참가 앙청의 건
Sun Java System Web Server 6.1 설치와 WebLogic 8.1과의 연동
Intent.
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
마산에 대하여 만든이 : 2204 김신우, 2202 권성헌.
Network Security WireShark를 활용한 프로토콜 분석 II.
제 7절 학교조직의 특성 남민경 박소라 한상미.
BIZSIREN 실명확인서비스 개발 가이드 서울신용평가정보㈜ 신용조회부 (TEL , FAX )
게임엔진 1차 발표 배승열.
모바일 운영 체제 구글의 안드로이드 애플의 iOS 마이크로소프트의 윈도폰 8 RIM의 블랙베리 OS
대안교육과 대안학교 [ 공 연 의 상 학 과 ] 고은경 김남희 송예민 이초희 장혜경.
국가근로장학생 근무 지침 교육
톡톡 튀고, 개성 넘치는 우유팩으로 새롭게 꾸며봐요!
컴퓨터 소프트웨어 설계 및 실험 년 1학기 실험계획 -.
CHAP 13. 서비스와 방송 수신자.
9 스푸핑.
안드로이드 서비스.
삼안 인트라넷 메뉴얼.
측정과 척도 경영학과 최동훈 소프트웨어학부 유제민 경영학과 정지송
BC카드 위기극복 사례연구 BC조 서상호 임대륜 장지은 정샘.
6장 마케팅 조사 박소현, 김중호, 박기찬.
자바 5.0 프로그래밍.
한밭대학교 창업경영대학원 회계정보학과 장 광 식
Intent.
음양오행과 물리학 조 원 : 김용훈, 양범길, 박수진, 윤진희, 이경남, 박미옥, 박지선 (11조)
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
9 스푸핑.
안드로이드 앱 분석 팀 기반의 설계 프로젝트 박민재
이야기 치료에 대하여 <8조 학문적 글쓰기 발표> 주희록 최은지
동계성수기 예약 신청서 강원도 춘천시 남산면 북한강변길 688 엘 리 시 안 강 촌
주요공지로 정할 글을 올립니다. 제목과 주소를 복사해둡니다
▶서류관리 프로그램 1. 로그인….2 2. 서류등록 … 서류도착 서류스티커발행
주식기준보상 개정 (K-IFRS 제1102호) 금융감독원 회계제도실.
컴퓨터 소프트웨어 설계 및 실험 2016년 1학기 실험계획.
DataScience Lab. 박사과정 김희찬 (화)
중국문학개론 한부와 겅건안문학 중어중국학과 ㅇ이진원 한부와 건안문학.
11월 고등부 공과설교 업드림? 업드림! 갈라디아서 6:9-10.
Presentation transcript:

Intent

목차 Intent Intent를 이용해 Activity 띄우기 Activity간 통신 Intent Filter Intent Resolution

Intent 어떠한 액션이 수행되어야 한다는 의향을 선언할 수 있도록 해주는 메시지 전달 메커니즘

do something YourActivity Intent 용도 새 Activity를 명시적으로 시작 새 Activity를 암시적으로 시작 시스템 전역에 메시지를 방송 … do something YourActivity Android Intent(do something) Intent(do something) Intent(result) Intent(result) YourActivity MyActivity

Intent를 이용해 Activity 띄우기 startActivity(myIntent) myIntent 오픈할 클래스를 명시적으로 지정 혹은 수행되어야 하는 대상인 액션을 포함 myIntent에 가장 필적할 액티비티 하나를 찾아 시작시킴 새로 띄운 액티비티가 종료될 때 아무런 메시지를 전달하지 않음 startActivityForResult 새로 띄운 Activity가 종료될 때 메시지 전달

startActivity Android YourActivity MyActivity … do something YourActivity Android startActivity(intent) onCreate(intent) YourActivity MyActivity

startActivityForResult & setResult … do something YourActivity Android Intent(do something) startActivityForResult(intent,reqCode) onCreate(intent) Intent(result) setResult(resultCode, intent) onActivityResult(reqCode, resultCode,intent) MyActivity YourActivity

Intent를 이용해 Activity 시작하기 명시적으로 시작(Explicit intent)

Intent를 이용해 Activity 시작하기 암시적으로 시작(Implicit intent) 안드로이드는 지정된 데이터 타입에 대한 액션 수행에 가 장 적합한 클래스로 그 Intent를 런타임에 해결함 빌려 사용하는 기능이 어떤 애플리케이션의 것인지 미리 정확히 알지 않아도 다른 애플리케이션에 있는 기능을 사 용하는 프로젝트 작성 가능

Activity간의 통신 Intent는 액티비티간에 인수와 리턴 값을 전달하 는 도구로도 사용된다. Bundle 타입의 Extras를 활용하여 이름과 값의 쌍 으로 된 임의 타입의 정보를 원하는 개수만큼 전달 할 수 있다. Intent putExtra(String name, int value) Intent putExtra(String name, String value) Intent putExtra(String name, boolean value) name은 전달하는 인수에 대한 이름이 중복되지 않으면 자유롭게 붙일 수 있다.

Activity간의 통신(2) Extras에 저장된 값들은 아래의 메서드로 꺼낸다. Int getIntExtra(String name, int defaultValue); String getIntExtra(String name); boolean getIntExtra(String name, boolean defaultValue);

통신 예제 – CommActivity.java

통신 예제 - ActEdit.java

activity_commactivity.xml activity_actedit.xml

통신 예제

통신 예제

Action 실행하고자 하는 동작이며 Intent를 통해 어떤 작 업을 수행할 지를 지정한다. 액션 설명 ACTION_CALL 통화를 시작한다. ACTION_EDIT 데이터를 표시하고 편집한다. ACTION_MAIN 메인 엑티비티를 실행한다. 입출력되는 데이터는 없다. ACTION_VIEW 가장 일반적인 액션으로, Intent의 URI에 제공된 데이터가 가장 합리적인 방법으로 보여지도록 요청한다. ACTION_DIAL 인텐트의 URI에 지정된 번호로 전화를 걸 수 있도록 번호를 미리 눌러놓는다.

Data 동작에 필요한 상세 데이터를 제공한다. 전화걸기 액션의 경우 ‘tel:010xxxxxxx’ 홈페이지 이동 액션의 경우 ‘http://주소’ 단독 액션의 경우 별도의 Data가 필요없으나 대부 분의 액션은 목적어가 필요하며 이 목적어에 해당 하는 정보가 Data이다. ex) ACTION_CALL에 대해서 누구에게 전화를 걸 것인지 를 지정

액션 예제 – CallOther.java

액션 예제 – activity_callother.xml

액션 예제 - 실행결과

Intent Filter Android는 요청을 서비스하기 위해 사용할 애플 리케이션이 어떤 것인지 어떻게 알까? Activity, Service, Broadcast receiver를 특정한 종류의 데 이터에 대한 액션을 수행할 수 있는 존재로 등록하는데 사용 애플리케이션 컴포넌트는 Intent Filter를 통해 다른 컴포넌 트로부터의 액션 요청을 서비스할 수 있음을 Android에 알 림 Manifest파일의 intent-filter 태그를 이용함

Intent Filter 하위 엘리먼트 action - 서비스되는 액션의 이름 android:name 속성 이용 category - 액션이 서비스되는 상황 조건 지정 속성 설명 ALTERNATIVE 이 액션이 데이터 타입의 항목에 대해 수행되는 기본 액션에 대한 대안으로 사용될 수 있어야 함을 지정 ex) 연락처의 기본 액션은 해당 연락처를 보여주는 것, 대안은 편집, 삭제 SELECTED_ALTERNATIVE 가능한 것들의 리스트가 필요할 때 DEFAULT Intent Filter에 의해 정의된 데이터 값에 대한 기본 액션. 명시적 인텐트를 이용해 띄어지는 액티비티 HOME 장치가 시작될 때 맨 처음 표시되는 액티비티 LAUNCHER 선택되어 지정된 어떤 데이터도 없이 액티비티를 런치함

Intent Filter 하위 엘리먼트(2) data – 컴포넌트가 실행할 수 있는 데이터에 대한 명세를 지정할 수 있게 함 속성 설명 android:host 유효한 호스트의 이름을 지정 ex) google.com android:mimeType 컴포넌트가 다룰 수 있는 데이터의 종류를 지정 android:path URI를 위한 유효한 경로 값을 지정한다 android:port 지정된 호스트를 위한 유효한 포트를 지정 android:scheme ex) content, http

Intent Filter 등록 예

Intent Resolution startActivity에 암시적 인텐트를 전달하면 해석 과 정을 거쳐 보통 하나의 Activity가 결정됨 지정된 데이터에 대해 주어진 액션을 수행할 수 있 는 Activity가 여러 개 존재하는 경우, 이들 중 최 적의 Activity를 찾는다.

Intent Resolution 과정(1) 1. 설치된 패키지로부터 사용 가능한 모든 Intent Filter들의 리스트를 구성 2. 확인 중인 Intent와 연관된 액션이나 범주에 맞 지 않는 Intent Filter를 리스트에서 제거 1) action match는 Intent Filter가 지정된 액션을 포함하 고 있거나, 아무런 액션도 지정되지 않은 경우에 이루어 진다. 2) category match의 경우 모든 category에 일치해야함

Intent Resolution 과정(2) 3. Intent에 있는 데이터 URI의 각 부분이 Intent Filter의 data 태그(MIME, scheme, host/권한, path) 와 비교한다. 1) MIME 타입은 *을 이용하여 하위 타입 매치 가능 2) scheme은 URI의 프로토콜 부분 ex) http:, tel: 3) host/권한은 URI에서 scheme과 path사이에 있는 부분 ex) www.google.com 4) path는 host뒤에 오는 부분이다. ex) /ig 4. 암시적으로 Activity를 실행시킬 때, 위의 과정들로 부터 하나 이상의 컴포넌트들이 해석되는 경우에는 해 당하는 모든 컴포넌트들이 사용자에게 제공됨