Please Enable JavaScript!
Gon[ Enable JavaScript ]

반응형

안드로이드 Intent 를 사용하여 이미지,영상,전화번호부등 가져오기 (1) 


데이터를 가져오기 위해서 제공하는  액션에는 두가지가 있다. ACTION_PICK

ACTION_GET_CONTENT 가 그것입니다. 두가지 액션에는 차이가 있는데 호출하는

데이터정보가 다릅니다. 호출유형도 ACTION_PICK 는 데이터 실제주소

(URL:Uniform Resource Indenifer) 를 사용하며, ACTION_GET_CONTENT

데이터 유형 (mimeType) 를 사용합니다.

 

이미지, 영상등 여러 어플리케이션에서 사용하는 데이터는 ACTION_GET_CONTENT

사용하고 전화번호부처럼 특정 어플리케이션에서만 사용하는 데이터는 ACTION_PICK

해당 데이터주소로 바로 찾아가 데이터를 가져옵니다. 이것은 특별히 구분된 것이 아니므로

편한 것을 선택해서 사용하면 됩니다.

 

SDK 1.6 에서 전화번호 가져오기 예는 다음과 같습니다.


Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.setType(“vnd.android.cursor.item/phones”);
startActivityForResult(i, 0);

SDK 2.0 에서 ACTION_GET_CONTENT 를 사용해서 전화번호를 가져오는 예

// ACTION_GET_CONTENT 액션을 사용하는 함수
Intent i = new Intent(Intent. ACTION_GET_CONTENT); 
i.setType("vnd.android.cursor.item/phone_v2");
startActivityForResult(i, 0);

SDK 2.0 에서 ACTION_PICK 사용해서 전화번호 가져오는 예

Intent i = new Intent(Intent.ACTION_PICK); // ACTION_PICK 액션을 사용하는 예
i,setData(Uri.parse(“content://com.android.contacts/data/phones”));
startActivityForResult(i, 0);

먼저 안드로이드 내부 프로그램으로 Contacts 내용을 보기로 합시다. 전화기 아이콘을

하고 전화관련 화면이 탭형태로 되어있습니다


위 화면에서 Contacts 탭을 클릭합시다. 그러면 연락처 정보리스트가 나올것입니다.

지금까지 이야기한 소스는 위의 화면을 출력하기 위함입니다. 그러니까 Contacts

내용을 따로 화면을 만들지 않고 startActivityForResult 함수를 호출하여 내장프로그램으로

보여주게 되는것입니다. 아래는 위에서 언급한 코드를 실행한 결과입니다.

전화번호가 출력된 것이 좀 틀리죠.

전화번호 목록을 바로 화면에 호출한것처럼 여러 리소스들의 목록들을

Intent. ACTION_GET_CONTENT 값으로 가져올수 있는데 startActivityForResult 함수를

자신의 입맛에 맞게 수정하여 다양한 방식으로 데이터를 가져올수 있도록

예를 들어볼것이다 다음편에서 계속~~~

반응형
Posted by 녹두장군1
,