Flutter'da Shared Preferences Kullanımı

Herkese selamlar. Bu yazıda Flutter'da Shared Preferences kullanımını inceleyeceğiz. Uygulamamda basit verileri tutmak istiyorum fakat nasıl yapacağımı bilmiyorum diyorsan ya da Shared Preferences kullanmam lazım fakat nasıl kullanacağım hakkında bir bilgim yok diyorsan bu yazıya göz atabilirsin.


Görsel Referansı


Shared Preferences Nedir?


Shared Preferences; uygulama içerisinde basit verileri tutmamızı sağlayan cihaz tabanlı basit bir veritabanıdır diyebiliriz. Mesela bir mobil yazılımcımız var. Yazılımcımız bir mobil uygulama yaptı. Bu uygulamada kullanıcı ilk kez uygulamaya giriş yapıyorsa ona uygulama hakkında basit bilgiler veren "Splash Screen" denilen ekranları gösteriyoruz. Bunu bir uygulamaya ilk kez giriş yaptığınızda siz de görmüşsünüzdür. Yazılımcımız, kullanıcının uygulamaya ilk kez giriş yapıp yapmadığı bilgisini bir yerlerde depolaması gerekiyor. Bunun için SQLite ya da Firebase gibi büyük verileri tutmak için kullanılan veri tabanı sistemlerinden birisini kullanmak bu kadar basit bir veriyi depolamak için fazlasıyla maliyetli olacaktır.


Bu yüzden Shared Preferences adı verilen yapıyı kullanıyoruz. Tekrar etmemiz gerekirse; uygulama içerisindeki basit ve/veya küçük verileri cihazda depolamak istediğimizde kullandığımız yapıdır. Bu yapı "key-value" sistemi ile çalışır. İçerisinde birçok veri tipini tutabilir. Bu tipler String, int, double, bool, List<String> olabilir.


Peki bu Shared Preferences nasıl kullanılır? Hadi inceleyelim.


Nasıl Kullanılır?


Shared Preferences'ı neden kullanacağımızı anladık. Şimdiyse bir sayaç uygulaması üzerinde nasıl kullanacağımıza bakalım.


Projemizin bir counter uygulaması ile başladığını önceki yazımızda söylemiştik. Fakat biz kendi tasarımızı yapmak istiyoruz. Bunun için lib klasörünün içerisine screens adında bir klasör açıyorum. Bu sayfaların bir klasör altında toplanması için önemli bir detay. Eğer çok fazla ekrana sahip bir proje yapıyorsak bu klasör altına farklı ayrıştırıcı başlıklarda klasörler oluşturabiliriz. Bu klasör altına bir adet sayac_sp.dart adında bir dosya oluşturuyorum. Sayaç uygulamasına ait kodlar bu dosya içerisinde olacak. Bu sayfada basit bir Text ve FloatingActionButton olmasını istiyorum. FloatingActionButton sayacımızı artırmaya, Text ise bu sayacı görebilmemizi sağlıyor.