把文件放入SD卡
使用Activity的openFileOutput()方法保存文件,文件是存放在手机空间上,一般手机的存储空间不是很大,存放些小文件还行,
如果要存放像视频这样的大文件,是不可行的。对于像视频这样的大文件,我们可以把它存放在SDCard。
SDCard是干什么的?你可以把它看作是移动硬盘或U盘。
在模拟器中使用SDCard,你需要先创建一张SDCard卡(当然不是真的SDCard,只是镜像文件)。创建SDCard可以在Eclipse创建模拟器时随同创建,也可以使用DOS命令进行创建,如下:
在Dos窗口中进入android SDK安装路径的tools目录,输入以下命令创建一张容量为2G的SDCard,文件后缀可以随便取,建议使用.img:
mksdcard 2048M D:\AndroidTool\sdcard.img
在程序中访问SDCard,你需要申请访问SDCard的权限。
在AndroidManifest.xml中加入访问SDCard的权限如下:
<!-- 在SDCard中创建与删除文件权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!-- 往SDCard写入数据权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
要往SDCard存放文件,程序必须先判断手机是否装有SDCard,并且可以进行读写。
注意:访问SDCard必须在AndroidManifest.xml中加入访问SDCard的权限
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
File sdCardDir = Environment.getExternalStorageDirectory();//获取SDCard目录
File saveFile = new File(sdCardDir, “a.txt”);
FileOutputStream outStream = new FileOutputStream(saveFile);
outStream.write("test".getBytes());
outStream.close();
}
Environment.getExternalStorageState()方法用于获取SDCard的状态,如果手机装有SDCard,并且可以进行读写,那么方法返回的状态等于Environment.MEDIA_MOUNTED。
Environment.getExternalStorageDirectory()方法用于获取SDCard的目录,当然要获取SDCard的目录,你也可以这样写:
File sdCardDir = new File("/sdcard"); //获取SDCard目录
File saveFile = new File(sdCardDir, "itcast.txt");
//上面两句代码可以合成一句: File saveFile = new File("/sdcard/a.txt");
FileOutputStream outStream = new FileOutputStream(saveFile);
outStream.write("test".getBytes());
outStream.close();
Environment.MEDIA_MOUNTED // sd卡在手机上正常使用状态
Environment.MEDIA_UNMOUNTED // 用户手工到手机设置中卸载sd卡之后的状态
Environment.MEDIA_REMOVED // 用户手动卸载,然后将sd卡从手机取出之后的状态
Environment.MEDIA_BAD_REMOVAL // 用户未到手机设置中手动卸载sd卡,直接拨出之后的状态
Environment.MEDIA_SHARED // 手机直接连接到电脑作为u盘使用之后的状态
Environment.MEDIA_CHECKINGS // 手机正在扫描sd卡过程中的状态
在做android开发对sd操作时,最好是sd卡处于Environment.MEDIA_MOUNTED状态时,对sd卡上的文件进行操作,其他状态不宜进行操作。
分享到:
相关推荐
### Android平台上SDCard的自动mount的解决方法 在Android设备中,SDCard(Secure Digital Card)作为外部存储介质被广泛使用。为了使Android系统能够自动识别并挂载SDCard,需要进行一系列配置与调试工作。本文将...
在Android系统中,由于安全性和隐私保护的考虑,对应用程序访问外部存储卡(SDcard)的权限有着严格的控制。在Android 6.0(API级别23)之后,系统引入了运行时权限管理机制,应用需要在运行时请求访问SDcard的权限...
这时,就需要了解如何打开并修改安卓模拟器的`sdcard.img`文件。`sdcard.img`文件是Android模拟器中代表SD卡的镜像文件,它包含了模拟器SD卡的所有数据。下面我们将详细探讨如何处理这个文件以及相关的工具。 1. **...
在Android系统中,外置SDCard(也称为外部存储)是设备上用于扩展存储空间的区域,用户可以在这个空间上存储各种数据,如媒体文件、应用程序数据等。本篇文章将详细探讨如何在Android应用中实现对外置SDCard的读取、...
SDcard接口是移动存储设备,如手机、相机和多媒体播放器等广泛使用的标准。它允许设备与SD(Secure Digital)存储卡进行数据交换。本文将深入探讨SDcard接口的协议、时序图及相关知识点。 首先,我们需要理解SDcard...
标题中的"TI_SDCard_boot_utility_v1_0.exe"是一个特定的程序,由TI(Texas Instruments)公司开发,用于SD卡的启动和管理。这个工具可能是一个实用程序,帮助用户格式化、初始化或者配置SD卡以供特定的TI处理器或微...
在Android开发中,外部存储(通常称为SDcard)是用于扩展设备存储空间的重要部分。本文将深入探讨如何检测Android系统是否支持SDcard,并在SDcard上创建并写入文件,主要涉及的技术点包括Android的存储权限、SDcard...
### Android中SDCard的读写操作详解 #### 一、SDCard访问概述 在Android开发过程中,对于外部存储(如SDCard)的读写是非常常见的需求。本文将详细介绍如何在Android应用中对SDCard进行读写操作,包括获取缓存目录...
### Android获取SDCard信息详解 在Android开发中,获取SDCard的信息是一项常见需求,尤其是在需要监控存储空间、读写文件等场景下。本文将详细解析如何在Android应用中获取SDCard的状态、总容量、可用容量以及如何...
在Android平台上,对SDCard(外部存储)进行文件操作是应用程序与用户交互的重要部分,尤其对于需要存储大量数据或媒体文件的应用来说。本教程将详细解释如何在Android中读写SDCard文件,非常适合初学者入门。 首先...
step 3:检测sdcard中mana文件夹下是否有test.txt文件,如果有则读取文件内容,如果没有则从assets中把test.txt文件拷贝到sdcard的mana文件夹下,然后读取sdcard中的test.txt文件内容。 step 4:把文件内容显示到...
这篇内容将详细讲解如何在手机内存以及SDCard(外部存储)上进行数据存储,并提供了一段经过封装的代码,方便开发者直接应用于实际项目。 首先,我们要了解Android提供的几种数据存储方式。它们包括: 1. **Shared...
预置一些文件到系统sdcard目录
在Android平台上,开发人员经常需要处理用户存储在外部存储设备(如SDCard)上的数据,尤其是图片文件。本文将深入探讨如何从SDCard读取图片并将其显示在Gallery组件中,以及实现点击Gallery中的图片后全屏显示的...
在Android平台上,对SDCard(外部存储)进行文件读写是常见的操作,尤其对于需要存储用户数据或资源的应用来说更是必不可少。本实例将探讨如何在Android应用中实现SdCard的读写功能。 首先,我们需要了解Android对...
如何在 android 模拟器中使用SDCard
Sdcard(Secure Digital Card)是Android设备常用的外部存储器,用于存放大量的非敏感数据,如媒体文件、应用缓存等。本篇文章将深入探讨Android如何在Sdcard上进行数据存储,并通过一个简单的示例来说明。 首先,...
其中SD卡(Secure Digital Card,简称SDCard)在Android设备中主要用作存储扩展,它可以用来存放各种数据文件,比如图片、音乐和视频等。在Android模拟器中模拟SD卡的使用主要包含以下几个方面知识点: 首先,了解...
在Android系统中,获取SDCard(外部存储)的内存信息是开发者经常遇到的任务,这有助于管理应用程序的存储需求,比如保存用户数据、缓存文件或者下载内容。标题提到的"Android解析如何获取SDCard内存项目源代码"显然...