如何在MaterialDrawer库中使用Picasso缓存个人资料图片

时间:2015-08-20 10:43:05

标签: android caching navigation-drawer picasso materialdrawer

我正在使用MaterialDrawer库并使用Picasso加载个人资料图片。但我无法在Picasso本地保存,并在将来从缓存中加载它。

在创建抽屉之前,

 //below line is for loading profile image from url
    DrawerImageLoader.init(new DrawerImageLoader.IDrawerImageLoader() {
        @Override
        public void set(ImageView imageView, Uri uri, Drawable placeholder) {
            Picasso.with(imageView.getContext()).load(uri).placeholder(placeholder).into(imageView);
        }

        @Override
        public void cancel(ImageView imageView) {
            Picasso.with(imageView.getContext()).cancelRequest(imageView);
        }

        @Override
        public Drawable placeholder(Context ctx) {
            return null;
        }

    });

我写的这是材料库说的。然后我设置我的个人资料图片:

String myURL = "http://www.american.edu/uploads/profiles/large/chris_palmer_profile_11.jpg" profile = new ProfileDrawerItem().withName(person.getFullName()).withEmail(person.getStMajorName()).withIcon(myURL)

但每次我运行应用程序时,都会从互联网上加载它。

如何缓存图像?

1 个答案:

答案 0 :(得分:1)

默认情况下,Picasso附带一个适用于大多数用例的默认实现。

有各种解决方案允许您强制Picasso从缓存加载图像。或者改变这种行为。

您应该查看以下 StackOverFlow 问题,该问题会针对您的问题提供不同的解决方案:

How do I use disk caching in Picasso?