태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

・인텐트(Intent)


지금까지... 그러니까 엑티비티에 관한 설명과 그에 따른 예제들은 단일 엑티비티, 즉 하나의 화면의 흐름을 확인해 왔다.
그러나 실제 어플리키이션이 단 하나만의 화면으로 구성되어 있을리는 ...... 아무리 생각 해봐도 없군. ㅡ,.ㅡ;;;
대부분의 경우는 복수의 화면을 가지고 있거나 서비스 등, 엑티비티 이외의 요소도 이용하는 형태로 되어 있을것일거...다...
이러한 요소는 각각 고유의 라이프 사이클을 가지고 있다. 각 요소간의 데이터 송수신이 스레드나 프로세스를 사용하거나 하게된다

인텐트는 이러한 요소들의 실행시에 동적으로 연결해주는 역할을 담당한다 (여기까지 쓰는데 뭐 이리 오타가 ㅡ,.ㅡ;;)
인텐트를 사용하는데 있어서 가장 기본적인 케이스로는, 엑티비티가 다른 엑티비티와 데이터를 주고받거나 하는 경우다(당연한건가?)

엑티비티가 다른 엑티비티나 서비스와 커뮤니케이션이 필요한때에는 커뮤니케이션을 하고싶은(데이터를 주거나 받고싶어하는)
엑티비티가 인텐트 오브젝트를 생성하여 인텐트를 송신하게 된다.

인텐트에는 「무엇을 하고싶은가」라는 의미를 표시하고 그 인텐트에는 인텐트를 받는 엑티비티의 정보등을 포함하게 된다
인텐트는 송신받는 엑티비티에 「하고싶은 무엇」이 실행될 적절한 타이밍에 송신된다

이 적절한 타이밍은 어플리케이션이 판단하는것이 아니라 시스템쪽에서 판단하게 된다.

어플리케이션(인텐트를 만들어 보내는 엑티비티)은 「무엇을 하고싶은가」라는것만 전달하면 되기때문에 세부구조나 정보등을 의식
하지 않아도 프로세스간 통신이 가능하게 된다.

바로 이것이 인텐트의 역할!!! 인거시다!!

・인텐트의 구조

이번에는 아주 간단하게 인텐트의 구조에 대해 후벼보고 끝내야 쓰것다

인테트는 원하는 처리를 하기위해 필요한 정보를 담고있다.
인텐트의 정보는 송신측의 오브젝트에서 명시적으로 설정하거나 시스템에의해 암시적으로 판단하여 값을 설정한다

예를들어 아래와 같은 처리를 인텐트에 넣는다면

・012-345-6789번에 전화를 걸고싶다
・안양시의 지도를 표시하고싶다
・ID가50번의 정보를 삭제하고 싶다

인텐트가 가지고 있는정보 중에서 중요한것은 액션과 데이터이다 . 위의 예에서 엑션과 데이터를 인텐트에 맵핑하면 아래와 같다

  데이터 부분                                         액션부분
012-345-6789                   에               전화를 걸고싶다
안양시의 지도                  를               표시하고 싶다
ID가 50번의 정보              를               삭제하고 싶다

이런식으로 데이터 부분과 액션부분을 매핑하게된다

.
.
.
.
.
.


인텐트는 글로써는 단순한 개념이지만 들고 팔수록 조낸 복잡하다. ㅡ,.ㅡ;;;; 간단하게 생각하면 간단할수도 ... 흠 ㅡ,.ㅡ;;

이번에는 간단하게 인텐트가 어떠한 개념인지 수박 겉핥기식으로 파악만 해보고 다음 포스팅부터 간단한 예제샘플을 하나 후벼보믄서
인텐트가 무엇인지 알아가도록 해보..아야 하지요 ㅡ,.ㅡ;;;

할수록 짤수록 어렵구나 안드로이드...... 내 머리를 안드로메다로 보내는구나 ㅡ,.ㅡ;;;


저작자 표시 비영리 변경 금지
신고
Posted by 무현군


티스토리 툴바