首先需要获得安卓的根目录:
public String getSDPath(){ File sdDir = null; boolean sdCardExist = Environment.getExternalStorageState() .equals(android.os.Environment.MEDIA_MOUNTED); //判断sd卡是否存在 if (sdCardExist) //如果SD卡存在,则获取跟目录 { sdDir = Environment.getExternalStorageDirectory();//获取跟目录 } return sdDir.toString(); } public void saveToSDCard(String filename,String content) throws Exception{ String sdkPath = getSDPath(); if(sdkPath == null) return; File file=new File(sdkPath, filename); OutputStream out=new FileOutputStream(file); out.write(content.getBytes()); out.close(); } public boolean couldWrite(){ String sdkPath = getSDPath(); if(sdkPath == null) return false; return true; }
获得权限
<!-- 在SDCard中创建于删除文件的权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!-- 往SDCard中写入数据的权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!-- 往SDCard中写入数据的权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
下面对Environment 类 常量进行讲解一下:
MEDIA_BAD_REMOVAL
解释:返回getExternalStorageState() ,表明SDCard 被卸载前己被移除
MEDIA_CHECKING
解释:返回getExternalStorageState() ,表明对象正在磁盘检查。
MEDIA_MOUNTED
解释:返回getExternalStorageState() ,表明对象是否存在并具有读/写权限
MEDIA_MOUNTED_READ_ONLY
解释:返回getExternalStorageState() ,表明对象权限为只读
MEDIA_NOFS
解释:返回getExternalStorageState() ,表明对象为空白或正在使用不受支持的文件系统。
MEDIA_REMOVED
解释:返回getExternalStorageState() ,如果不存在 SDCard 返回
MEDIA_SHARED
解释:返回getExternalStorageState() ,如果 SDCard 未安装 ,并通过 USB 大容量存储共享 返回
MEDIA_UNMOUNTABLE
解释:返回getExternalStorageState() ,返回 SDCard 不可被安装 如果 SDCard 是存在但不可以被安装
MEDIA_UNMOUNTED
解释:返回getExternalStorageState() ,返回 SDCard 已卸掉如果 SDCard 是存在但是没有被安装
解释:返回getExternalStorageState() ,表明SDCard 被卸载前己被移除
MEDIA_CHECKING
解释:返回getExternalStorageState() ,表明对象正在磁盘检查。
MEDIA_MOUNTED
解释:返回getExternalStorageState() ,表明对象是否存在并具有读/写权限
MEDIA_MOUNTED_READ_ONLY
解释:返回getExternalStorageState() ,表明对象权限为只读
MEDIA_NOFS
解释:返回getExternalStorageState() ,表明对象为空白或正在使用不受支持的文件系统。
MEDIA_REMOVED
解释:返回getExternalStorageState() ,如果不存在 SDCard 返回
MEDIA_SHARED
解释:返回getExternalStorageState() ,如果 SDCard 未安装 ,并通过 USB 大容量存储共享 返回
MEDIA_UNMOUNTABLE
解释:返回getExternalStorageState() ,返回 SDCard 不可被安装 如果 SDCard 是存在但不可以被安装
MEDIA_UNMOUNTED
解释:返回getExternalStorageState() ,返回 SDCard 已卸掉如果 SDCard 是存在但是没有被安装
Environment 常用方法
方法:getDataDirectory()
解释:返回 File ,获取 Android 数据目录。
方法:getDownloadCacheDirectory()
解释:返回 File ,获取 Android 下载/缓存内容目录。
方法:getExternalStorageDirectory()
解释:返回 File ,获取外部存储目录即 SDCard
方法:getExternalStoragePublicDirectory(String type)
解释:返回 File ,取一个高端的公用的外部存储器目录来摆放某些类型的文件
方法:getExternalStorageState()
解释:返回 File ,获取外部存储设备的当前状态
方法:getRootDirectory()
解释:返回 File ,获取 Android 的根目录
解释:返回 File ,获取 Android 数据目录。
方法:getDownloadCacheDirectory()
解释:返回 File ,获取 Android 下载/缓存内容目录。
方法:getExternalStorageDirectory()
解释:返回 File ,获取外部存储目录即 SDCard
方法:getExternalStoragePublicDirectory(String type)
解释:返回 File ,取一个高端的公用的外部存储器目录来摆放某些类型的文件
方法:getExternalStorageState()
解释:返回 File ,获取外部存储设备的当前状态
方法:getRootDirectory()
解释:返回 File ,获取 Android 的根目录
获取手机内存相关
StatFs 类
StatFs 一个模拟linux的df命令的一个类,获得SD卡和手机内存的使用情况
StatFs 常用方法:
getAvailableBlocks()
解释:返回 Int ,获取当前可用的存储空间
getBlockCount()
解释:返回 Int ,获取该区域可用的文件系统数
getBlockSize()
解释:返回 Int ,大小,以字节为单位,一个文件系统
getFreeBlocks()
解释:返回 Int ,该块区域剩余的空间
restat(String path)
解释:执行一个由该对象所引用的文件系统
getAvailableBlocks()
解释:返回 Int ,获取当前可用的存储空间
getBlockCount()
解释:返回 Int ,获取该区域可用的文件系统数
getBlockSize()
解释:返回 Int ,大小,以字节为单位,一个文件系统
getFreeBlocks()
解释:返回 Int ,该块区域剩余的空间
restat(String path)
解释:执行一个由该对象所引用的文件系统
相关推荐
来获取内置SD卡的路径,但是每款定制过的android 系统的外置SD卡的路径都不一样,那我们怎么才能去获取这个路径呢,我们可以想其它的办法,我这里提供了一个类可以获取外置SD卡或内置SD卡的 label(名称),path(路径)...
在Android系统中,SD卡(Secure Digital Card)是常见的外部存储设备,用于扩展手机或平板电脑的存储空间。SD卡序列号是每张SD卡特有的一个唯一标识符,由制造商在生产时分配,通常用于验证卡的身份和合法性。在某些...
本文将详细讲解如何在Android的WebView中加载并显示SD卡上的图片,以及如何解决自Android 4.4(KitKat)版本后出现的WebView无法直接访问SD卡图片的问题。 首先,我们需要理解Android 4.4引入的安全限制。从KitKat...
在Android系统中,由于安全和隐私的考虑,访问外部存储(即外置SD卡)的权限在不同的Android版本中有着不同的处理方式。在早期版本中,应用可以相对自由地访问外部存储,但在Android 6.0(API级别23)及更高版本中,...
在Android系统中,获取SD卡或TF卡(外部存储卡)以及内置存储卡的路径是开发者经常遇到的任务,尤其在处理文件操作时。本示例提供了优化的方法,以提高读取速度,这对于处理大量数据或者频繁访问存储卡的应用至关...
在Unity引擎中,开发者经常需要访问设备的外部存储空间,比如外置SD卡,以便存储游戏数据、资源或用户产生的内容。本篇文章将详细介绍如何在Unity应用中获取外置SD卡的路径,并结合PicoVR SDK,实现适用于VR场景的...
### Android内部存储与SD卡存储详解 #### 一、Android内部存储概述 在Android开发过程中,数据存储是一项非常重要的功能。对于大多数应用来说,选择合适的数据存储方式是至关重要的。Android提供了多种数据存储的...
在Android平台上,开发一个能列出SD卡上所有音乐文件并实现播放功能的应用是常见的需求。这个"Android sd卡音频文件列表显示+歌曲播放"的Demo就是为此目的设计的。它结合了文件系统操作、UI设计以及媒体播放技术,是...
在Android系统中,SD卡(Secure Digital Card)是设备存储扩展和数据交换的重要媒介,它为应用程序提供了额外的存储空间,以保存用户数据、媒体文件或其他应用相关资源。本篇文章将详细探讨Android平台上SD卡的文件...
本文将深入探讨安卓内存、CPU、SD卡以及内置存储的使用率,以及如何通过应用程序进行查询。 首先,我们来了解一下这些关键组件: 1. **内存(RAM)**:在安卓系统中,内存主要指的是随机存取内存,用于暂时存储...
在安卓(Android)系统中,SD卡(Secure Digital Card)被广泛用于扩展设备的存储空间,以便用户存储照片、视频、音乐和其他大型文件。对于开发者来说,理解和掌握如何在源码层面使用SD卡进行开发至关重要。这篇...
### Android SD卡存储数据 #### 知识点一:Android应用权限管理 在Android系统中,应用程序如果想要访问外部存储(如SD卡)必须在`AndroidManifest.xml`文件中声明相应的权限。对于写入外部存储的操作,需要声明...
在Android系统中,读取和存储SD卡是应用程序与外部存储交互的重要部分,尤其是在处理大量数据或者需要离线可用内容时。本示例项目“StorageManageDemo”将帮助开发者了解如何在Android应用中有效地实现这一功能。...
在Android开发中,有时我们需要将应用内部的RAW资源文件复制到外部存储(如SD卡)以便于用户访问或保存数据。这个"Android之将RAW资源文件写入SD卡工具类"是一个实用的功能,可以帮助开发者轻松完成这个任务。下面将...
在Android系统中,SD卡(Secure Digital Card)是设备扩展存储空间的重要途径,它允许用户存储照片、视频、音乐和其他应用程序的数据。对于开发者而言,理解如何在SD卡上读写文件是开发Android应用时的一项基本技能...
在安卓系统中,SD卡(Secure Digital Card)是设备扩展存储空间的重要方式,尤其是在设备内置存储有限的情况下。本文将深入探讨“安卓SD卡文件管理更新信息相关-判断双SD卡CheckDoubleSDCard.rar”这个主题,它涉及...
在Android开发中,获取SD卡存储信息是相当重要的一个功能,尤其对于需要管理大量数据的应用来说。本篇文章将详细介绍如何在Android系统中获取SD卡的内存容量和剩余空间。 首先,为了能够访问SD卡,我们需要在...
在Android平台上,获取传感器数据并将其保存到SD卡是一个常见的需求,这有助于用户记录设备的运动状态、环境信息等。本项目"Android 获得传感器的数据保存在SD卡中"提供了一个实现这一功能的示例,它可以在Eclipse...
在Android平台上,从SD卡(外部存储)读取数据是一项常见的任务,特别是在处理大量媒体文件或者需要离线存储用户数据的应用中。本文将详细介绍如何在Android应用中实现从SD卡读取文件,并提供一个可直接部署使用的...