Flutter'da Local Veritabanı - Sqflite




Neler yapacağız?


Bugün mobil cihazımızın local veritabanında nasıl veri tuttuğunu, tuttuğumuz bu bilgilerle nasıl işlem yapılabileceğini göreceğimiz örnek bir uygulama hazırlayacağız.


Bazen uygulamanızın cihaza küçük verileri kaydetmesi gerekebilir. Yapılandırılmış bir veriyse SQL veritabanı kullanmak isteyebilirsiniz. Çoğu cihazda (mobil cihazlar dahil) Sqlite gibi bir SQL veritabanı motoru kullanılabilir. Flutter geliştiricilerinin Sqlite kullanabilmesi için geliştirilen paket Sqflite'dır.


Sqflite, Flutter için bir veritabanı plugin'idir. Kullandığımız cihazın belleğinde çalışan local bir veritabanıdır. Veritabanında veri ekleme, güncelleme ve silme gibi crud operasyonlarını gerçekleştirir. Gelin uygulayarak Sqflite'ı inceleyelim. Projemiz Sqflite'ı anlamak adına basit işlevli bir not uygulaması olacak. İlk olarak yeni bir Flutter projesi oluşturarak başlayalım. Ben projeyi "sqflite_demo" olarak adlandırdım.


Entegrasyon


Başlangıçta projemize kullanacağımız Sqflite paketini ekleyelim. Flutter paketleri için "pub.dev" adresinden sqflit paketini kullanacağız.



Sonrasında projemizde "pubspec.yaml" dosyasına giderek dependencies altına "sqflite:^1.3.1+1" ve bize ilgili veritabanın yolunu vermeye yarayan "path:^1.7.0" paketini ekliyoruz.


dependencies:
 sqflite: ^1.3.1+1
 path: ^1.7.0

Ardından "Control + S" tuş kombinasyonu ya da

$ flutter pub get

komutu ile paketimizi kuruyoruz. Hadi kodlamaya geçelim!


Uygulamamızın temel sınıfı: Notlar


Artık kodlarımızı yazmaya başlayabiliriz. Projemizde lib klasörü içerisine kullanacağımız klasörleri oluşturarak başlayalım. Bunlardan ilki models isimli klasörümüz olacak. Buraya "notes.dart" adında bir dart dosyası ekleyelim. Ve Notes sınıfımızı oluşturalım.


Burada nesnemizi, constructor'larımızı ve database'den nesnemizi alırken ve yazdırırken bize yardımcı olacak methodlarımızı yazalım.