안드로이드 개발 질문/답변
(글 수 45,052)
package com.eg.giver;
import java.util.ArrayList;
import android.app.Activity;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.MediaStore.Images;
public class Main extends Activity
{
ArrayList<string> mTitleArray;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mTitleArray = new ArrayList<string>();
getImages ();
}
public void getImages ()
{
Cursor mManagedCursor;
mManagedCursor = getContentResolver().query(Images.Media.EXTERNAL_CONTENT_URI , null, null, null, null) ;
if(mManagedCursor != null)
{
mManagedCursor.moveToFirst();
int nSize = mManagedCursor.getColumnCount();
while (true)
{
String bucket_display_name =
mManagedCursor.getString(
mManagedCursor.getColumnIndex(
Images.ImageColumns.BUCKET_DISPLAY_NAME)); // 버킷의 이름
String bucket_id =
mManagedCursor.getString(
mManagedCursor.getColumnIndex(
Images.ImageColumns.BUCKET_ID)); // 버킷 ID
String date_taken =
mManagedCursor.getString(
mManagedCursor.getColumnIndex(
Images.ImageColumns.DATE_TAKEN)); // 촬영날짜. 1/1000초 단위
String description =
mManagedCursor.getString(
mManagedCursor.getColumnIndex(
Images.ImageColumns.DEscRIPTION)); // Image에 대한 설명
String is_private =
mManagedCursor.getString(
mManagedCursor.getColumnIndex(
Images.ImageColumns.IS_PRIVATE)); // 공개 여부
String latitude =
mManagedCursor.getString(
mManagedCursor.getColumnIndex(
Images.ImageColumns.LATITUDE)); // 위도
String longitude =
mManagedCursor.getString(
mManagedCursor.getColumnIndex(
Images.ImageColumns.LONGITUDE)); // 경도
String mini_thumb_magic =
mManagedCursor.getString(
mManagedCursor.getColumnIndex(
Images.ImageColumns.MINI_THUMB_MAGIC)); // 작은 썸네일
String orientation =
mManagedCursor.getString(
mManagedCursor.getColumnIndex(
Images.ImageColumns.ORIENTATION)); // 사진의 방향. 0, 90, 180, 270
String picasa_id =
mManagedCursor.getString(
mManagedCursor.getColumnIndex(
Images.ImageColumns.PICASA_ID)); // 피카사에서 매기는 ID
String id =
mManagedCursor.getString(
mManagedCursor.getColumnIndex(
Images.ImageColumns._ID)); // 레코드의 PK
String data =
mManagedCursor.getString(
mManagedCursor.getColumnIndex(
Images.ImageColumns.DATA)); // 데이터 스트림. 파일의 경로
String title =
mManagedCursor.getString(
mManagedCursor.getColumnIndex(
Images.ImageColumns.TITLE)); // 제목
String size =
mManagedCursor.getString(
mManagedCursor.getColumnIndex(
Images.ImageColumns.SIZE)); // 파일의 크기
String mime_type =
mManagedCursor.getString(
mManagedCursor.getColumnIndex(
Images.ImageColumns.MIME_TYPE)); // 마임 타입
String display_name =
mManagedCursor.getString(
mManagedCursor.getColumnIndex(
Images.ImageColumns.DISPLAY_NAME)); // 파일 표시명
String date_modified =
mManagedCursor.getString(
mManagedCursor.getColumnIndex(Images.ImageColumns.DATE_MODIFIED)); // 최후 갱신 날짜. 초단위
String date_added =
mManagedCursor.getString(
mManagedCursor.getColumnIndex(
Images.ImageColumns.DATE_ADDED)); // 추가 날짜. 초단위
mTitleArray.add(title);
if (mManagedCursor.isLast())
{
break;
}
else
{
mManagedCursor.moveToNext();
}
}
}
}
}</string></string>숙신님께서 만드신 사진의 상세정보 가져오는 소스입니다. 소스는 sd카드 내의 전체 사진의 쿼리를 받아오는 소스입니다만.
제가 지정한 한장의 사진에 대한 상세정보를 가져올려면 어떻게 해야하는지 조언좀 드리고 싶습니다.
sname <- 이라는 경로에 제가 뽑을 사진의 경로가 들어있습니다.
들어있는 사진경로 : /mnt/sdcard/BabyStory/잭_s/D2_130117-06202022641731_s.png
mManagedCursor = getContentResolver().query(Images.Media.EXTERNAL_CONTENT_URI , null, null, null, null) ;
요 부분을 sname 어떻게 배치하면 될꺼 같은대 도저히 안되네요..
도움좀 부탁드려요. 혹은 다른 방식으로 촬영날짜 뽑아낼수 있는법이 있으시면 부탁드립니다.




query 에 where 조건이나 뽑아낼 컬럼을 지정하게 되어 있습니다.