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


一、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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值