设置使用外部存储文件的路径ImageView的形象路径、形象、文件、ImageView

2023-09-08 08:41:00 作者:心之所向无非是你

您好我想用我已经保存在我的SQLite数据库的路径改变我的ImageView的形象。那么我想实现的就是这个运行每秒每当图像可以将显示并保持,直到下一个图像将可用。但是,将使用默认的图像,每当有没有显示在所有。但现在我想解决的主要问题是,我不能用我的路径设置ImageView的。我尝试了不同的解决方案,比如做一个位图从该路径,但仍收到相同的错误是: E / BitmapFactory:无法取消code流:java.io.FileNotFoundException:到/ mnt / SD卡/回声/图片/ Awesome4 - 00:01.jpg:打开失败:ENOENT(没有这样的文件或目录)

下面是我的code截至目前:

 字符串路径= db.getImagePath(FILE_NAME,CURTIME);

                            Log.v(你的图像文件名,FILE_NAME);
                            Log.v(你currentPosition,CURTIME);

                            Log.v(您所在位置播放编辑,路径);

                            尝试{
                                $p$pview.setImageURI(Uri.parse(Environment.getExternalStorageDirectory()+"/Echo/Images/"+file_name));
                            }赶上(例外五){
                                e.printStackTrace();
                                preview.setImageResource(R.drawable.sample_image);
                            }
 

这下运行,可运行的方法。而这里是我得到的logcat的:

  V /您所在位置:到/ mnt / SD卡/回声/图片/
V /你的图像文件名:Awe​​some4  -  00:01.jpg
V /你currentPosition 11:00:01
V /你的路径回放编辑:到/ mnt / SD卡/回声/图片/
E / BitmapFactory:无法取消code流:java.io.FileNotFoundException:到/ mnt / SD卡/回声/图片/ Awesome4  -  00:01.jpg:打开失败:ENOENT(没有这样的文件或目录)
我/的System.out:resolveUri没有坏的位图URI:到/ mnt / SD卡/回声/图片/ Awesome4  -  00:01.jpg
D / dalvikvm:GC_CONCURRENT释放380K,14%免费3067K / 3560K,暂停74ms + 3ms的,总226ms
V /你的图像文件名:Awe​​some4  -  00:02.jpg
V /你currentPosition:00:02
V /你的路径回放编辑:【4月6号至27号:14:07.691 6043:6043 E / BitmapFactory]
 到/ mnt / SD卡/回声/图片/ Awesome4  -  00:02.jpg:打开失败:ENOENT(没有这样的文件或目录)
 
如何在word2007中显示文档的全路径

解决方案   

检查这一点,如果它可以帮助你。

$p$pview.setImageURI(Uri.parse(Environment.getExternalStorageDirectory().getAbsolutePath()+"/Echo/Images/"+file_name));

  

这是我要做的事......

 公共最后静态字符串APP_PATH_SD_CARD =/ DesiredSubfolderName /;
公共最后静态字符串APP_THUMBNAIL_PATH_SD_CARD =缩略图;

公共布尔saveImageToExternalStorage(位图图像​​){
串FULLPATH = Environment.getExternalStorageDirectory()getAbsolutePath()+ APP_PATH_SD_CARD + APP_THUMBNAIL_PATH_SD_CARD。

尝试 {
文件DIR =新的文件(完整路径);
如果(!dir.exists()){
dir.mkdirs();
}

OutputStream的FOUT = NULL;
档案文件=新的文件(FULLPATH,desiredFilename.png);
file.createNewFile();
FOUT =新的FileOutputStream(文件);

// 100意味着没有COM pression,较低的你走了,越强的COM pression
image.com preSS(Bitmap.Com pressFormat.PNG,100,FOUT);
fOut.flush();
fOut.close();

MediaStore.Images.Media.insertImage(context.getContentResolver(),file.getAbsolutePath(),file.getName(),file.getName());

返回true;

}赶上(例外五){
Log.e(saveToExternalStorage(),e.getMessage());
返回false;
}
}
 

Hi I wanted to change the image of my ImageView using a path I have saved on my SQLite database. Well what I want to achieve is for this runs per second whenever the image is available it will show and stay until a next image will be available. But will use a default image whenever there is nothing to show at all. But for now the main problem I wanted to solve is that I can't set the imageView using the path I have. I tried different solutions such as making a bitmap out from the path but still receiving the same error which is: E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /mnt/sdcard/Echo/Images/Awesome4 - 00:01.jpg: open failed: ENOENT (No such file or directory)

Here's my code as of now:

String path = db.getImagePath(file_name, curTime);

                            Log.v("Your image filename", file_name);
                            Log.v("Your currentPosition", curTime);

                            Log.v("Your Path Playback edit", path);

                            try{
                                preview.setImageURI(Uri.parse(Environment.getExternalStorageDirectory()+"/Echo/Images/"+file_name));
                            }catch (Exception e){
                                e.printStackTrace();
                                preview.setImageResource(R.drawable.sample_image);
                            }

This runs under a runnable method. and Here's the logcat I get:

V/Your Path: /mnt/sdcard/Echo/Images/
V/Your image filename: Awesome4 - 00:01.jpg
V/Your currentPosition: 00:01
V/Your Path Playback edit: /mnt/sdcard/Echo/Images/
E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /mnt/sdcard/Echo/Images/Awesome4 - 00:01.jpg: open failed: ENOENT (No such file or directory)
I/System.out: resolveUri failed on bad bitmap uri: /mnt/sdcard/Echo/Images/Awesome4 - 00:01.jpg
D/dalvikvm: GC_CONCURRENT freed 380K, 14% free 3067K/3560K, paused 74ms+3ms, total 226ms
V/Your image filename: Awesome4 - 00:02.jpg
V/Your currentPosition: 00:02
V/Your Path Playback edit: [ 06-27 04:14:07.691  6043: 6043 E/BitmapFactory ]
 /mnt/sdcard/Echo/Images/Awesome4 - 00:02.jpg: open failed: ENOENT (No such file or directory)

解决方案

check this if it helps you.

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

that how i do it...

public final static String APP_PATH_SD_CARD = "/DesiredSubfolderName/";
public final static String APP_THUMBNAIL_PATH_SD_CARD = "thumbnails";

public boolean saveImageToExternalStorage(Bitmap image) {
String fullPath = Environment.getExternalStorageDirectory().getAbsolutePath() + APP_PATH_SD_CARD + APP_THUMBNAIL_PATH_SD_CARD;

try {
File dir = new File(fullPath);
if (!dir.exists()) {
dir.mkdirs();
}

OutputStream fOut = null;
File file = new File(fullPath, "desiredFilename.png");
file.createNewFile();
fOut = new FileOutputStream(file);

// 100 means no compression, the lower you go, the stronger the compression
image.compress(Bitmap.CompressFormat.PNG, 100, fOut);
fOut.flush();
fOut.close();

MediaStore.Images.Media.insertImage(context.getContentResolver(), file.getAbsolutePath(), file.getName(), file.getName());

return true;

} catch (Exception e) {
Log.e("saveToExternalStorage()", e.getMessage());
return false;
}
}