我无法用毕加索加载很多图像(带目标)

时间:2016-08-02 05:44:27

标签: java android image download picasso

我的网络存储空间中有大约200张图片。当我尝试用毕加索下载它们时,我只得到它们中的大约30个。我检查了很多案例,每次我得到不同数量的图像和图像也不同。 LogCat说getPicassoImage()总是被调用,但是onBitmapLoaded()只调用了大约30次,而且从不调用onBitmapFailed()。

在LogCat中我也看到了(首次点击后 - 第一次警告,我无法获得至少1张图片。这总是在第一次点击时):

  

W /设置:设置airplane_mode_on已从android.provider.Settings.A系统移至android.provider.Settings.Global,返回只读值。

     

W / SQLiteConnectionPool:数据库“路径”的SQLiteConnection对象泄露了!请修复您的应用程序以正确结束正在进行的事务,并在不再需要时关闭数据库。

void getPicassoImage(final String imageName){
    Log.d("myLogs", "try to get "+ imageName);
    Target target = new Target() {
        @Override
        public void onPrepareLoad(Drawable placeHolderDrawable) {
        }

        @Override
        public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
            /*Log.d("myLogs", "onBitmapLoaded");*/

            try {
                File file = new File(IMAGE_PATH + imageName);


                FileOutputStream outputStream = new FileOutputStream(file);
                bitmap.compress(Bitmap.CompressFormat.JPEG, 100, outputStream);

                outputStream.flush();
                outputStream.close();

                Log.d("myLogs", imageName + " image saved");
            } catch (Exception e) {
                Log.d("myLogs", "Picasso error");
            }

        }

        @Override
        public void onBitmapFailed(Drawable errorDrawable) {
            Log.d("myLogs", "onBitmapFailed");
        }
    };

    /*Log.d("myLogs","Load from " + storageUrl + imageName);*/
    Picasso.with(getApplicationContext()).load(storageUrl+imageName).into(target);

}

0 个答案:

没有答案