Доступ к кэшированным изображениям (Пикассо)

У меня есть экран загрузки, где я получаю данные, принадлежащие зарегистрированному пользователю. Среди этих данных их изображения профиля (три из них).

Что я хочу сделать, это кэшировать изображения, когда я загружаю их с их 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 ответов

Другие вопросы по тегам