访问缓存图像(毕加索)

时间:2016-03-30 12:34:08

标签: android caching picasso

我有一个加载屏幕,我在其中获取属于登录用户的数据。这些数据包括他们的个人资料图片(其中三个)。

我想要做的是在我们用加载屏幕中的URL下载图像时缓存图像。然后在下一个活动中,我想访问缓存的图像以在该活动中显示它们。因此,基本上将一个活动中的所有图像加载到另一个活动中。这种方式(我想)每次用户输入显示其个人资料图像的活动时,我都不必发出http请求。这提供了更好的用户体验。 所以这是从缓存到屏幕的图像,我无法解决,因为我认为我已经正确地将它们加载到缓存中,如下所示。

这是我目前加载活动的方法:

Backendless.Data.of(UserFileMapping.class).find(new AsyncCallback<BackendlessCollection<UserFileMapping>>() {
            @Override
            public void handleResponse(BackendlessCollection<UserFileMapping> response) {
                Iterator<UserFileMapping> iterator = response.getCurrentPage().iterator();
                while(iterator.hasNext()){
                    UserFileMapping fileMapping = iterator.next();
                    String profile1 = fileMapping.profile_url;
                    String profile2 = fileMapping.profile_url_2;
                    String profile3 = fileMapping.profile_url_3;

                    Picasso.with(getApplicationContext())
                            .load(profile1)
                            .fetch(new Callback() {
                                @Override
                                public void onSuccess() {
                                    continue_button.setVisibility(View.VISIBLE);
                                    loading_text.setText("Done!");
                                }

                                @Override
                                public void onError() {
                                    //Make toast
                                }
                            });

                }
            }

            @Override
            public void handleFault(BackendlessFault fault) {
                System.out.println("FAULT:" + fault.getCode());
            }
        });

同时下载所有三张图片也是一个问题,但这并不像缓存问题那么重要。除了缓存问题之外,如果您对此有一个好主意,我也很乐意听到它。

0 个答案:

没有答案