Soru & Cevap

Firebase resim geç gelme sorunu ...

16.10.2020 - 01:07

Firma objesinin içindeki logo kısmına atama yapmaya çalışıyorum ama resimlerin geç gelemsinden kaynaklı olarak null olarak listeye kayıt oluyor.

Acaba bir resim tam olarak listeye kayıt olduğunu yada veritabanından resmin çekildiğini nasıl anlayabilir.

İlk firma bilgileri tam olarak dolduktan sonra 2. firmaya ait bilgileri nasıl çekebilirim.

 

reference.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                firmalist.clear();
                for (DataSnapshot d : dataSnapshot.getChildren()) {
                    final Firma firma = d.getValue(Firma.class);
                    firma.setFirma_id(d.getKey());
                    firmalist.add(firma);
                    try {
                        localFile = File.createTempFile("images", "jpg");
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                    referans.child(firma.getFirma_id()).child("1").getFile(localFile).addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() {
                        @Override
                        public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) {
                            Bitmap bitmap = BitmapFactory.decodeFile(localFile.getAbsolutePath());
                            firma.setLogo(bitmap);
                        }

                    });
                }


            //    veriadaptoru.notifyDataSetChanged();
                Log.e("hata",""+firmalist.get(2).getLogo());
            }

        
5 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user doganccetin
doganccetin
04.01.2023 - 10:57

Eğer bir resim tam olarak indirilemediyse veya indirilirken bir hata oluştuysa logo özelliği null olarak kalacaktır bu durumda bir try-catch bloğu kullanarak oluşabilecek hataları tespit edebilir ve ilgili işlemleri yapabilirsin.

İkinci firmaya ait bilgileri çekmek istiyorsan veritabanındaki konumunu bilmen gerekiyor

örneğin ikinci firma verilerinin ilk firma verilerinin altında bir alt düğüm olarak saklandığını varsayalım bu durumda veri okuma işlemini reference.child("2") şeklinde yapabilirsin bu sayede ikinci firma verilerine ulaşabilir ve onları listeye ekleyebilirsin.