龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 移动开发 > Android开发 >

Android学习笔记-保存文件(Saving Files)(2)

时间:2014-10-16 02:48来源:网络整理 作者:网络 点击:
分享到:
//判断外部存储是否至少可以读 public boolean isExternalStorageReadable() { String state = Environment.getExternalStorageState(); if (Environment.MEDIA_MOUNTED.equals(state) || Environment.

//判断外部存储是否至少可以读
public boolean isExternalStorageReadable() {
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state) ||
Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
return true;
}
return false;
}

外部存储可以被用户或其他app访问,我们可以保存两种文件到外部存储:

1.公共文件(public files)

可以自由地被用户或其他app访问的文件,当用户卸载app时,这些文件依然存在。
调用 getExternalStoragePublicDirectory()获得目录,保存公共文件到外部存储:

复制代码 代码如下:

public File getAlbumStorageDir(String albumName) {
// 获得用户公共的图片目录
File file = new File(Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_PICTURES), albumName);
if (!file.mkdirs()) {
Log.e(LOG_TAG, "Directory not created");
}
return file;
}

2.私有文件(private files)

属于你app的文件,当用户卸载时,这些文件将被删除。
调用getExternalFilesDir() 获得适当的目录,保存私有文件到外部存储:

复制代码 代码如下:

public File getAlbumStorageDir(Context context, String albumName) {
// 获得应用私有的图片目录
File file = new File(context.getExternalFilesDir(
Environment.DIRECTORY_PICTURES), albumName);
if (!file.mkdirs()) {
Log.e(LOG_TAG, "Directory not created");
}
return file;
}

删除文件:
myFile.delete();
删除保存在内部存储中的文件:
myContext.deleteFile(fileName);
当用户卸载app时,Android系统会删除下列文件:

1.所有保存在内部存储中的文件
2.所有用getExternalFilesDir()保存的文件

我们应该删除所有用getCacheDir() 生成的文件以及不再需要的文件

精彩图集

赞助商链接