package com.example.administrator.searchpicturetool.model; import com.example.administrator.searchpicturetool.config.API; import java.io.File; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import rx.Observable; import rx.android.schedulers.AndroidSchedulers; import rx.functions.Func1; import rx.schedulers.Schedulers; /** * Created by wenhuaijun on 2015/11/12 0012. * 该Model已废除,已改用从数据库获取已下载的图片文件信息 */ @Deprecated public class DownloadImgModel { @Deprecated public static List<File> getImageListFromFile(){ ArrayList<File> mArrayList = new ArrayList<>(); File file = new File(API.imgPath); if (file.mkdir()){ return mArrayList; } mArrayList = new ArrayList<File>(Arrays.asList(file.listFiles())); ArrayList<File> deleteFiles = new ArrayList<File>(); for (File mFile :mArrayList){ if(mFile.isDirectory()){ deleteFiles.add(mFile); } } mArrayList.removeAll(deleteFiles); return mArrayList; } //Rxjava链式获取图片List public static Observable<List<File>> getImageListFromFile2(){ return Observable.just(API.imgPath) .map(new Func1<String, File>() { @Override public File call(String imagesPath) { return new File(imagesPath); } }) .map(new Func1<File, List<File>>() { @Override public List<File> call(File file) { List<File> files = new ArrayList<File>(); if (file.mkdir()) { return files; } files = new ArrayList<File>(Arrays.asList(file.listFiles())); //移除图片文件夹里面的文件夹 ArrayList<File> deleteFiles = new ArrayList<File>(); for (File mFile : files) { if (mFile.isDirectory()) { deleteFiles.add(mFile); } } files.remove(deleteFiles); return files; } }).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()); } }