引用
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import android.graphics.Bitmap;
import android.os.Environment;
import android.util.Log;
/**
* 保存图片的类
*
*
*/
public class SaveBitmap {
private final static String CACHE = "/css";
/**
* 保存图片的方法 保存到sdcard
*
* @throws Exception
*
*/
public static void saveImage(Bitmap bitmap, String imageName)
throws Exception {
String filePath = isExistsFilePath();
FileOutputStream fos = null;
File file = new File(filePath, imageName);
try {
fos = new FileOutputStream(file);
if (null != fos) {
bitmap.compress(Bitmap.CompressFormat.PNG, 90, fos);
fos.flush();
fos.close();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 获取sd卡的缓存路径, 一般在卡中sdCard就是这个目录
*
* @return SDPath
*/
public static String getSDPath() {
File sdDir = null;
boolean sdCardExist = Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED); // 判断sd卡是否存在
if (sdCardExist) {
sdDir = Environment.getExternalStorageDirectory();// 获取根目录
} else {
Log.e("ERROR", "没有内存卡");
}
return sdDir.toString();
}
/**
* 获取缓存文件夹目录 如果不存在创建 否则则创建文件夹
*
* @return filePath
*/
private static String isExistsFilePath() {
String filePath = getSDPath() + CACHE;
File file = new File(filePath);
if (!file.exists()) {
file.mkdirs();
}
return filePath;
}
/**
* 获取SDCard文件
*
* @return Bitmap
*/
public static Bitmap getImageFromSDCard(String imageName) {
String filepath = getSDPath() + CACHE + "/" + imageName;
File file = new File(filepath);
if (file.exists()) {
Bitmap bm = BitmapFactory.decodeFile(filepath);
return bm;
}
return null;
}
}
分享到:
相关推荐
例如,Android Q(API级别29)引入了 scoped storage,限制了对SDCard的直接访问,此时你需要使用`MediaStore` API或者请求`MANAGE_EXTERNAL_STORAGE`权限来存取文件。 总之,Android应用可以通过适当地请求权限和...
在描述中提及的“Android数据存储(内置sdcard)案例1”,可能是一个实际的代码示例,展示了如何在内部存储中创建和读取文件。通常,我们可以使用`getFilesDir()`或`getCacheDir()`方法获取内部存储的文件路径,然后...
以下是对Android中使用File存取数据的详细解释: 1. **创建文件对象** 创建文件对象是操作文件的第一步。通过File类的构造函数,指定文件的路径和名称来实例化一个File对象。例如: ```java File file = new ...
在Android系统中,外部存储设备通常被称为SDCard(尽管它可能并不一定是物理的SD卡),是用户存储多媒体文件、应用数据和其他大文件的理想位置。本文将深入探讨如何在Android应用程序中将文件存放到SDCard,并提供...
本篇将详细介绍如何在Android中进行数据库的创建以及在SD卡上进行图片的存取操作。 首先,我们需要创建一个数据库。在Android中,通常我们会使用SQLiteOpenHelper这个抽象类的子类来帮助我们管理数据库的生命周期。...
具有快速构建文件缓存功能,无需考虑缓存文件的格式,都可以非常轻松的实现缓存,它还基于文件缓存模块实现了图片缓存功能, 在android中加载的图片的时候,对oom的问题,和对加载图片错位的问题都轻易解决。...
在Android系统中,了解手机内存状态以及SDCard(外部存储卡)的状态对于开发者和普通用户来说都至关重要。这有助于优化应用程序性能,管理存储空间,确保设备的流畅运行。以下是一些关于查看和理解这些状态的知识点...
(6) 图片缓存模块:imageview加载图片的时候无需考虑图片加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象。 (7) 配置器模块:可以对简易的实现配对配置的操作,目前配置文件可以支持Preference...
本话题将深入探讨如何在Android系统中利用SAX(Simple API for XML)解析XML文件,并将这些数据存取到SD卡上。 首先,让我们理解什么是SAX解析器。SAX是一种事件驱动的XML解析方法,它不创建整个XML文档树,而是...
具有快速构建文件缓存功能,无需考虑缓存文件的格式,都可以非常轻松的实现缓存,它还基于文件缓存模块实现了图片缓存功能, 在android中加载的图片的时候,对oom的问题,和对加载图片错位的问题都轻易解决。...
6. **SDCard存取** 访问SDCard需要在AndroidManifest.xml中声明相应的权限,如`<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">`。在进行读写前,需检查SDCard的状态,确保其已挂载且...
Android设备上的文件通常存储在以下几个主要目录中:`/data/data/<package_name>`(应用私有目录)、`/sdcard`(外部存储,用户可读写)、`/mnt`(挂载点)等。 **文件读取**: 在Android中,可以使用`java.io`和`...
在Android应用编程中,了解如何有效地管理数据存储是至关重要的。本教程主要涵盖了四种主要的数据存取方式:SharedPreferences、文件、SQLite数据库以及ContentProvider。这些方法各有特点,适用于不同的应用场景。 ...
Android模拟器入门(sdcard配置).pdf Android内核的简单分析.pdf Android数据存取之Preferences.pdf Android系统架构.pdf Android应用框架原理与程序设计.pdf Binder机制的各个部分.pdf Windows上建立AndRoid开发环境...
了解以上知识后,开发者可以灵活地在Android应用程序中管理和操作SD卡,实现文件的存取、备份、分享等功能。需要注意的是,不同的Android版本可能有不同的存储策略和权限管理,因此在编写代码时要考虑版本兼容性,...
4. 使用ln命令创建符号链接,将应用程序的数据目录链接到SD卡上,例如:`ln -s /data/app /sdcard/Android/data/`。 5. 重启手机,使用新安装的应用程序,检测是否可以正常运行。 在进行这些操作时,需要注意的是,...
其中,使用Android SDK中集成的ProGuard工具是常用的混淆手段之一,它能够有效地混淆Java代码。而“打乱功能代码的流程”和“通过Dalvik字节码加密”虽然也可以实现一定的混淆效果,但并不是标准的混淆手段。至于...
1. 将Android设备(如XT800)连接到电脑,设置USB连接模式为内存卡存取。 2. 电脑中会显示一个新的可移动磁盘,这是手机的SDCARD存储。 3. 在磁盘中创建一个新文件夹,如“software”,并把全球眼客户端软件拷贝到...