Intent
- 서로 다른 Activity끼리 호출하기 위한 통신장치. 
- Activity 뿐만 아니라 Service, Broadcast Receiver, Content Provider 등의 컴포넌트가 수행해야 할 작업에 대한 정보를 가지며 작업 결과를 돌려주기 위해서 사용.

    명시적 Intent
       - 호출할 Activity의 정보를 가지고 있는 Intent
    암시적 Intent
       - 호출할 Activity의 정보는 가지고 있지 않으며, 의도만으로 Activity 실행.(전화걸고싶다.)
       - 어떤 Activity가 실행될지 미리 알 수 없다.
       - 주로 다른 응용 프로그램의 컴포넌트를 호출할 때 사용.
       - 운영체제에 Intent의 정보를 참조해 호출할 컴포넌트를 검색하는 알고리즘이 작성 돼 있으며, 시스템은 적절한 컴포넌트를 찾기 위해 설치된 모든 응용 프로그램의 컴포넌트를 조사.
         -> 때문에 manifest에 activity, service 등의 컴포넌트 정보를 가급적 상세하게 밝혀놓아야 함.
       - 암시적 Intent 처리
         1. Intent의 해당 action처리 가능해야 한다.
         2. activity에서 지정된 MIME 타입이 처리 가능해야 한다.
         3. activity에서 Intent에 지정된 모든 분류를 처리 가능해야 한다.
         = 컴포넌트가 자신이 처리 가능한 인텐트의 종류를 시스템에서 알수 있도록!

Activity를 호출하는 method
void startActivity (Intent intent)

Intent 생성자
Intent()
Intent(Intent o)
Intent(String action[, Uri uri])
Intent(Context packageContext, Class<?> cls)
Intent(String action, Uri uri, Context packageContext, Class<?> cls)

ex ) Intent intent = new Intent(this, play.class);
      startActivity(intent);



IntentsFilters
- 컴포넌트가 자신이 처리 가능한 Intent를 안드로이드 시스템에 알리는 것.
- AndroidManifest.xml에 입력.


intent를 구성하는 항목, 정보.
ACTION
- 데이터 항목을 어떻게 처리할지에 관한 내용
- 작업이라고 볼 수 있음.
- action을 조사하거나 변경 : getAction, setAction method사용.
시스템이 제공하는 표준 동작
ACTION_CALL                           : ACTIVITY - 통화시작.
ACTION_EDIT                            : ACTIVITY - 데이터 표시, 편집
ACTION_MAIN                           : ACTIVITY - 메인 액티비티 실행. 입출력 데이터 없음
ACTION_VIEW                           : ACTIVITY - 뭔가를 보여줌
ACTION_DIAL                            : ACTIVITY - 전화를 건다.
ACTION_BATTERY_LOW             : BR - 배터리 부족
ACTION_HEADSET_PLUG           : BR - 헤드셋 장비에 접속하거나 분리됨
ACTION_SCREEN_ON                 : BR - 화면이 켜짐
ACTION_TIMZONE_CHANGED     : BR - 타임존이 변경됨.

Data
- 동작에 필요한 상세 데이터 제공.
- 작업거리라고 볼 수 있음.
- action의 목적 (예 : ACTION_CALL - 누구에게 전화를 걸 것인가.)
- 목적이 되는 대상이 광범위 하기 때문에 임의의 대상을 유일하게 가르킬 수 있는 URI타
입 (URI : URL과 로컬 저장 장치의 파일 경로, 주소록의 레코드 하나까지도 유일하게 저장할 수 있는 범용적인 포맷)
- 데이터를 액세스 할 때 : getData, setData method이용
(action과 data를 이용한 정보 : ~에 대해 ~동작)

Type
- 대게 자동으로 판별 가능.
- http:// ~ 웹페이지. tel:~ 전화번호
- 타입이 애매하거나 자동 판별을 신뢰할 수 없는 경우라면 getType, setType method로 데이터의 MIME타입을 직접 지정.
- 호출자가 타입을 직접 지정하면 운영체제는 더 이상 자동 판별을 시도하지 않고 지정된 타입을 따름.

Category
- addCategory method : 카테고리 추가.
- removeCategory method : 카테고리 삭제
- LUNCHER로 입력 : 안드로이드 메인 배경화면에 표시.
- DEFAULT나 ALTERNATIVE로 입력 : 런쳐로 표시되지 않는 activity

component
- Intent를 처리할 컴포넌트를 명시적으로 지정.

Extras
- 키와 값의 쌍으로 저장돼 컴포넌트에게 전달되며 리턴 용도로도 사용.
- 저장되는 정보 타입에 따라 putExtra method가 여러 벌 오버로딩 돼 있으며 읽기 메서드는 읽는 타입에 따라 getIntExtra, getStringExtra

Flags
- Activity를 띄울 방법이나 Activity를 관리하는 방법 등에 대한 옵션 정보 저장.
- setFlag method : 플래그 전체를 대입
- addFlags method : 특정 플래그 추가

'안드로이드' 카테고리의 다른 글

MediaPlayer  (0) 2011.07.19
Activity Cycle  (0) 2011.07.12
startActivityForResult()  (0) 2011.07.12
9.png  (0) 2011.07.12
android의 gravity와 layout_gravity  (0) 2011.07.12
일반 png파일
- 안드로이드에서 원래 크기대로 보여주거나 혹은 강제로 크기 조절하여 표현. (예 : icon)

9.png 파일
- 원래 크기가 아닌 정해놓은 규격에 맞춰서 비율을 변형시켜서 표현 가능
- 부분변형.
- 이미지의 크기 변형 가능, 해당 이미지에 들어가는 컨텐츠의 크기 표현 가능
- 이미지 변경 후 저장 -> 9.png지만 일반 png파일로 인식.

'안드로이드' 카테고리의 다른 글

MediaPlayer  (0) 2011.07.19
Activity Cycle  (0) 2011.07.12
startActivityForResult()  (0) 2011.07.12
Intents and IntentsFilters  (0) 2011.07.12
android의 gravity와 layout_gravity  (0) 2011.07.12

동일한 효과를 내는 경우도 있지만, 적용되는 곳이 확실히 다름.

android:gravity 속성
- View 안의 내용물의 정렬 지정

android:layout_gravity 속성
- View 자체의 정렬 상태 지정
- View와 레이아웃 사이에 남는 여백이 조금이라도 있어야 확인 가능.


center_horizontal : 수평 중앙
left                     : 컨테이너 왼쪽 배치
right                   : 컨테이너 오른쪽 배치
fill_horizontal       : 수평방향으로 가득 채움
center_vertical     : 수직으로 중앙 배치
top                     : 컨테이너 상단 배치
bottom                : 컨테이너 하단 배치
fill_vertical          : 수직방향으로 가득 채움
center                : 수평으로나 수직으로 중앙에 배치
fill                      : 컨테이너를 가득 채우도록 수직, 수평 크기를 확장



'안드로이드' 카테고리의 다른 글

MediaPlayer  (0) 2011.07.19
Activity Cycle  (0) 2011.07.12
startActivityForResult()  (0) 2011.07.12
Intents and IntentsFilters  (0) 2011.07.12
9.png  (0) 2011.07.12

+ Recent posts