Icon widget'ı üzerine basılabilir bir widget'tır ve buton görevi görür
Soru 7
State'lerin yaşam döngüsüyle ilgili hangisi yanlıştır?
A
Bir state oluşturulduğunda ilk olarak build method'u çağrılır ve sonrasında initState tetiklenir
B
State yok olmadan önce dispose method'u tetiklenir
C
Stateler build method'u tekrar çağrıldığında çöpe atılmazlar
D
State yeni bir widget nesnesi ile eşleştiğinde didUpdateWidget tetiklenir
Soru 8
Widget ağacında alttaki bir widget'ın üstteki bir widget'a hangi yolla bilgi iletmesi en uygundur?
A
Üstteki, çocuğu yaratırken kendi referansını parametre olarak verir
B
Üstteki, çocuğu yarattıktan sonra onun referansını tutar ve ona kendi referansını verir
C
Çocuk, StatelessWidget'ın parent property'sini kullanarak üsttekine erişir
D
Üstteki, çocuğa istediği zaman çağıracağı bir fonksiyon verir
Soru 9
Bir Row'un çocukları arasında Expanded varsa ve Row'a mainAxisSize.min parametresi verilmişse ne olur?
A
mainAxisSize.min gözardı edilir ve Row mainAxisSize.max gibi davranır
B
Expanded, Flexible gibi davranır
C
Expanded gözardı edilir ve o hiç yokmuş gibi davranılır
D
Row yatayda olabilecek minimum büyüklüğü alır
Soru 10
Bir ekrandan geri dönülmesi esnasında kullanıcıya ekrandakileri kaydetmek isteyip istemediğini sormak istiyoruz. Ne yapabiliriz?
A
Navigator.of(context).pop()'u çağırmadan önce bir if ile kontrol yapabiliriz
B
WillPopScope kullanarak .pop() yerine .maybePop() kullanabiliriz
C
Kullanıcı Android'de back butotuna basarsa .pop() kodunu biz çağırmadığımızdan hiçbir şey yapamayız
D
Geri dönerken verileri diğer ekrana iletip o ekranda soruyu sorabiliriz. Kabul ederse kaydetme işini orada yapabiliriz
Soru 11
getDocuments() isimli bir async fonksiyonumuz var. Bununla ekranda göstermek istediğimiz dökümanları alıyoruz. Bu fonksiyon için hangisi doğru bir kullanımdır?
StatefulWidget'ın initState'inde bu fonksiyonu await ederek çağırır ve sonucu documents field'ımıza setState ederek atarız
C
StatelessWidget'ımızda bu fonksiyonu çağırır ve sonucu ekranda gösteririz
D
StatefulWidget'ın initState'inde bu fonksiyonu await etmeden çağırır ve Future nesnesini bir field'ımıza atayarak FutureBuilder'ın future parametresine veririz
Soru 12
ListView kullanırken içerisindeki her bir elemanın ayrı key'e sahip olmasının avantajı nedir?
A
Flutter, key'i kullanarak benzer elemanların birbiri ile karışmasını engelleyebilir
B
Key sayesinde elemanların yaratılma süreleri kısalır
C
Key olmadan ListView içerisine eleman koymak mümkün değildir
D
Bir avantajı yoktur
Soru 13
Aşağıdakilerden hangisi kullanıcıdan girdi almamızı sağlayan bir widget değildir?
A
Slider
B
Radio
C
Switch
D
RichText
Soru 14
Yeni bir uygulama geliştirirken aşağıdaki yaklaşımlardan hangisi uygun olur?
A
Uygulamamızı geliştirirken bir ekranı baştan sona kodladıktan sonra test etmeye başlayabiliriz. Geliştirme devam ederken çalıştırıp denemek bizi yavaşlatacağı için tercih edilmez
B
Ekranlarımızı en basit bir şekilde boş bir Scaffold ile başlatmak, Text gibi çok basit widget'lar ile tasarımına giriş yaptığımız alanları hot reload eşliğinde evirmek, verimli bir geliştirme deneyimi sağlar
C
Ekranlarımızı geliştirmeye başlarken API servislerine bağlı bir şekilde başlamak gerekir. Aksi takdirde sonra API servislerine entegre etmek için gereksiz vakit kaybı yaşarız
D
Ekran ögelerimizin hepsinin ölçüsünü belirleyerek ve onlara SizedBox gibi widget'larla boyut vererek tasarımımızı başlatmalıyız
Soru 15
Riverpod ile ilgili aşağıdakilerden hangisi yanlıştır?
A
ChangeNotifierProvider kullanarak ChangeNotifier'ı extend eden bir nesneyi uygulama içerisinde paylaşabilir ve notifyListeners fonksiyonunu ile onu kullanan tüm arayüzlerin rebuild olmasını sağlayabiliriz
B
StateNotifierProvider kullanarak StateNotifier'ı extend eden bir nesneyi uygulama içerisinde paylaşabilir ve bunun içinde state'e yeni bir değer atarak onu kullanan tüm arayüzlerin rebuild olmasını sağlayabiliriz
C
FutureProvider ile asenkron bir işlemin sonucunu uygulamanın geri kalanına AsyncValue aracılığı ile sunabiliriz
D
Provider ile bir nesneyi paylaşmak, o nesneyi kullanan tüm kullanıcı arayüzlerinin nesne değiştikçe güncellenmesini sağlamaya yeterlidir
Soru 16
HTTP istemleri atarken ve gelen sonucu kullanırken JSON veriler kullanan bir API ile çalışıyoruz. Bununla ilgili aşağıdakilerden hangisi yanlıştır?
A
İstemi hazırlarken, kullanıcı girişi bilgisi gibi bazı bilgileri header içinde vermemiz gerekebilir
B
Geri gelen yanıtın içindeki JSON'u Response nesnesinin içindeki body değişkeninde bir String olarak bulabiliriz
C
Gelen JSON'u jsonDecode ile parse edebiliriz, bunun sonucunda her zaman mutlaka bir Map elde ederiz
D
JSON'u parse ederek elde ettiğimiz List veya Map nesnelerini kullanmaktansa, onların içindekileri kendi yarattığımız veri nesnelerine bir kerede aktarıp o veri nesneleri ile devam edersek, sunucudan gelen verinin yapısının değişmesi ile oluşacak hataları tek bir yere toplamış oluruz
Soru 17
Çağırdığımız bir fonksiyon bir hata throw ettiğinde ve bunu try ile yakaladığımızda aşağıdakilerden hangisini yapmak en kötüsüdür?
A
Snackbar ile bir mesaj göstermek
B
Dialog ile bir mesaj göstermek
C
Kodun burasında bu konuda bir şey yapamayacağımızı anlayıp rethrow etmek
D
Kodun burasında bu konuda bir şey yapamayacağımızı anlayıp sadece print etmek
Soru 18
Firebase Cloud Firestore ile ilgili aşağıdakilerden hangisi yanlıştır?
A
Firestore'da en üst seviye elemanlar birer collection'dır
B
Her collection'un altında makul bir sayıda document bulundurmalıyız, çünkü hepsini birlikte indirmek durumundayız
C
Her document'in altında yüksek sayılarda collection bulundurabiliriz
D
Her document'in altında makul bir sayıda field bulundurmalıyız, çünkü hepsini birlikte indirmek durumundayız.
Soru 19
Flutter'daki animasyonlar ile ilgili hangisi yanlıştır?
A
Container, Padding, Positioned gibi bir çok widget'ın, isminin başına Animated eklenmiş versiyonları vardır. Bu widgetlar, özellikleri değiştikçe bu değişimi bir implicit animasyon olarak ekrana yansıtırlar
B
Bir implicit animasyonun çalışması için widget'ın bir özelliğini değiştirmek yeterli olmaz. Bir loop ve setState ile ara değerleri hesaplayıp uygulamamız gerekir
C
Implicit animasyon widget'larının duration parametresi vardır ve gerçekleşecek olan animasyonun ne kadar süre alacağını belirtir
D
Implicit animasyon widget'larının curve parametresi vardır ve gerçekleşecek olan animasyonun hareket eğrisini seçmemize yarar
Soru 20
Flutter'da unit testler ile ilgili hangisi doğrudur?
A
Bu testler bilgisayarda değil, cihazda çalışır
B
Bu testler uygulamamızın bir parçası şeklinde çalışır ve uygulamamızın içine girer
C
Bu testler class'larımızın girdi-çıktı açısından basit davranışlarını test eder
D
Bu testler uygulamamızın görsel davranışlarını test eder
Soru 21
Flutter'da release build'i ile ilgili hangisi doğrudur?
A Köşedeki debug banner'ini sadece release build'i alarak saklayabiliriz
B Release build'i, debug build'i ile birebir aynıdır, performans ve hatalar açısından bir değişiklik olmaz
C Release build'i ile hot reload yapabiliriz
D Release build'i, debug build'inden daha verimli çalışacak şekilde üretilir