Flutter'da Firebase Storage Kullanımı


Görsel Referansı


Herkese selamlar. Bugün, uygulama geliştirme sırasında fotoğraflarımızı saklayacağımız, silme ve ekleme işlemleri için örnek bir uygulama ile Firebase Storage entegrasyonu sürecini inceleyeceğiz. Uygulamaya geçmeden önce Firebase’e uygulamayı entegre edelim.


Firebase Nedir?


Firebase, Google tarafından tüm geliştiricilerin ücretsiz kullanabileceği bir backend platformudur. Sadece mobil alanda değil, çalışabilecek tüm teknolojilerde kullanılabilir bir platformdur. Firebase ile veri tutma/getirme, realtime database, kimlik doğrulama işlemleri gibi backend işlemlerini yapabiliyoruz. Firebase Storage'ın, fotoğraf dışında diğer dosya formatlarına da desteklediğini de belirtelim.


Firebase Console'a giriş yapıyoruz ve bir proje oluşturuyoruz. Sonrasında ise 3 adımdan oluşan entegrasyon sürecini gerçekleştiriyoruz.

  1. Register app

  2. Download config file

  3. Add Firebase SDK



Firebase entegrasyonunu gerçekleştirdikten sonra Flutter projesinde hangi paketleri kullanacağımızı inceleyelim.

  • firebase_core: Birden çok Firebase uygulamasına bağlanmayı sağlayan Firebase Core API’yi kullanmak için bir Flutter eklentisidir.

  • firebase_storage: Android ve iOS için güçlü, basit ve uygun maliyetli bir nesne depolama hizmeti olan Firebase Cloud Storage için bir Flutter eklentisidir.

  • image_picker: Android ve iOS fotoğraflar kütüphanesinden fotoğraf seçmek ve kamera ile yeni fotoğraflar çekmek için kullanılan bir Flutter eklentisidir.



Şimdi oluşturduğumuz Flutter projesini inceleyelim. Öncellikle silme ve yükleme işlemleri için iki buton ve fotoğrafın yer alacağı bir ekran çiziyoruz.


Ardından telefondaki galeri erişimi için image_picker paketini import ediyoruz ve Future fonksiyonu tanımlıyoruz.


Future Fonksiyonu Nedir?


Uygulama geliştirme sırasında asenkron bir yapı oluşturmak için kullanılan Future ve async ile CRUD işlemleri, dosya ve veri tabanları gibi benzer işlemleri single thread yapısını bloke etmeden arka planda gerçekleştirilebiliyor.


Firebase işlemlerine geçmeden önce Firebase’i initState methodu ile initialize işlemini gerçekleştiriyoruz.



Fotoğraf yükleme işlemini gerçekleştirmek için uploadImage isimli Future fonksiyonu tanımlıyoruz. Bu fonksiyonda dosya yolunu, referans tanımlamayı, fotoğrafı yüklemesi için tetikleme işlemlerini gerçekleştiriyoruz. Debug konsola dosya yolunu görebilmemiz için URL’i yazdırıyoruz.


Sırada fotoğraf silme işlemi için deleteImage isimli tekrar Future fonksiyonu tanımlıyoruz.



Oluşturduğumuz fonksiyonları buttonların onPressed parametresine tanımlıyoruz.



Ve örneğimizi tamamlıyoruz. Uygulamanın GitHub linkine buradan ulaşabilirsiniz. Umarım faydalı bir yazı olmuştur, bir sonraki yazılarda görüşmek dileğiyle.


Kaynaklar:

https://firebase.flutter.dev/docs/storage/overview

https://firebase.google.com/docs/storage


#cross #flutter #firebase #storage #firebasestorage

0 yorum

Son Paylaşımlar

Hepsini Gör