【Android基础笔记14】Android数据存储——External和Internal Storage

来源:互联网 发布:工业机器人您样编程 编辑:程序博客网 时间:2024/06/12 23:02

一、Internal Storage存储操作:
(一)、Internal Storage存储特点:
  1.内部存储的路径   data/data/应用程序包名/files/文件名

 2.内部存储的特点:

  2.1  内部存储总是有效的

  2.2  默认情况内部存储只能当前应用访问

  2.3  当应用程序卸载时 内部存储的文件也会随着删除   内部存储在应用程序的内部目录中

(二)、Internal Storage存储案例

 向内部存储中写入数据:


78C22936-C0BB-4975-8A5D-C38D2F88FCE9.png

或者采用如下案例:

 

1.png


从内存存储中读取内容:


1.png


或者采取如下代码:


1.png


删除内部存储中目录文件:


4A166C33-E9E0-44CC-B51E-79C8FD8E1BF8.png



二、External Storage之SDCard操作:
(一)、引入:Android中提供了特有的两个方法来进行IO操作(openFileInput()和openFileOutput() ),但是毕竟手机内置存储空间很有限,为了更好地存储应用程序的大文件数据,需要读写SD卡上的文件。SD卡大大扩充了手机的存储能力。
所有应用程序的外部存储的私有文件都放在根目录的Android/data/下,目录形式为/Android/data/<package_name>/
(二)、读写SD卡的步骤:
1、先判断手机是否有sd卡;
        调用Environment的getExternalStorageState()方法判断手机是否插上sdcard。
2、获取sdcard的路径;
        调用Environment的getExternalStorageDirectory()方法来获取外部存储器的目录。
3、此外还可以获取SDCard可用磁盘空间的大小(借助StatFs类来实现);
4、清单文件中设置读写sdcard的权限;
        <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>   在sdcard中创建与删除文件的权限
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>   向sdcard写入权限
5、执行读写操作(基本IO流操作)。


(三)、外部存储的特点:
   1.外部存储的特点:

  1.1 外部存储不一定总是可用  

  1.2 外部存储是全局可读取的  所有的应用程序都可以访问

  1.3 当应用卸载时 私有的外部存储会被删除


(四)、外部存储的相关案例

1.检测外部存储设备是否可用


1.png

2.写入外部存储的公共目录


1952ABCF-C5D9-4073-8241-9B013DEBCEFC.png


3.读取外部存储目录下的文件


FA93ED43-16BB-4869-810F-C9644CC87DF9.png

4.写入外部存储的私有目录下


26AB20A9-8E13-4708-B482-DEBEB172A034.png


5.读取外部存储目录下的文件


CFE85E78-2C34-4A89-B2DB-D271FF3BB902.png

6.将文件写入到sdcard根目录下


FB4BD6AE-51D8-419B-B464-CF1F36700778.png


7.获取当前目录下的总长度

7E52E6DC-E487-4322-B530-960508C1E6D2.png


8.获取当前目录下的可用长度


5C76A157-9121-485F-A103-3E624584CB27.png


9.删除外部存储目录下的文件


0A7894DB-A46A-4029-B4F1-64E1510D7284.png



0 0