在设置ImageView资源的时候,这时的图片是来自SD卡,查看API很容易就会看到view.setImageUri(Uri u)这个函数。所以一般会这样写:
ImageView view = (ImageView)findViewById(...);
File file = new File(path);
Uri uri = Uri.from(file);
view.setImageUri(uri);
但是这样做是不行的,因为setImageUri这个函数使不能读取SD卡中的文件的,只能读取手机本身的文件。
所以改用以下这种方式:
Bitmap bit = BitmapFactory.decodeFile("/sdcard/image/test.jpg"); //自定义//路径
iv.setImageBitmap(bit);
用这种方式的时候,如果图片太大,很可能会出现这样的bug:
Java.lang.OutOfMemoryError : bitmap size exceeds VM budget
解决方法是:
FileInputStream f = new FileInputStream(path);
Bitmap bm = null;
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 8;//图片的长宽都是原来的1/8
BufferedInputStream bis = new BufferedInputStream(f);
bm = BitmapFactory.decodeStream(bis, null, options);
view.setImageBitmap(bm);
分享到:
相关推荐
例如,使用LruCache作为内存缓存,将图片保存到SD卡或应用内部存储作为磁盘缓存。 7. **错误处理和占位符**: 当图片加载失败时,可以显示默认图片或者错误提示。同时,可以提供一个占位符图片,在图片加载过程中...
在加载SD卡上的图片时,需要确保有读取外部存储的权限,即在`AndroidManifest.xml`中添加`<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />`。此外,可以使用`Environment....
在Android开发中,有时我们需要将从网络下载的图片存储到SD卡中,然后在应用程序运行时直接从SD卡加载这些图片以节省流量和提高用户体验。本文将详细介绍如何在Android控件中直接显示SD卡上的图片。 首先,让我们...
在Android开发中,读取SD卡上的图片并实现图片轮播是一项常见的需求,尤其是在构建一个应用的启动页、相册或者任何需要展示多张图片的场景。本篇将详细讲解如何实现这一功能。 首先,我们需要了解Android对SD卡的...
在Android系统中,加载SD卡中的图片是一项常见的任务,尤其对于那些需要展示用户本地存储照片的应用来说至关重要。本文将深入探讨如何在Android中有效地加载SD卡中的图片,并提供相关的技术细节和最佳实践。 首先,...
- `ImageView`:每个图片通常会包装在一个`ImageView`中,`ImageView`可以使用上述的图片加载库来设置图片资源。 4. 权限管理: 自Android 6.0(API级别23)起,运行时权限成为强制性的。访问SD卡上的文件需要...
glide 和 picasso 是两个常用的选择,它们可以方便地加载、缓存和显示网络以及本地资源(包括SD卡上的图片)。在这个项目中,我们可以选择其中一个来实现图片的加载。 1. **图片加载库**: - Glide:Glide以其...
本项目专注于实现从网络请求图片并将其保存到设备的外部存储(通常称为SD卡),同时在应用界面中展示这些图片。下面我们将深入探讨这个过程中的关键知识点。 1. **Android权限管理**: 在Android 6.0(API级别23)...
文件缓存将图片存储在设备的外部存储(通常是SD卡)上,即使应用关闭,图片依然可以被快速访问。文件缓存是内存缓存的一种补充,因为内存资源有限,而磁盘空间相对较大。通常在内存中找不到图片时,会从文件缓存中...
这个项目提供了这样的功能实现,包括扫描SD卡上的图片、在GridView中展示这些图片、在图片上添加复选框(checkbox)、设置最多可选择的图片数量、预览所选图片以及通过相机拍照选择新图片等。 1. **图片扫描**:在...
文件缓存通常将图片保存在设备的外部存储(如SD卡)或者内部存储中,这样即使应用关闭,下次打开时仍能快速获取。文件缓存需要考虑如何有效地查找和清理过期的图片文件,避免占用过多磁盘空间。 4. **ImageView的...
在Android平台上,开发人员经常需要处理读取外部存储设备(如SD卡)上的资源,特别是图片文件。这个“安卓读取SD卡图片Demo”提供了一个实际应用案例,演示了如何在Android应用程序中实现这一功能。下面我们将详细...
一种是直接将图片资源嵌入到应用中,另一种则是将图片放在SD卡上,并在应用运行时读取。通常推荐的做法是将图片资源嵌入到应用中,因为这样做既安全又方便。将图片放入资源文件夹可以让应用在不同设备上运行时自动...
在Android开发中,高效地加载图片对于提升用户体验至关重要,尤其是当图片存储在SD卡上时。ContentProvider是一种标准的机制,用于在不同应用程序之间共享数据。在这个场景中,我们将探讨如何利用ContentProvider来...
在Android平台上,开发人员经常需要实现从外部存储设备(如SD卡)中读取图片的功能。这个需求在很多应用场景中都很常见,例如制作相册应用或者进行图片展示。本篇文章将详细讲解如何在Android 2.1-update1及更高版本...
Android提供了Environment类的getExternalStorageDirectory()方法来获取外部存储(通常是SD卡)的根目录,然后遍历指定的图片文件夹。 ```java File externalStorageDir = Environment.getExternalStorageDirectory...
Android提供了SQLite数据库、内部存储和外部存储(SD卡)等方式。此项目可能使用了内部存储或外部存储的一个子目录来保存图片文件,以便下次加载时直接从本地读取,减少网络请求。 4. **ImageView显示图片时的淡入...
在Android开发中,"Gallery从SD卡中获取图片,并显示.rar"这个资源包提供了一个示例,演示了如何从外部存储(通常是SD卡)中读取图片并展示在Gallery组件中。Gallery是Android SDK中一个旧版的图像浏览控件,用户...
此外,图片的保存路径`ImagePath()`应该是根据你的应用需求来定义的,通常是在外部存储(外部SD卡)的特定目录下,需要确保你有写入外部存储的权限。例如: ```java public static String ImagePath() { return ...
在Android开发中,"Gallery从SD卡中获取图片,并显示.zip"这个项目涉及到的是如何在应用程序中实现一个图片浏览功能,允许用户从设备的外部存储(通常为SD卡)选择并展示图片。以下是对这个主题的详细解释: 1. **...