2015-11-26 3 views
0

Используя следующий код, чтобы сохранить изображение в файловой системе и сохранить его путь в db, я хочу получить ту же фотографию с помощью пути к файлу БЕЗ запуска галереи для пользователя, чтобы выберите его. Все предложенные предложения iv требуют использования намерений, которые запускают галерею.Извлечение изображения из галереи с использованием пути к файлу

private void createDirectoryAndSaveFile(Bitmap imageToSave, String fileName) { 

File direct = new File(Environment.getExternalStorageDirectory() + "/DirName"); 

if (!direct.exists()) { 
    File wallpaperDirectory = new File("/sdcard/DirName/"); 
    wallpaperDirectory.mkdirs(); 
    } 

    File file = new File(new File("/sdcard/DirName/"), fileName); 
    if (file.exists()) 
     file.delete(); 
    try { 
     FileOutputStream out = new FileOutputStream(file); 
     imageToSave.compress(Bitmap.CompressFormat.JPEG, 100, out); 
     out.flush(); 
     out.close(); 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

} 

ответ

0

Если у вас есть путь уже, попробуйте:

File imgFile = new File("/sdcard/Images/sample_image.jpg"); 

if(imgFile.exists()){ 

    Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath()); 

    ImageView myImage = (ImageView) findViewById(R.id.imageviewTest); 

    myImage.setImageBitmap(myBitmap); 

} 
+0

@Please пометить его как ответ, если это помогает, спасибо –

0

вызов этого типа вашей функции, вы можете вернуть путь к файлу и используя этот путь к файлу, вы можете показать свое изображение в ImageView.

private String createDirectoryAndSaveFile(Bitmap imageToSave, String fileName) { 

    File direct = new File(Environment.getExternalStorageDirectory() + "/DirName"); 

    if (!direct.exists()) { 
     File wallpaperDirectory = new File("/sdcard/DirName/"); 
     wallpaperDirectory.mkdirs(); 
    } 

    File file = new File(new File("/sdcard/DirName/"), fileName); 
    if (file.exists()) 
     file.delete(); 
    try { 
     FileOutputStream out = new FileOutputStream(file); 
     imageToSave.compress(Bitmap.CompressFormat.JPEG, 100, out); 
     out.flush(); 
     out.close(); 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

    return file.getAbsolutePath(); 

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