8._Flutter_Depolama_Islemleri.pdf
Document Details
Uploaded by RespectfulHyperbole
Bilecik Şeyh Edebali Üniversitesi
Tags
Full Transcript
Flutter ile Uygulama Geliştirme Kursu | Android & IOS Flutter Depolama İşlemleri Kasım ADALAN Elektronik ve Haberleşme Mühendisi Android - IOS Developer and Trainer Eğitim İçeriği Shared Preferences...
Flutter ile Uygulama Geliştirme Kursu | Android & IOS Flutter Depolama İşlemleri Kasım ADALAN Elektronik ve Haberleşme Mühendisi Android - IOS Developer and Trainer Eğitim İçeriği Shared Preferences Dosya İşlemleri SQLite FutureBuilder ile SQLite Çalışması Kasım ADALAN 2 Shared Preferences Shared Preferences Key - Value ilişkisi ile basit verileri kalıcı olarak depolayabiliriz. Kullanılan veri türleri : String,int,double,bool,List Uygulama silindiğinde veriler silinmektedir. Veritabanı üzerideki gibi detaylı verileri kayıt etmiceksek hızlı bir çözüm için kullanılabilir. Shared Preferences Kurulum shared_preferences: ^2.0.11 Veri kayıt etmek Veri Okumak Veri Silme - Güncelleme Uygulama : Açılış Sayısı Uygulama : Login Ekran Login Ekran Login Ekran Anasayfa İlk Açılan Sayfanın Otomatik Belirlenmesi Dosya İşlemleri Dosya İşlemleri path_provider yapısı sayesinde dosya işlemleri yapabiliriz. Örneğin dosya sistemine txt uzantılı dosya kayıt edip içine veriler yazabiliriz. Kalıcı depolama sağlamaktadır. path_provider Kurulum Veri kayıt etmek Veri Okumak Veri Silme Uygulama : Dosya İşlemleri SQLite SQLite Sqlite kullanımı oldukça kolay bir veri tabanı sistemidir. Küçük boyutu ve hızlı yapısı sayesinde mobil cihazlarda kullanımı oldukça yaygındır. Sqlite birçok programlama diliyle birlikte kullanılabilir. Android ve IOS işletim sistemlerinde çalışabilmektedir. Bu iki platformda çalışabilmesi ortak veri tabanı oluşturmada kolaylık sağlamaktadır. MySql ve Sql veri tabanlarında kullanılan sql sorgu cümleleri ile uyumludur. 1 DB Browser ile Veri tabanı Oluşturma 2 Veri tabanını Android Studio üzerine ekleme Android studio üzerinde veritabanı için dosya oluşturmamız gerekli. Dosya içine çalışmak istediğimiz veritabanını yerleştiririz. Daha sonra pubspec.yaml dosya içinde asset olarak veritabanını belirtmemiz gerekli. 3 Kurulum path : dosyalama işlemleri için kullanılacaktır.Kopyalama gibi işlemler için gereklidir. 4 Veri tabanını Dart sınıfları ile modelleme 5 Veri tabanı Kopyalama ve Erişim Kullanımı Uygulama ilk açıldığında veritabanı kopyalanır, daha sonra uygulama her açıldığında direk erişim işlemi gerçekleşir. 6 Tablo Üzerinde İşlem Yapmak için dao sınıfı Veritabanı erişimi ve kopyalama kisiler Türü kisi_id int Veri Okuma kisi_ad String kisi_yas int Kullanım kisiler Türü kisi_id int Veri Kaydı kisi_ad String kisi_yas int Kullanım kisiler Türü kisi_id int Veri Silme kisi_ad String kisi_yas int Kullanım kisiler Türü kisi_id int Veri Güncelleme kisi_ad String kisi_yas int Kullanım Veri Tabanında Kayıt Kontrol kisiler Türü kisi_id int kisi_ad String kisi_yas int Kullanım kisiler Türü Bir Tane Kayıt Alma kisi_id int kisi_ad String kisi_yas int Kullanım kisiler Türü Arama İşlemi kisi_id int kisi_ad String kisi_yas int Kullanım Rastgele ve Sınırlı Veri Alma kisiler Türü kisi_id int kisi_ad String kisi_yas int Kullanım SQLite – Foreign Key Örnek Veri Tabanı Modeli kategoriler Türü KEY yonetmenler Türü KEY kategori_id int Primary, Auto Increment yonetmen_id int Primary, Auto Increment kategori_ad String yonetmen_ad String filmler Türü KEY film_id int Primary, Auto Increment film_ad String film_yil int film_resim String kategori_id int FOREIGN yonetmen_id int FOREIGN Sınıf Modelleri Tüm Verilerin Alınması (Foreign Key) filmler Türü KEY film_id int Primary, Auto Increment film_ad String film_yil int film_resim String kategori_id int FOREIGN yonetmen_id int FOREIGN FutureBuilder ile SQLite Çalışması FutureBuilder Asenkron işlemler için kullanılan bir yapıdır. async özelliği olan fonksiyonu kullanırken await özelliği ile sadece yapması gereken işlemi bitirene kadar çalışmasını sağlarız. Fakat await kullanmak için async özelliği olan fonksiyon içinde olmamız gereklidir. async özelliği olan fonksiyonu widget içinde kullanmak istediğimizde async özelliği olması gerekmektedir.Bu özellik widgetlarda yoktur. Widget içinde async özelliğini kullanmak için FutureBuilder yapısı gereklidir. FutureBuilder Kullanımı Çalıştıracağı fonksiyonun geri dönüş türü. Çalıştırılacak fonksiyon Fonksiyonun çalışma sonucunu temsil eden değişken. Fonksiyonun çalışması sonucunda hata oluşuyor mu kontrolü Fonksiyonun çalışması sonucunda veri var mı yok mu kontrolü Fonksiyonun sonucuna erişim. Eğer gelen veri boş ise yani null ise burası çalışır ve tasarımda istediğimizi gösterebiliriz. FutureBuilder ile Listeleme Çalışması Eğer gelen veri boş ise yani null ise tasarım boş görünsün FutureBuilder ile SQLite Çalışması Eğer gelen veri boş ise yani null ise tasarım boş görünsün Teşekkürler... kasım-adalan [email protected] kasimadalan