2010-08-20 1 views
2

Я хотел бы знать, как получить предварительно сохраненное изображение из галереи, а затем отобразить его на экране. Любые учебники/полезные ссылки и информация будут оценены. Если вы хотите, чтобы я объяснил больше, спросите пожалуйста.Как получить изображения из галереи и отобразить их на экране в android sdk

ответ

5
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK); 
photoPickerIntent.setType("image/*"); 
startActivityForResult(photoPickerIntent, 1); 

Этот Intent используется, чтобы выбрать изображения с SD карты и использовать onActivityResult() для ПОЛУЧИТЬ изображения и отображения изображения в ImageView.

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
super.onActivityResult(requestCode, resultCode, data); 
switch (requestCode) { 
case 1: 
{ 
    if (resultCode == RESULT_OK) 
    { 
    Uri photoUri = data.getData(); 
    if (photoUri != null) 
    { 
    try { 
      String[] filePathColumn = {MediaStore.Images.Media.DATA}; 
      Cursor cursor = getContentResolver().query(photoUri, filePathColumn, null, null, null); 
    cursor.moveToFirst(); 
int columnIndex = cursor.getColumnIndex(filePathColumn[0]); 
String filePath = cursor.getString(columnIndex); 
cursor.close(); 
Bitmap bMap = BitmapFactory.decodeFile(filePath); 
image.setImageBitmap(bMap); 

}catch(Exception e) 
    {} 
    } 
} 
} 
} 

теперь мы получаем chossed изображение из галереи, а затем установить изображение в ImageView . Вот image.setImageBitmap(bMap); установите изображение в ImageView.

+2

Вы всегда должны проверить, действительно ли курсор.MoveToFirst может быть выполнен или вы получите исключение, если не было возвращено ни одного носителя: if (cursor.moveToFirst()) {main code} – mishkin

Смежные вопросы