Android通過glide和rxjava實現圖片下載

首先來看實現方式:

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章