/**
* 初始化飞行卡片
*/
private void initTask() {
// "/mnt/sdcard/Navpad/airport/飞行卡片";
File file = new File(LOAD_TASK_PATH);
if (!file.exists()) {
return;
}
Log.i(TAG, "initTask: file-path" + file.getPath());
//1 获取该目录下的所有目录
String[] dirs = file.list(new FilenameFilter() {
public boolean accept(File dir, String filename) {
//是否是文件夹 //1 parent child 过滤出目录、、、过滤掉文件。
return new File(dir, filename).isDirectory();
}
});
if (dirs == null || dirs.length == 0) {
return;
}
//2 循环遍历目录 数据库没有创建,图片相同
for (String dir : dirs) {
Log.i(TAG, "initTask: dirs=" + dir);
String taskName = dir;
//数据库中没有就创建
createIsNotExist(taskName);
String[] fileNames = new File(LOAD_TASK_PATH, dir)
.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String filename) {
//过滤出所有的图片
return checkIsImageFile(filename);
}
});
//对每个目录下的所有的图片存储到数据库
for (String fileName : fileNames) {
//每个图片的路径mFilePath
String mFilePath = LOAD_TASK_PATH + "/"
+ dir + "/" + fileName;
Log.i(TAG, "initTask: mFilePath=" + mFilePath);
createIsNotExistTask(taskName, mFilePath);
}
}
//更新数据库
updateTaskOrder(dirs);
}
//筛选图片
/**
* 检查扩展名,得到图片格式的文件
*
* @param fName 文件名
* @return
*/
@SuppressLint("DefaultLocale")
private boolean checkIsImageFile(String fName) {
// 获取扩展名
String FileEnd = fName.substring(fName.lastIndexOf(".") + 1,
fName.length()).toLowerCase();
if (FileEnd.equals("jpg") || FileEnd.equals("png") || FileEnd.equals("gif")
|| FileEnd.equals("jpeg") || FileEnd.equals("bmp")) {
return true;
} else {
return false;
}
}