Android 내장 메모리의 사진 정보 가져오기Android 내장 메모리의 사진 정보 가져오기

Posted at 2011.02.28 23:52 | Posted in About Programing/05. Android
크리에이티브 커먼즈 라이선스
Creative Commons License
AndroidManifest.xml 에서 Permission 설정




Main.java

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 mTitleArray;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        mTitleArray = new ArrayList();
        
        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();
    			}
    		}
    	}
    	
    }
}
저작자 표시 비영리 변경 금지
신고
  1. collin
    좋은 글 감사드립니다. 덕분에 고민하던 문제가 풀리기 시작했네요. ^^ 본문에 코드 중 SyntaxHighlighter 오류인지 ArrayList<string> 와 같이 String 이 string이라고 나와 있네요.
    • 2011.09.21 18:34 신고 [Edit/Del]
      도움이 되셨다니 다행입니다^^
      말씀하신 오타는 저도 수정하려고 노력 해보았습니다만,
      말씀하신데로 SyntaxHighlighter 오류인지 수정이 되질 않네요ㅠ
  2. 레브네인
    안녕하세요. 안드로이드 공부하다가 우연히 들리게 되었습니다.
    아직 초보라서 이해가 가지않는 부분이 많이 있는데.. 그중에서도 위의 소스코드중에
    가장 마지막에 </string></string> 이부분은 왜 넣는건가요?
  3. 에레시아
    정말 좋은정보 감사합니다^^;;
    한가지만 여쭤봐도 될까요? ㅎㅎ;
    값중에 해상도 값이 없는듯한데.. 혹시 알수 있을까요? ㅎㅎ;
  4. 솽솽
    관리자의 승인을 기다리고 있는 댓글입니다
  5. 초보
    관리자의 승인을 기다리고 있는 댓글입니다

Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기

티스토리 툴바