안드로이드 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 함수를
자신의 입맛에 맞게 수정하여 다양한 방식으로 데이터를 가져올수 있도록
예를 들어볼것이다 다음편에서 계속~~~
'안드로이드 개발' 카테고리의 다른 글
Android(안드로이드) 에서 탭을 구현할 때 탭별 색상변경과 아이콘 넣어 디자인 하기 (5) | 2010.08.13 |
---|---|
안드로이드(Android) SurfaceView 를 이용하여 터치로 이미지 이동시키기 (22) | 2010.08.13 |
Canvas 를 이용해서 화면에 이미지 확대, 축소, 변경하기 (8) | 2010.08.10 |
안드로이드 디자인 색상표 ARGB 값을 알아볼수 있는 플래쉬 파일 (0) | 2010.08.09 |
안드로이드에서 단위테스트를 위한 Junit 사용하기 (1) (5) | 2010.08.07 |
안드로이드에서 단위테스트를 위한 Junit 사용하기 (2) (0) | 2010.08.07 |
안드로이드에서 단위테스트를 위한 Junit 사용하기 (1) (1) | 2010.08.07 |
안드로이드 (android) 플러그인과 SDK 가 업데이트 에러 날 때 (1) | 2010.08.04 |