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 |