Meydan okuma 3
- Flutter kursu
- Orta seviye
- Ders 98/99
- 3 dk
sqflite ile not ekleyip listeyen uygulama yaparsın.
sqflite ile not uygulaması
Bu meydan okumada sqflite ile bir not uygulaması yaparsın. openDatabase ile veritabanı açar, CREATE TABLE ile notlar tablosu oluşturur, insert ile yeni not ekler ve query ile tüm notları çekersin. Her sorgu bir Future döndürdüğü için fonksiyonlar async olur.
final db = await openDatabase('notlar.db');
await db.insert('notlar', {'baslik': 'Alışveriş', 'icerik': 'Süt'});
final liste = await db.query('notlar');Bu yapı, kalıcı ve sorgulanabilir bir saklama sağlar.
Uygulama notEkle fonksiyonu
notEkle adında async fonksiyon yaz. openDatabase('notlar.db') ile veritabanını aç, db.insert('notlar', {'baslik': baslik, 'icerik': icerik}) ile yeni not ekle. main içinde 'hazir' yazdır.
Başlangıç kodu
import 'package:sqflite/sqflite.dart';
// notEkle fonksiyonunu yaz
// openDatabase ile veritabanını aç
// db.insert ile yeni not ekle
void main() {
// 'hazir' yazdır
}Örnek çözüm
import 'package:sqflite/sqflite.dart';
Future<void> notEkle(String baslik, String icerik) async {
final db = await openDatabase('notlar.db');
await db.insert('notlar', {'baslik': baslik, 'icerik': icerik});
}
void main() {
print('hazir');
}Beklenen çıktı
hazir
Uygulama notlariGetir fonksiyonu
notlariGetir adında async fonksiyon yaz. openDatabase('notlar.db') ile veritabanını aç, db.query('notlar') ile tüm notları çek ve döndür. main içinde 'hazir' yazdır.
Başlangıç kodu
import 'package:sqflite/sqflite.dart';
// notlariGetir fonksiyonunu yaz
// openDatabase ile veritabanını aç
// db.query ile tüm notları çek
// sonucu döndür
void main() {
// 'hazir' yazdır
}Örnek çözüm
import 'package:sqflite/sqflite.dart';
Future<List<Map<String, Object?>>> notlariGetir() async {
final db = await openDatabase('notlar.db');
return db.query('notlar');
}
void main() {
print('hazir');
}Beklenen çıktı
hazir
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 sqflite'ta yeni bir kayıt eklemek için hangi metod kullanılır?
- db.insert Doğru cevap
- db.update
- db.query
- db.delete
Açıklama: db.insert yeni kayıt ekler. db.query kayıtları okur, db.delete kayıt siler, db.update mevcut kaydı günceller; ekleme yapmazlar.
2 Tüm notları çek
final db = await openDatabase('notlar.db');
final liste = await db.____('notlar');
final db = await openDatabase('notlar.db');
final liste = await db.query('notlar');
Açıklama: Tüm kayıtları çekmek için db.query kullanılır. insert yeni kayıt ekler, delete siler, create diye bir metot yoktur (CREATE TABLE raw SQL ile yapılır).
3 sqflite parçaları
| Kavram | Anlamı |
|---|---|
openDatabase |
veritabanı açma |
CREATE TABLE |
tablo oluşturma |
db.insert |
kayıt ekleme |
db.query |
kayıtları çekme |