2017-01-26 7 views
1

Загружаю изображения из галереи в сетку, которые принадлежат объекту (Ejercicio), который я сохраняю в виде списка. Затем, когда я нажимаю элемент списка, я хочу загрузить все данные. Как я могу загружать изображения? Я хочу сохранить uri в ArrayList, а затем конвертировать эти URI в Bitmap, чтобы показать его в gridview.Загрузить изображения из uri

Теперь мой код это:

protected void onActivityResult(int requestCode, int resultCode, 
            Intent imageReturnedIntent) { 
     super.onActivityResult(requestCode, resultCode, imageReturnedIntent); 
     Uri selectedImageUri = null; 
     Uri selectedImage; 

     String filePath = null; 
     switch (requestCode) { 
      case SELECT_FILE: 
       if (resultCode == Activity.RESULT_OK) { 
        selectedImage = imageReturnedIntent.getData(); 
        if (requestCode == SELECT_FILE) { 
         if (selectedImage != null) { 
          InputStream imageStream = null; 
          try { 
           imageStream = getContentResolver().openInputStream(
             selectedImage); 
          } catch (FileNotFoundException e) { 
           e.printStackTrace(); 
          } 

          Bitmap bmp = BitmapFactory.decodeStream(imageStream); 

          imagenes.add(bmp); 
          imagenesUri.add(selectedImage); 
          adapter.notifyDataSetChanged(); 
         } 
        } 
       } 
       break; 
     } 
    } 

ответ

0

Наконец, я сохраняю URI как строку в БД, а затем снова преобразую эту строку в растровое изображение.

0

Для загрузки изображений из URI можно использовать, например, imageloader. https://github.com/nostra13/Android-Universal-Image-Loader

Я бы рекомендовал использовать recyclerview и сохранить загруженные изображения в простой кеш, как карта (url, bitmap): Map<String, Bitmap> images = new HashMap<>().

Если вы хотите, чтобы загрузить изображение в вашем recyclerview спросить кэш первого, если он уже загружен: images.containsKey(url)

В противном случае загрузки изображений с помощью imageloader.

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