数据存储到SD卡上以及SD卡相关的API
Android开发基础之把数据存储到SD卡上以及SD卡相关的API
前面我们把数据保存到应用的内部:/data/data/com.sunofbeaches.qqlogindemo/files
那么现在我们就开始学习怎么把这个数据保存到SD上!
一部分是内部存储空间:ROM ,可以理解这个Rom就是我们的windows电脑的系统盘。
另外一部分就是外置存储空间,也就是我们的SD卡,它就类似于我们电脑的外插存储设备。
SD卡的路径获取,就是和前面的一样,也是有API获取的:
File externalStorageDirectory = Environment.getExternalStorageDirectory();
为什么要这样子获取呢?就是因为不同的手机厂商,它们的扩展卡的名字不一样,通过这个API,就可以获取到它们的扩展卡的路径。
我们在实际开发中,会遇到这样的问题,怎么样知道这个手机没有SD卡?
我们通过一个API来判断这个SD卡是否已经挂在了
String state = Environment.getExternalStorageState();
if (state.equals(Environment.MEDIA_MOUNTED)) {
Log.d(TAG, "SD卡已经挂载,也就是可用的!");
} else if (state.equals(Environment.MEDIA_UNMOUNTED)) {
Log.d(TAG, "SD卡已经删除了...");
}
去获取SDK卡相关的信息,比如:可用空间。
File exFile = Environment.getExternalStorageDirectory();
Log.d(TAG, "Ext-FilePath == " + exFile);
long freeSpace = exFile.getFreeSpace();
//把long转成我们直观的空间大小,比如说:多少M,多少KB,多少GB。
String sizeText = Formatter.formatFileSize(this, freeSpace);
Log.d(TAG, "free size == " + sizeText);
在线课程:
https://www.sunofbeach.net/c/1443881236287311874