【问题标题】:How can I add caching function in picasso?如何在毕加索中添加缓存功能?
【发布时间】:2018-10-25 10:47:29
【问题描述】:

如何实现以下任务

使用图像缓存框架和网络框架?

在我的实现之下

Picasso.get().load(introduction.getImage()).into(holder.imageView);

我找到了这个样本:

Picasso.with(context)
                    .load(Uri.parse(getItem(position).getStoryBigThumbUrl()))
    .networkPolicy(NetworkPolicy.OFFLINE)
    .into(holder.storyBigThumb, new Callback() {
        @Override
        public void onSuccess() {

        }

        @Override
        public void onError() {
            // Try again online if cache failed
            Picasso.with(context)
                    .load(Uri.parse(getItem(position)
                            .getStoryBigThumbUrl()))
            .placeholder(R.drawable.user_placeholder)
            .error(R.drawable.user_placeholder_error)
                    .into(holder.storyBigThumb);
        }
    });

【问题讨论】:

标签: android picasso image-caching


【解决方案1】:

您可以将NetworkPolicy.OFFLINEPicasso 一起使用。

if (introduction.getImage() != null) {
            Picasso.get().load(introduction.getImage()).resize(100, 100).centerCrop().
                    networkPolicy(NetworkPolicy.OFFLINE).into(holder.imageView, new Callback() {
                @Override
                public void onSuccess() {

                }

                @Override
                public void onError(Exception e) {
                    Picasso.get().load(R.drawable.ic_contact).resize(100, 100).centerCrop().
                            into(holder.imageView);
                }
            });

        }

【讨论】:

  • @Tunder,如何在错误方法 f 中添加可绘制文件夹中的图像
  • Picasso.with(context).load(R.drawable.drawableName).into(imageView);
猜你喜欢
  • 2014-09-23
  • 2019-05-26
  • 2016-03-17
  • 2016-08-10
  • 2014-04-10
  • 2016-06-20
  • 1970-01-01
  • 2015-10-16
  • 2015-08-24
相关资源
最近更新 更多