Как загрузить кучу изображений из списка URL-адресов в фоновом режиме с помощью Picasso Executor - PullRequest
0 голосов
/ 26 марта 2019

Как реализовать Picasso Executor для загрузки изображений из списка URL-адресов в фоновом режиме. Код, который я хочу реализовать, выглядит примерно так:

Picasso.setSingletonInstance(new Picasso.Builder(this).defaultBitmapConfig(Bitmap.Config.RGB_565).executor(threadpool)))

У меня есть следующий код для загрузки изображения с одного URL.

 public void downloadImage(String url, String id,ImageDownloadedCallBack imageDownloadedCallBack){
        mImagename=id+JPEG;
        if(mIimageDownloadedCallBack != null) {
            Picasso.get().load(url).into(mTarget);
        } else {
            mIimageDownloadedCallBack=imageDownloadedCallBack;
            Picasso.get().load(url).into(mTarget);
        }
    }
public final Target mTarget = new Target() {
        @Override
        public void onBitmapLoaded(final Bitmap bitmap, Picasso.LoadedFrom from) {
            fileStorage.putFile(mImagename,bitmap);
                if (mIimageDownloadedCallBack != null) {
                    mIimageDownloadedCallBack.imageDownloadComplete(bitmap, true);
                }
        }

        @Override
        public void onBitmapFailed(Exception e, Drawable errorDrawable) {
            if(mIimageDownloadedCallBack != null) {
                mIimageDownloadedCallBack.imageDownloadComplete(null,false);
            }
            Log.d(TAG,e.getMessage());
        }

        @Override
        public void onPrepareLoad(Drawable placeHolderDrawable) {
            if (placeHolderDrawable != null) {Log.d(TAG,"PlaceHolderDrawable");}
        }
    };

И это список URL, которые мне нужно передать на Пикассо

public void getDepartmentList() {
        AppExecutors appExecutors = new AppExecutors();
        appExecutors.diskIO().execute(() -> {
            Departments departments = PersistentItemsUtil.getsDepartments();
            List<MdcItemSummary> mdcItems = ProductLocatorApplication.getDatabase().mdcItemSummaryDao().getMDCItems(departments.getDept().getName());
            Log.d("MDC", mdcItems.toString());
        });
    }

Любая помощь будет оценена ...

...