`
01jiangwei01
  • 浏览: 540871 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

安卓课程二十六 往安卓sd卡写数据并获取sd卡内存

 
阅读更多

首先需要获得安卓的根目录:

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"/>

 

 

下面对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 是存在但是没有被安装

 

Environment 常用方法
方法:getDataDirectory()
解释:返回 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)
解释:执行一个由该对象所引用的文件系统

 

分享到:
评论

相关推荐

    android 获取外置SD卡路径

    来获取内置SD卡的路径,但是每款定制过的android 系统的外置SD卡的路径都不一样,那我们怎么才能去获取这个路径呢,我们可以想其它的办法,我这里提供了一个类可以获取外置SD卡或内置SD卡的 label(名称),path(路径)...

    读写SD卡序列号

    在Android系统中,SD卡(Secure Digital Card)是常见的外部存储设备,用于扩展手机或平板电脑的存储空间。SD卡序列号是每张SD卡特有的一个唯一标识符,由制造商在生产时分配,通常用于验证卡的身份和合法性。在某些...

    Android开发WebView获取SD卡图片并显示

    本文将详细讲解如何在Android的WebView中加载并显示SD卡上的图片,以及如何解决自Android 4.4(KitKat)版本后出现的WebView无法直接访问SD卡图片的问题。 首先,我们需要理解Android 4.4引入的安全限制。从KitKat...

    Android获取外置SD卡路径

    在Android系统中,由于安全和隐私的考虑,访问外部存储(即外置SD卡)的权限在不同的Android版本中有着不同的处理方式。在早期版本中,应用可以相对自由地访问外部存储,但在Android 6.0(API级别23)及更高版本中,...

    获取SD卡 TF卡 内置 外置存储卡路径例子

    在Android系统中,获取SD卡或TF卡(外部存储卡)以及内置存储卡的路径是开发者经常遇到的任务,尤其在处理文件操作时。本示例提供了优化的方法,以提高读取速度,这对于处理大量数据或者频繁访问存储卡的应用至关...

    Unity应用获取外置SD卡路径方法

    在Unity引擎中,开发者经常需要访问设备的外部存储空间,比如外置SD卡,以便存储游戏数据、资源或用户产生的内容。本篇文章将详细介绍如何在Unity应用中获取外置SD卡的路径,并结合PicoVR SDK,实现适用于VR场景的...

    android 内部存储读写 sd卡存储

    ### Android内部存储与SD卡存储详解 #### 一、Android内部存储概述 在Android开发过程中,数据存储是一项非常重要的功能。对于大多数应用来说,选择合适的数据存储方式是至关重要的。Android提供了多种数据存储的...

    Android sd卡音频文件列表显示+歌曲播放

    在Android平台上,开发一个能列出SD卡上所有音乐文件并实现播放功能的应用是常见的需求。这个"Android sd卡音频文件列表显示+歌曲播放"的Demo就是为此目的设计的。它结合了文件系统操作、UI设计以及媒体播放技术,是...

    Android SD卡文件读写操作

    在Android系统中,SD卡(Secure Digital Card)是设备存储扩展和数据交换的重要媒介,它为应用程序提供了额外的存储空间,以保存用户数据、媒体文件或其他应用相关资源。本篇文章将详细探讨Android平台上SD卡的文件...

    安卓内存、CPU、SD卡、内置存储使用率

    本文将深入探讨安卓内存、CPU、SD卡以及内置存储的使用率,以及如何通过应用程序进行查询。 首先,我们来了解一下这些关键组件: 1. **内存(RAM)**:在安卓系统中,内存主要指的是随机存取内存,用于暂时存储...

    安卓Android源码——开发之SD卡的使用.zip

    在安卓(Android)系统中,SD卡(Secure Digital Card)被广泛用于扩展设备的存储空间,以便用户存储照片、视频、音乐和其他大型文件。对于开发者来说,理解和掌握如何在源码层面使用SD卡进行开发至关重要。这篇...

    android SD卡存储数据

    ### Android SD卡存储数据 #### 知识点一:Android应用权限管理 在Android系统中,应用程序如果想要访问外部存储(如SD卡)必须在`AndroidManifest.xml`文件中声明相应的权限。对于写入外部存储的操作,需要声明...

    android 读取和存储sd卡

    在Android系统中,读取和存储SD卡是应用程序与外部存储交互的重要部分,尤其是在处理大量数据或者需要离线可用内容时。本示例项目“StorageManageDemo”将帮助开发者了解如何在Android应用中有效地实现这一功能。...

    Android 之 将RAW资源文件写入SD卡工具类

    在Android开发中,有时我们需要将应用内部的RAW资源文件复制到外部存储(如SD卡)以便于用户访问或保存数据。这个"Android之将RAW资源文件写入SD卡工具类"是一个实用的功能,可以帮助开发者轻松完成这个任务。下面将...

    android sd卡写文件备份

    在Android系统中,SD卡(Secure Digital Card)是设备扩展存储空间的重要途径,它允许用户存储照片、视频、音乐和其他应用程序的数据。对于开发者而言,理解如何在SD卡上读写文件是开发Android应用时的一项基本技能...

    安卓SD卡文件管理更新信息相关-判断双SD卡CheckDoubleSDCard.rar

    在安卓系统中,SD卡(Secure Digital Card)是设备扩展存储空间的重要方式,尤其是在设备内置存储有限的情况下。本文将深入探讨“安卓SD卡文件管理更新信息相关-判断双SD卡CheckDoubleSDCard.rar”这个主题,它涉及...

    Android开发之系统信息【1】——获取Android手机中SD卡存储信息

    在Android开发中,获取SD卡存储信息是相当重要的一个功能,尤其对于需要管理大量数据的应用来说。本篇文章将详细介绍如何在Android系统中获取SD卡的内存容量和剩余空间。 首先,为了能够访问SD卡,我们需要在...

    Android 获得传感器的数据保存在SD卡中

    在Android平台上,获取传感器数据并将其保存到SD卡是一个常见的需求,这有助于用户记录设备的运动状态、环境信息等。本项目"Android 获得传感器的数据保存在SD卡中"提供了一个实现这一功能的示例,它可以在Eclipse...

    android 从sd卡读取数据

    在Android平台上,从SD卡(外部存储)读取数据是一项常见的任务,特别是在处理大量媒体文件或者需要离线存储用户数据的应用中。本文将详细介绍如何在Android应用中实现从SD卡读取文件,并提供一个可直接部署使用的...

Global site tag (gtag.js) - Google Analytics