【Android基础笔记14】Android数据存储——External和Internal Storage
2017-01-06 13:54
295 查看
一、Internal Storage存储操作:
(一)、Internal Storage存储特点:
1.内部存储的路径 data/data/应用程序包名/files/文件名
2.内部存储的特点:
2.1 内部存储总是有效的
2.2 默认情况内部存储只能当前应用访问
2.3 当应用程序卸载时 内部存储的文件也会随着删除 内部存储在应用程序的内部目录中
(二)、Internal Storage存储案例
向内部存储中写入数据:
![](http://note.youdao.com/yws/res/1025/FD0E485103504CDDADF0811B96A08C2F)
或者采用如下案例:
![](http://note.youdao.com/yws/res/1024/1EED0A16768645138ACE61B0FE8B11FD)
从内存存储中读取内容:
![](http://note.youdao.com/yws/res/1023/63FA1DDBEDB34AA38583D0E07A9A5B4F)
或者采取如下代码:
![](http://note.youdao.com/yws/res/1021/73BA41AB5B044EE7A1582B99BAE0E399)
删除内部存储中目录文件:
![](http://note.youdao.com/yws/res/1030/3495A7112EF84D94862798294BD7C0C9)
二、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.检测外部存储设备是否可用
![](http://note.youdao.com/yws/res/1026/B8697E05264D4471A7F0885D0BD03BB0)
2.写入外部存储的公共目录
![](http://note.youdao.com/yws/res/997/FFFDF20B261F40E6AE7C914DE361F587)
3.读取外部存储目录下的文件
![](http://note.youdao.com/yws/res/1014/234CDA3BB8294CA78819EF938639F437)
4.写入外部存储的私有目录下
![](http://note.youdao.com/yws/res/1003/B9EC683FCCA240FD8278C11245C7FDE5)
5.读取外部存储目录下的文件
![](http://note.youdao.com/yws/res/1007/4398089F4F0540589864AB46963DC80A)
6.将文件写入到sdcard根目录下
![](http://note.youdao.com/yws/res/1018/5F2FB27C510E4FDA8648A1927229F5CD)
7.获取当前目录下的总长度
![](http://note.youdao.com/yws/res/1029/89C23BE7D78F4B1A94AD9468CF70C495)
8.获取当前目录下的可用长度
![](http://note.youdao.com/yws/res/1028/49076D15A76043FE8F272C5A7C7DAF0A)
9.删除外部存储目录下的文件
(一)、Internal Storage存储特点:
1.内部存储的路径 data/data/应用程序包名/files/文件名
2.内部存储的特点:
2.1 内部存储总是有效的
2.2 默认情况内部存储只能当前应用访问
2.3 当应用程序卸载时 内部存储的文件也会随着删除 内部存储在应用程序的内部目录中
(二)、Internal Storage存储案例
向内部存储中写入数据:
或者采用如下案例:
从内存存储中读取内容:
或者采取如下代码:
删除内部存储中目录文件:
二、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.检测外部存储设备是否可用
2.写入外部存储的公共目录
3.读取外部存储目录下的文件
4.写入外部存储的私有目录下
5.读取外部存储目录下的文件
6.将文件写入到sdcard根目录下
7.获取当前目录下的总长度
8.获取当前目录下的可用长度
9.删除外部存储目录下的文件
相关文章推荐
- Android 学习笔记14:数据存储
- android基础入门数据存储之SharedPreferences(14)
- Android基础笔记(二)-数据存储和界面展现
- 【Android基础笔记12】Android数据存储——SharedPreferences
- Android基础笔记(三)-数据存储和界面展现
- Android基础笔记(四)-数据存储和界面展现
- Android入门学习笔记(一)|基础知识|文件数据存储读取|解析XML
- Android数据存储(2)向机身内存(Internal Storage)和SDcard(External Storage)读写数据实例
- android基础---使用文件进行数据存储
- Android基础学习笔记-Activity开启与数据传递
- Android数据存储(2)向机身内存(Internal Storage)和SDcard(External Storage)读写数据实例
- Android基础学习__第2天__数据的存储与访问
- C\C++ 程序员从零开始学习Android - 个人学习笔记(四) - java基础 - 数据类型、变量、字符串、数组
- Android基础之数据存储SharedPreference和SQLite
- Android游戏开发基础part9--游戏数据存储
- Android数据存储(External Storage,外部存储)
- Android实现数据存储技术 (5中存储方式) 基础中的基础!!!!
- Android游戏开发基础part9--游戏数据存储
- Android开发笔记之: 数据存储方式详解
- Android基础教程——数据存储之操作数据库SQLlite(一)