1. DART PROGRAMLAMA DİLİ
15
1.1.1 Değişken tanımlama
15
1.1.2 Değişken Türleri
16
1.1.3 Metin (String) Veri Tipinin Sayı Veri Tiplerine Dönüşümü
17
1.1.4 Sayı Veri Tiplerinin Metin (String) Veri Tipine Dönüşümü
18
1.1.5 Değişkenlerde İşlemler
18
1.2.1 Listelerin Metotları
22
1.4 Akış Kontrolleri – Karar Yapıları
26
1.4.2 İç İçe if Yapısı
27
1.4.3 Tek Satırda Kontrol İfadeleri –Ternary
27
1.7.1 Geriye Değer Döndürmeyen Fonksiyonlar
34
1.7.2 Parametreli Fonksiyonlar
34
1.7.3 Geriye Değer Döndüren Fonksiyonlar
35
1.7.4 İsimli Parametre Alan Fonksiyonlar
36
1.7.5 Şişman Oklu Fonksiyonlar
36
1.7.6 Anonim Fonksiyonlar
36
1.7.7 Asenkron Fonksiyonlar
37
1.7.8 get ve set Fonksiyonları (Değer Döndüren ve Değer Alan Fonksiyonlar)
39
1.8 Hata Yakalama Bloğu / Try – Catch
39
1.9 Sınıf & Nesneler / Class & Objects
40
1.9.1 Yapıcılar – Constructor
41
1.9.2 “this” Komutu Kullanımı
42
1.9.3 Yapıcıya İsimli Parametre İle Değer Gönderme
43
1.9.6 İsimli Yapıcılar (named constructor)
46
1.9.7 Factory Yapıcılar (Yönlendirici Yapıcılar)
48
1.9.8 Composition – Bir Sınıftan Başka Bir Sınıfa Erişim
50
2.1 Flutter’ın Genel Özellikleri
53
2.2.1 Renk Widgetları – Color Widget
54
2.2.2 Metin Widgetları– Text Widget
55
2.2.2.4 TextDecoration.lineThrough
56
2.2.3 Zengin Text Widget – RichText Widget
56
2.2.4 Merkeze Alma Widget’ı – Center Widget
58
2.2.5 Sütun Widget’ı – Column Widget
58
2.2.5.1 crossAxisAlignment
58
2.2.5.2 mainAxisAlignment
58
2.2.6 Satır Widget’ı – Row Widget
59
2.2.6.1 crossAxisAlignment
59
2.2.6.2 mainAxisAlignment
59
2.2.9 Kutu Widget – Container Widget
60
2.2.9.1 decoration: BoxDecoration
60
2.2.10 Boşluk Ayarlamaları ve Boyutlandırma Widgetları
62
2.2.10.1 Margin Widget
62
2.2.10.2 Padding Widget
63
2.2.10.3 IntrinsicHeight Widget
63
2.2.10.4 mainAxisSize Widget
64
2.2.10.5 Expanded Widget
64
2.2.10.6 width: double.infinity Widget
64
2.2.10.7 height: MediaQuery.of(context).size.height Widget
64
2.2.10.8 SizedBox Widget
64
2.2.10.9 SafeArea (Güvenli Alan) Widget
65
2.2.10.10 RotatedBox Widget
65
2.2.10.11 İnfinity Widget
65
2.2.10.12 MediaQuery Widget
65
2.2.10.14 En Boy Oranlama – AspectRatio Widget
73
2.2.11 Görüntü İşlem Widgetları – Image Widget
74
2.2.11.2 Image.network
78
2.2.11.6 Text Placeholder
81
2.2.12 Durumsuz Widget – Stateless Widget
81
2.2.13 Durumlu Widget – Statefull Widget
83
2.2.13.2 initState() Kullanımı
84
2.2.13.3 dispose() kullanımı
84
2.2.13.4 SetState Yapısı
84
2.2.14 Buton Widgetlar
85
2.2.14.1 floatingActionButton
85
2.2.14.2 Elevated Button
90
2.2.14.3 ElevatedButton.icon
92
2.2.14.7 OutlinedButton
97
2.2.15 Nesnelere Tıklama Özelliği Kazandırma
100
2.2.15.1 GestureDetector Widget
100
2.2.15.2 Inkwell Widget
102
2.2.16 Diyalog Pencereleri
105
2.2.16.1 AlertDialog Widget
105
2.2.16.2 SimpleDialog Widget
107
2.2.16.3 SnackBar Widget
109
2.2.17 Kırpma İşlemleri
111
2.2.17.1 ClipRect Widget
111
2.2.17.2 ClipRRect Widget
113
2.2.17.3 ClipOval Widget
115
2.2.17.4 ClipPath Widget
116
2.2.18 Liste Kutucuğu – ListTile Widget
118
2.2.20 Flutter Liste Yapıları
122
2.2.20.1 ListView Widget
122
2.2.20.2 ListView.Builder Widget
124
2.2.20.3 Çok Boyutlu Listeler – GridView Listeler
126
2.2.20.3.1 GridView.Count Widget
126
2.2.20.3.2 GridView.extent Widget
129
2.2.20.3.3 GridView.builder Widget
132
2.2.20.4 Özel Listeler – CustomScrollView Widget
134
2.2.20.4.1 SliverAppBar
134
2.2.21 Yandan Açılan Çekmece – Drawer Widget
146
2.2.22 Sayfalar Arası Geçiş – Navigator Widgetları
148
2.2.22.1 Navigator.push Widget
148
2.2.22.2 Navigator.pop Widget
149
2.2.22.3 Navigator.pushment Widget
153
2.2.22.4 Navigator.popUntil Widget
153
2.2.22.5 Navigator.pushAndRemoveUntil Widget
153
2.2.22.6 Rotalar – Routes
154
2.2.22.7 Navigator.pushNamed Widget
154
2.2.23 Genişletebilir Kutucuklar – Expansiontile Widget
159
2.2.24 Üst Sekmeler – TabBar ve TabBarView Widget
162
2.2.24.3 TabPageSelector
163
2.2.25 Alt Sekmeler – Bottom Navigation Bar Widget
166
2.2.26 Kaydırılabilir Sayfalar – PageView Widget
171
2.2.27 Yığın İşlemleri – Stack Widget
174
2.2.28 Form İşlemleri
176
2.2.28.2 TextFormField Widget
177
2.2.28.3 CheckBoxListTile Widget
185
2.2.28.4 RadioListTile Widget
189
2.2.28.5 SwitchListTile Widget
193
2.2.28.6 Slider Widget
195
2.2.28.7 DropdownButton Widget
198
2.2.29 Tarih ve Saat İşlemleri
209
2.2.29.1 Sistem Saati – DateTime.now() Widget
209
2.2.29.2 Tarih Seçme – ShowDatePicker Widget
211
2.2.29.3 Saat Seçme – ShowTimePicker Widget
211
2.2.30 Sayfayı Yenileme – RefreshIndicator Widget
214
E–TİCARET SİTESİ UYGULAMASI
216
3. UZAK VERİTABANI İŞLEMLERİ – FIREBASE
241
3.1 Firebase Projesi Oluşturma
241
3.2 Veri Tabanını Oluşturma
246
3.3 Veri İşlemleri – Firestore Database
246
3.3.1. Tüm Kayıtları Listeleme
248
3.3.2. Tek Bir Veri Listeleme
251
3.3.3. Bilgileri Sıralayarak Listeleme – orderBy
253
3.3.4. Sorgu Oluşturarak Bilgilere Ulaşmak
255
3.3.5. Çoklu Sorgu Oluşturarak Bilgilere Ulaşmak
257
3.3.6. Gecikmeli Gelen Veriler – FutureBuilder
259
3.3.7. Canlı Yayınla Gelen Veriler – Stream Builder
262
3.3.8 Veri Tabanına Kayıt Ekleme
265
3.3.9 Kayıt Güncelleme
269
3.4 Giriş/Çıkış İşlemleri – Authentication Servisi
273
3.4.1. Anonim (Anonymous) Giriş İşlemleri
273
3.4.2. Sağlayıcı – Provider
274
3.4.3. E–mail ve Şifre ile Giriş/Çıkış İşlemleri ve Şifre Sıfırlama
278
3.4.4. Google Hesabı ile Giriş Yapma
294
3.5. Fotoğraf ve Video Depolama – Storage Servisi
299
3.5.1 Fotoğraf Makinesiyle Fotoğraf Çekmek
301
3.5.2 Galeriden Fotoğraf Seçmek
301
3.5.3 Storage Servisinden Fotoğraf/Video Silme
301
ÖĞRENCİ İŞLEMLERİ MOBİL UYGULAMASI
308