一、首先,我们要检测手机内是否存在sd卡
public static boolean checkSdCard() {
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
//sd卡可用
return true;
} else {
//当前sd卡不可用
return false;
}
}
二、我们来获取文件存储路径
//项目文件根目录
private static String FILEROOT;
//应用程序的图片的缓存
public static final String FILEDIR = "/sanjimall";
//应用程序图片的缓存
public static final String FILECACHE = "/cache";
//应用程序apk存放地址
public static final String FILEAPK = "/apk";
/**
* 获取sd卡的文件路径
*/
public static String getSdPath(Context context) {
if (checkSdCard()) {
FILEROOT = Environment.getExternalStorageDirectory() + FILEDIR;
} else {
FILEROOT = (context.getFilesDir().getAbsolutePath() + FILEDIR);
}
return FILEROOT;
}
三、创建文件夹
public static void createFileDir(Context context, String fileDir) {
String path = getSdPath(context) + fileDir;
File file = new File(path);
if (!file.exists()) {
file.mkdir();
}
}
四、在application里创建缓存、apk的文件夹
public static void createAllFile(Context context) {
createFileDir(context, FILECACHE);
createFileDir(context, FILEAPK);
}
我们可以在application中就调用createAllFile()方法,把文件夹一开始就创建好。
当图片缓存的地方,需要用到文件夹的地方,我们可以直接调用getSdPath()方法获取文件地址。