1.操作权限
<!-- SD卡写入 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.DELETE_CACHE_FILES" />
2.获取文件保存路径
// 获取保存路径
public File getFilePath() {
File filePath = null;
//判断SD卡存在与否
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
filePath = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+ "/A_Test/test/");
if (!filePath.isDirectory()) {//判断文件存在与否,不存在就创建
filePath.mkdirs();
}
} else {
Toast.makeText(Main.this, "存储卡不存在,请插入卡!", 3000).show();
}
return filePath;
}
3.获取图片保存路径
// 获得SD的路径
public String getSDPath() {
File sdPath = null;
if (Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED)) { // sd卡存在
sdPath = new File(Environment.getExternalStorageDirectory()
.getAbsolutePath()
+ File.separator + "mobileoa" + File.separator + "photo");// 获得路径
// sdPath = new File(Environment.getExternalStorageDirectory()
// .getAbsolutePath());// 获得根路径
}
return sdPath != null ? sdPath.toString() : "内存卡不存在!";
}
// 获得SDCard下图片的路径
private List<String> getSDCard() {
imagePaths = new ArrayList<String>();
try {
File file = new File(getSDPath());
File[] files = file.listFiles();
for (File theFile : files) {
if (isImageFile(theFile.getPath())) {
imagePaths.add(theFile.getPath());
}
}
} catch (Exception e) {
return imagePaths;
}
return imagePaths;
}
// 判断是否是图片文件
private boolean isImageFile(String fileName) {
String extension = fileName.substring(fileName.lastIndexOf(".") + 1,
fileName.length()).toLowerCase();
if (extension.equals("jpg") || extension.equals("png")
|| extension.equals("gif") || extension.equals("jpeg")
|| extension.equals("bmp")) {
return true;
}
return false;
}
分享到:
相关推荐
本知识点围绕标题“反射内存卡收发示例及常用API说明”展开,将详细介绍反射内存卡的工作原理、特点、发送和接收流程以及常用API。 首先,反射内存卡具备以下基本特征:具有128MB的板载内存,4k的FIFOs,传输模式...
6. **内存卡操作**:在USER目录下的代码可能包含具体的内存卡读取和写入函数,如读取扇区、写入扇区等,这些都是通过底层的SPI或SDIO协议实现的。 7. **内存管理**:MALLOC目录可能包含了一些内存分配和释放的函数...
描述中提到的"反射内存卡收发示例及常用API说明"很可能是对如何在Windows环境下配置和使用反射内存卡的详细指南。这些API通常包括创建和管理反射内存网络、分配和访问共享内存区、以及处理网络事件等功能。 文件名...
其中,DOM(Document Object Model)是较为常用的一种方法,它可以将整个XML文档加载到内存中,并提供API进行操作。 #### 二、Java DOM解析XML文件关键步骤 ##### 1. 导入必要的包 在使用Java处理XML文件时,首先...
以上就是关于“单片机SD卡MP3源代码”的相关知识点,涵盖了单片机编程、文件操作、音频解码、硬件接口等多个方面,这些都是构建一个单片机MP3播放器所必需的关键技术。通过深入理解和实践这些知识,开发者能够实现...
本教程将深入探讨如何利用ContentProvider来扫描内存卡上的所有音频文件。通过ContentProvider,我们可以高效地实现对设备存储中音乐文件的检索,而无需直接访问文件系统,这样既符合Android的沙盒安全机制,又能...
4. **文件系统接口**:由于与SD卡交互,源代码中会有文件系统的操作函数,如打开、关闭、读取和写入文件。 5. **错误处理和调试**:源代码应包含充分的错误检查和异常处理机制,以便在遇到问题时能及时恢复或报告。...
视频资料通常会提供实际操作的演示,包括配置STM32的SPI接口、编写SD卡初始化代码、读写扇区的步骤,以及如何处理可能出现的问题。代码及资料部分可能包含完整的驱动代码示例,帮助开发者理解并实现SD卡驱动。 通过...
1. **API调用**:API调用是通过VB代码直接与操作系统内核进行通信的方式。这通常涉及到动态链接库(DLL)中的函数调用,如kernel32.dll或user32.dll。 2. **GetAdapterInfo函数**:在Windows系统中,可以使用...
它负责初始化硬件,如CPU、内存、外设,并最终加载操作系统映像到内存中执行。S3C2440的启动代码主要分为两个阶段:ROM Bootloader和用户自定义Bootloader。 1. **ROM Bootloader**:在S3C2440芯片内部,集成了一小...
5. **文件系统**:如果涉及到读写文件,还需要理解FAT(File Allocation Table)文件系统,它是SD卡常用的文件管理系统,用于组织和查找文件。 6. **错误处理**:在程序中加入适当的错误检查和处理机制,以应对可能...
3. **内存管理策略**:了解手机的操作系统如何管理内存也很重要。例如,Android和iOS系统都有自己的内存管理机制,会自动清理不再使用的应用程序以释放内存。用户也可以通过设置调整这些策略,比如关闭自动后台刷新...
5. **内核源代码**:内核源代码是操作系统的核心部分,它包含调度器、内存管理、设备驱动、文件系统等核心组件。阅读和理解内核源代码对于操作系统开发者和高级系统程序员来说是必要的技能。 6. **开源驱动**:开源...
它可以涉及硬盘驱动器、SSD、USB闪存盘、内存卡等存储设备。 2. **C语言基础**:C语言是一种强大的、低级别的编程语言,被广泛用于系统编程,如操作系统、编译器和数据恢复工具。它的效率高、灵活性强,适合处理...
本资源提供的源代码正是为了满足这一需求,帮助开发者实现对SD卡的高效读写操作。下面将详细阐述相关知识点。 1. **Windows CE 操作系统**:Windows CE是一种面向小型、嵌入式设备的操作系统,由微软公司开发,它...
其中,读取SD卡的代码尤为关键,因为SD卡是嵌入式系统常用的存储介质。ZLGFS通过适配不同的硬件接口,如SPI或SDIO,实现对SD卡的访问,确保数据的可靠存取。在源代码中,我们可以看到如何进行扇区级别的读写操作,...
STM32是一款基于ARM Cortex-M内核的微控制器,广泛应用于嵌入式系统设计,而SD卡(Secure Digital Card)则是常用的存储设备,用于扩展系统的存储容量。在STM32中实现SD卡功能,需要理解以下几个关键知识点: 1. **...
SD卡(Secure Digital Card)则是常用的存储设备,被广泛应用在数码相机、手机、便携式媒体播放器等设备上。将SD卡与AVR单片机结合,可以实现数据的存储和读取,为小型电子项目提供大容量的数据存储解决方案。 本...
操作系统概述部分提到,操作系统是管理计算机硬件和软件的核心程序,它负责内存管理、文件系统、网络操作、任务调度以及输入输出设备的控制。操作系统为用户提供与系统交互的界面,如图形用户界面。在中国的桌面操作...