android(9)_数据存储和访问3_scard基本介绍

使用Activity的openFileOutput()保存文件的方法,文件存储在手机空间,通常情况下,手机的存储空间不是很大,存储小文件确定。假设你要存储大文件,如视频,是不可行。

对于这样大的文件,如视频,我们可以将其存储在SDCard。 SDCard它是做?动硬盘或U盘。


在模拟器中使用SDCard,你须要先创建一张SDCard卡(当然不是真的SDCard,仅仅是镜像文件)。

创建SDCard能够在Eclipse创建模拟器时随同创建,也能够使用DOS命令进行创建,例如以下:

  • 在Dos窗体中进入android SDK安装路径的tools文件夹,输入下面命令创建一张容量为2G的SDCard。文件后缀能够随便取。建议使用.img:
    • mksdcard 2048M D:AndroidToolsdcard.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, “itcast.txt”);
	 FileOutputStream outStream = new FileOutputStream(saveFile);
	 outStream.write("赵雅智博客".getBytes());
	 outStream.close();
}


Environment.getExternalStorageState()方法:获取SDCard的状态

Environment.MEDIA_MOUNTED:假设手机装有SDCard。而且能够进行读写,返回的状态

Environment.getExternalStorageDirectory()方法:获取SDCard的文件夹。当然要获取SDCard的文件夹,你也能够这样写:


File sdCardDir = new File("/sdcard"); //获取SDCard文件夹
File saveFile = new File(sdCardDir, "itcast.txt"); 
//上面两句代码能够合成一句: File saveFile = new File("/sdcard/itcast.txt");
FileOutputStream outStream = new FileOutputStream(saveFile);
outStream.write("赵雅智test".getBytes());
outStream.close();



将文件保存到SD卡,并从目录取文件


将文件或者目录从SD卡删除


案例1:调用相机并将照片存储到sd卡上


案例2:实例login。将usernamepassword保存sd卡


版权声明:本文博客原创文章,博客,未经同意,不得转载。

原文地址:https://www.cnblogs.com/mfrbuaa/p/4657329.html