Хобрук: Ваш путь к мастерству в программировании

Установка растрового изображения для просмотра изображения из пути к файлу не работает

Я перепробовал почти все возможные способы установить изображение в image-view из сохраненного пути к файлу.

Ни один из них не работает. Изображения были выбраны из галереи в другом действии, а путь к изображению сохранен в базе данных.

Изображения имеют тип .jpg .jpeg .png

Пути к изображениям хранятся в базе данных с путями без каких-либо расширений

eg.  /external/storage/media/carimagename

когда я пытаюсь установить изображение на imageview, используя этот код, ошибки нет, но изображение не установлено.

for(int i=0;i<n;i++)
 {
 Bitmap pic = BitmapFactory.decodeFile(listview_arraypro1[i]);
 carpict.setImageBitmap(pic);

    /// File imgFile =new File("listview_arraypro1[i]");
    // carpict.setImageBitmap(BitmapFactory.decodeFile(imgFile.getAbsolutePath()));



          // Bitmap carpic = BitmapFactory.decodeStream(is);
          // carpic = Bitmap.createScaledBitmap(carpic, 72, 70, false); 

 }

Как я могу установить изображения с форматом пути /external/storage/media/carimagename в imageview?

Я использую следующее, чтобы получить путь к изображению в предыдущем действии

             Uri selectedImage = imageReturnedIntent.getData();

           String  selectedImagePath = selectedImage.getPath();

Я получаю неправильный путь от selectedImagePath?

это путь, который я получил, используя это, у которого не было mnt/sdcard

  private String getRealPathFromURI(Uri contentURI) {
    Cursor cursor = getContentResolver().query(contentURI, null, null, null, null);
    if (cursor == null) { // Source is Dropbox or other similar local file path
        return contentURI.getPath();
    } else { 
        cursor.moveToFirst(); 
        int idx = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA); 
        return cursor.getString(idx); 
    }
}



    File imageFile = new File(getRealPathFromURI(selectedImage));
           String path= imageFile.toString();

Ответы:


1

Главное, сначала вам нужно указать тип вашего изображения в пути к изображению...

И после этого вы можете получить, используя этот путь к изображению:

String img_path = "image will be with image type";       
Bitmap bmp= BitmapFactory.decodeFile(img_path);
ImageView iv= (ImageView)findViewById(R.id.img);
iv.setImageBitmap(bmp);

вы должны добавить разрешение на файл манифеста:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
27.08.2013
  • ни один из ответов не сработал :( Также попытался указать путь к изображению String img_path =/storage/sdcard0/Fbt/xylo.jpg; все еще не работает! 03.09.2013
  • вы добавили разрешение на это ?? 03.09.2013
  • я не поставил разрешения на чтение, теперь я тоже поставил, но все равно не работает 03.09.2013
  • давайте продолжим это обсуждение в чате 03.09.2013
  • я обновил вопрос, я получил правильный путь как /storage/sdcard0/Fleet/xylo.jpg с расширением не было корня /mnt/sdcard 03.09.2013
  • проблема была с самим изображением, когда я пробовал с другими изображениями, это сработало, но xylo.jpg не устанавливается, не знаю почему 04.09.2013

  • 2

    Взгляните на это.

    Вы можете использовать метод ImageView.setImageURI(..).

    preview.setImageURI(Uri.parse(Environment.getExternalStorageDirectory().getAbsolutePath()+"/Echo/Images/"+file_name));
    
    27.08.2013

    3
    Image paths stored in database with paths without any extensions
    

    Вам нужно указать тип изображения в пути. е. изображение.png

    Вы можете попробовать следующий пример.

    String imagePath = "your image path with image type";   //eg. /sdcard/img.PNG      
      Bitmap bitmap = BitmapFactory.decodeFile(imagePath);
      ImageView myImageView = (ImageView)findViewById(R.id.imageview);// your imageview
      myImageView.setImageBitmap(bitmap);
    
    27.08.2013
    Новые материалы

    Что такое структура данных?
    Структура данных хранит и извлекает данные. Все, что обеспечивает эти две функции, является структурой данных . Период. Вы можете пропустить оставшуюся часть статьи, если ответ..

    мои январские чтения по программированию
    Эрик Эллиот Программирование приложения JavaScript Эл Свейгарт «Автоматизируйте скучные вещи с помощью Python» Прогрессивное веб-приложение Google..

    Создание ассоциаций секвелизации с помощью инструмента командной строки Sequelize
    Sequelize - популярный, простой в использовании инструмент объектно-реляционного сопоставления (ORM) JavaScript, который работает с базами данных SQL. Довольно просто начать новый проект с..

    Искусственный интеллект в юридической отрасли - пример прогнозирования судебных решений с помощью глубокого обучения
    На протяжении всей истории люди полагались на суды, присяжных, королей и королев в отправлении правосудия. Сегодня способность судов обеспечивать справедливое и быстрое правосудие для своих..

    Введение в машинное обучение для обнаружения аномалий (часть 1)
    Тщательно созданный, тщательно спроектированный ресурс для специалистов по данным. Часть 1 Главы 03 из Руководства по машинному обучению для обнаружения аномалий Внимание! Прежде чем вы..

    Начало работы с Pulumi в Digital Ocean
    Цифровой океан (ДО) — отличная альтернатива многим другим поставщикам облачных услуг. DO предоставляет простой и понятный пользовательский интерфейс, упрощающий управление инфраструктурой и..

    #Day68 из #100days_of_coding
    Вчера был мой 68-й день кодинга. я решил один вопрос Проблема: Разбить двоичную строку на подстроки с равным количеством нулей и единиц Дана двоичная строка str длины N . Задача состоит..