본문 바로가기

프로그래밍/안드로이드

[안드로이드/Android] 안드로이드 인텐트 - 1

[안드로이드] 안드로이드 인텐트 - 1

Activity 액티비티

인텐트 - 1                         ☞ 현재 보는곳

인텐트 - 2                        

Activity 간에 값 전달 하기


Intent (인텐트)
인텐트(Intent)의 사전적의미는
집중된, U 의지, 의향(intention);목적, 계획

머 이런 뜻인데 별로 도움이 되지 않습니다.

그럼 Intent 저는 이렇게 이야기 하고 싶네요. (다분히 개인적인 생각 입니다.)
 - 호출할 때 사용하는 객체

단순하게 설명하자면 인텐트는 개발자가 안드로이드에게 명령하여 호출할 수 있는 액션입니다.
호출되는 놈은 어떤놈이냐 하면 Activity, Service, BroadcastReceiver 등이 있습니다. 아직 배우지도 못한것들이 2개나 나왔네요 일단 무시 하도록 하지요. 추후에 아마 모두 배우실 겁니다.

인텐트에 대해 좀더 알고 싶으신분은 아래 링크를 통하면 자세히 살펴 보실수 있습니다.
http://developer.android.com/guide/topics/intents/intents-filters.html

1. 안드로이드 내장 인텐트
안드로이드에 기본적으로 탑재되어 있는 인텐트를 말하는 겁니다.
미리 전의된 인텐트를 보면 다음과 같은 것들이 있습니다. 실제로 그 외에도 너무나 많은 것들이 존재하니 반드시 문서를 참고 하시기 바랍니다.
 - 웹 브라우저를 띄우는 브라우저 어플리케이션
 - 전화번호를 불러오는 전화번호부 어플리케이션
 - 전화번호를 입력하여 UI를 통해 전화를 걸 수 있게끔 하는 어플리케이션



그외에도 많은 것들이 존재합니다.

간단한 예제를 통해서 살펴보도록 하지요.
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.google.com"));
Day02_01.this.startActivity(intent);

Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:053-456-7890"));
Day02_01.this.startActivity(intent);


2. 인텐트와 Data URI
이번에는 액션의 이름을 살펴 보도록 합시다. 위의 예제에서는 ACTION_DIAL, ACTION_VIEW도 액션이름 중의 하나입니다.

Intent intent = new Intent(Intent.ACTION_CALL);
  --> ACTION_CALL 이라는 이름을 가지고 있는 Intent를 호출해라..

intent.setData(Uri.parse("tel:053-456-7890"));
  --> 호출된 인텐트에다가 데이터를 추가해라. 매개변수로 넘어온 데이터는 URI를 참조하며 해당 URI는 다시 매개변소로 있는 String값 즉 전화번호를 참조하게 됩니다.

인텐트의 액션 부분은 문자열이거나 문자열 상수로, 보통 자바 패키지명이 앞에 붙게 됩니다. 데이터 부분은 항상 URI를 나타내는 문자열입니다. 이 URI형식은 그 액션에 의해 호출되는 액티비티마다 다를수도 있습니다.

3. 여러가지 Action들

Constant Target component Action
ACTION_CALL activity Initiate a phone call. (전화걸기)
ACTION_EDIT activity Display data for the user to edit.
 (편집 데이터 표시)
ACTION_MAIN activity Start up as the initial activity of a task, with no data input and no returned output.
최초 액티버티 시작, 반환값 없이
ACTION_SYNC activity Synchronize data on a server with data on the mobile device.
서버와모바일 데이터를 동기화 하라
ACTION_BATTERY_LOW broadcast receiver A warning that the battery is low.
베터리 부족 경고
ACTION_HEADSET_PLUG broadcast receiver A headset has been plugged into the device, or unplugged from it.
헤드셋 연결, 분리
ACTION_SCREEN_ON broadcast receiver The screen has been turned on.
스크린 켜졌다.
ACTION_TIMEZONE_CHANGED broadcast receiver The setting for the time zone has changed.
TimeZone이 바뀌었다.


출처 : http://developer.android.com/guide/topics/intents/intents-filters.html

위의 링크를 따라가 보면 아랫쪽에 보면 여러 말들이 나오게 되지만 그나마 자주쓰게되는(개인적으로) 놈을 쓴다라면 다음과 같다.
ACTION_VIEW - URI를 볼수 있게 해주는놈 . http: 는 브라우져, tel: 는다이얼러, geo: 는구글맵

Ex)
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(http://www.google.com));
activity.startActivity(intent);



Activity 액티비티

인텐트 - 1                         ☞ 현재 보는곳

인텐트 - 2                        

Activity 간에 값 전달 하기


덧글]

개발하시다가 온몸이 찌뿌둥하시면 아래 동영상을 따라 스트레칭을 한번하세요.


1. 목디스크 예방을 위한 목운동    ☞  http://jwandroid.tistory.com/192 

2. 손목터널증후군 손목스트레칭으로 예방합시다.     ☞  http://jwandroid.tistory.com/193

3. 개발자 여러분 허리를 세우세요 - 척추체조 1번     ☞  http://jwandroid.tistory.com/194

4. 개발자 여러분 허리를 세우세요 - 척추체조 2번     ☞  http://jwandroid.tistory.com/195

5. 개발자 여러분 허리를 세우세요 - 척추체조 3번     ☞   http://jwandroid.tistory.com/196

6. 개발자 여러분 허리를 세우세요 - 척추체조 4번     ☞  http://jwandroid.tistory.com/197