首先來看實現方式:
public void download(View view) {
List<BaseBean> baseBeanList = new ArrayList<>();
for (int i = 0;i < paths.length; i++){
BaseBean baseBean = new BaseBean();
baseBean.setUrl(paths[i]);
baseBean.setFilename("picture" + i);
baseBeanList.add(baseBean);
}
new DownloadPicture.DownloadPictureBuilder(baseBeanList)
.setLocalDir("/0000/")
.setPictureFormat(PNG)
.build()
.download(MainActivity.this, new IDownload() {
@Override
public void start() {
Log.i("download","start");
}
@Override
public void progress(int progress) {
Toast.makeText(MainActivity.this,"當前進度爲:" + progress,Toast.LENGTH_SHORT).show();
Log.i("download","當前進度爲:" + progress);
}
@Override
public void complete() {
Toast.makeText(MainActivity.this,"下載完成",Toast.LENGTH_SHORT).show();
Log.i("download","complete");
}
@Override
public void fail(BaseBean baseBean) {
Toast.makeText(MainActivity.this,"下載失敗" + baseBean.getFilename(),Toast.LENGTH_SHORT).show();
Log.i("download","當前失敗圖片爲:" + baseBean.getFilename());
}
@Override
public void end() {
Log.i("download","end");
}
@Override
public void error(Exception e) {
Log.i("download","下載異常:" + e.getMessage());
}
});
}
首先你的有個filelist,這個是必須的參數
然後可以set本地目錄,set圖片存儲格式,然後IDownload回調
該下載內部已包含本地目錄創建的命名正則匹配,不符合用空字符串替換
也可通過該方式學習下簡單建造者模式的實現
代碼就直接GitHub見吧 https://github.com/sdgSnow/DownloadPicture