안드로이드 개발 질문/답변
(글 수 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 조건이나 뽑아낼 컬럼을 지정하게 되어 있습니다.