달력

5

« 2024/5 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
2012. 1. 16. 17:16

android 사진,동영상 선택 개발노트/Android2012. 1. 16. 17:16

private final int SELECT_IMAGE = 1;
private final int SELECT_MOVIE = 2;
// 이미지 선택
private void doSelectImage()
{
    Intent i = new Intent(Intent.ACTION_GET_CONTENT);
    i.setType("image/*");
    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    try
    {
        startActivityForResult(i, SELECT_IMAGE);
    } catch (android.content.ActivityNotFoundException e)
    {
        e.printStackTrace();
    }
}
 
// 동영상선택
private void doSelectMovie()
{
    Intent i = new Intent(Intent.ACTION_GET_CONTENT);
    i.setType("video/*");
    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    try
    {
        startActivityForResult(i, SELECT_MOVIE);
    } catch (android.content.ActivityNotFoundException e)
    {
        e.printStackTrace();
    }
}
 
@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent)
{
    super.onActivityResult(requestCode, resultCode, intent);
     
    if (resultCode == RESULT_OK)
    {
        if (requestCode == SELECT_IMAGE)
        {
            Uri uri = intent.getData();
            String path = getPath(uri);
            String name = getName(uri);
            String uriId = getUriId(uri);
            Log.e("###", "실제경로 : " + path + "\n파일명 : " + name + "\nuri : " + uri.toString() + "\nuri id : " + uriId);
        }
        else if (requestCode == SELECT_MOVIE)
        {
            Uri uri = intent.getData();
            String path = getPath(uri);
            String name = getName(uri);
            String uriId = getUriId(uri);
            Log.e("###", "실제경로 : " + path + "\n파일명 : " + name + "\nuri : " + uri.toString() + "\nuri id : " + uriId);
        }
    }
}
 
// 실제 경로 찾기
private String getPath(Uri uri)
{
    String[] projection = { MediaStore.Images.Media.DATA };
    Cursor cursor = managedQuery(uri, projection, null, null, null);
    int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
    cursor.moveToFirst();
    return cursor.getString(column_index);
}
 
// 파일명 찾기
private String getName(Uri uri)
{
    String[] projection = { MediaStore.Images.ImageColumns.DISPLAY_NAME };
    Cursor cursor = managedQuery(uri, projection, null, null, null);
    int column_index = cursor
            .getColumnIndexOrThrow(MediaStore.Images.ImageColumns.DISPLAY_NAME);
    cursor.moveToFirst();
    return cursor.getString(column_index);
}
 
// uri 아이디 찾기
private String getUriId(Uri uri)
{
    String[] projection = { MediaStore.Images.ImageColumns._ID };
    Cursor cursor = managedQuery(uri, projection, null, null, null);
    int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.ImageColumns._ID);
    cursor.moveToFirst();
    return cursor.getString(column_index);

'개발노트 > Android' 카테고리의 다른 글

게임 배경화면 처리  (1) 2011.03.23
Custom dialog  (1) 2011.03.20
애드몹  (0) 2011.03.07
ZXING 내앱에 맞게 커스터마이징중..  (2) 2011.02.23
:
Posted by windrises