Не удалось загрузить изображение после загрузки изображения в FireBase, после перезапуска приложения оно загружается правильно - PullRequest
0 голосов
/ 14 мая 2019

Когда я собираюсь получить данные после обновления изображения профиля пользователя, оно не загружается Glide в ImageView, и выдает исключение, как показано ниже .Но после перезапуска приложения глиссада может загрузить изображение в ImageView.

Примечание: Мое приложение имеет базу данных в базе данных реального времени Firebase.И он извлекал данные, используя GeoQueryEventListener.

 Glide: Load failed for https://graph.facebook.com/104007287452302/picture?width=400&height=400 with size [720x1280]
class com.bumptech.glide.load.engine.GlideException: Failed to load resource
There was 1 cause:
java.io.FileNotFoundException(https://graph.facebook.com/104007287452302/picture?width=400&height=400)
 call GlideException#logRootCauses(String) for more detail
  Cause (1 of 1): class com.bumptech.glide.load.engine.GlideException: Fetching data failed, class java.io.InputStream, REMOTE
There was 1 cause:
java.io.FileNotFoundException(https://graph.facebook.com/104007287452302/picture?width=400&height=400)
 call GlideException#logRootCauses(String) for more detail
    Cause (1 of 1): class com.bumptech.glide.load.engine.GlideException: Fetch failed
There was 1 cause:
java.io.FileNotFoundException(https://graph.facebook.com/104007287452302/picture?width=400&height=400)
 call GlideException#logRootCauses(String) for more detail
      Cause (1 of 1): class java.io.FileNotFoundException: https://graph.facebook.com/104007287452302/picture?width=400&height=400

Мой код похож на ниже:

private void fetchUserMarkers(final String key, final GeoLocation location, final String userId) {

    Timber.d("fetchUserMarkers(%s,%s,%s)", key, location.toString(), userId);

    FirebaseDatabase.getInstance().getReference("users").child(userId).addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            if (dataSnapshot.exists()) {
                try {
                    UserModel user = dataSnapshot.getValue(UserModel.class);
                    if (user == null) {
                        Timber.w("Unable to show USER with userId =" + userId + "is NULL on Firebase");
                        FirebaseHelper.getInstance().getGeoFireReference().child(key).setValue(null);
                        onKeyExited(key);
                    } else if (TextUtils.equals(user.getUid(), viewModel.getCurrentUser().getUid()) || userIsInFollowingCountries(user)) {

                        Timber.w("1 AvtarUrl: %s, location: %s, key: %s ", user.getAvatarUrl(), location.toString(), key);

                        if (viewModel.getCurrentUser().getUid().equals(ImcoveryApplication.getCurrentUser().getUid())) {
                            Glide.with(DiscoverFragment.this).load(user.getAvatarUrl()).into(imgTemp);
                        }

                        //addUserMarkerToMap(user, location, key);
                    }
                } catch (DatabaseException e) {
                    Timber.e(e, "userId: " + userId);
                }
            } else {
                Timber.w("Unable to show USER with userId =" + userId + "is NULL on Firebase");
            }
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {
            Timber.w(databaseError.toException(), "onKeyEntered, onCancelled userId: " + userId);
        }
    });
}

Предложения приветствуются.

...