AUZEF Mobil Programlama Çıkmış Sorular
İstanbul Üniversitesi AUZEF Mobil Programlama dersinin vize, final ve bütünleme sınavlarına hazırlanmak için 170 soruluk havuz: çıkmış sınav sorularını cevaplarıyla çöz, yanlış yaptıklarını tekrar et, yolda sesli dinle.
Mobil Programlama konu özeti
Mobil Programlama dersi, Dart diliyle Flutter çerçevesinde mobil uygulama geliştirmeyi anlatır. Kurulum, widget ve düzen yapısı, sayfa yönlendirme, durum yönetimi, veri saklama, test ve performans konuları işlenir.
Mobil Dünya ve Flutter Kurulumu
- Akıllı telefonları klasik modellerden ayıran özellik, sonradan uygulama yüklenebilmesidir. 2020 dolaylarında en yaygın mobil işletim sistemi Android olmuştur.
- Flutter ayrı bir dil değildir; Dart ile kullanılan bir SDK ve çerçevedir.
- Flutter dört kanaldan sunulur: Stable, Beta, Dev ve Master. Master en yeni ama en kararsız olandır.
- flutter doctor kurulumu denetler ve eksikleri listeler. flutter config ile Windows masaüstü gibi platform desteği açılır.
- Debug, profile ve release olmak üzere üç derleme kipi vardır. Dağıtım release ile yapılır; kod karartma için obfuscate kullanılır.
Dart Dili Temelleri
- Null olabilen değişken ? ile tanımlanır; değerin dolu olduğundan emin olan geliştirici sonuna ! koyar.
- List ve Map jenerik koleksiyonlardır. Map anahtar-değer çiftlerini, List sıralı veriyi, Set tekrarsız veriyi tutar.
- Adı _ ile başlayan tanımlayıcı kütüphaneye özeldir; Dart'ta public/private anahtar sözcükleri yoktur.
- Spread için ..., null olabilecek kaynak liste için ...? kullanılır. Getter get ile tanımlanır ve salt okunur özellik sağlar.
- Extension sözdizimi extension Ad on Sinif şeklindedir. Dart tek iş parçacıklıdır; ağır işler isolate ile ayrı çalıştırılır.
Widget Yapısı ve Durum
- Etkileşimsiz sabit bileşenler StatelessWidget, zamanla değişen arayüzler StatefulWidget ile yazılır.
- Her özel widget'ta build metodu @override edilerek bir Widget döndürülmelidir.
- StatefulWidget'ta değişiklik setState() ile bildirilir ve arayüz yeniden çizilir.
- Flutter bildirimsel (declarative) çalışır: arayüz mevcut durumun yansımasıdır.
- Veri yukarıdan aşağıya akar; üstteki widget'ın yeni değeri alttakine yapıcı fonksiyonu ile verilir.
Düzen ve Arayüz Bileşenleri
- Kısıtlar yukarıdan aşağı iner. Kökteki Container ekranın sıkı kısıtını alır ve verilen ölçüyü yok sayıp ekranı kaplar.
- Container tek çocuklu bir kutudur (renk, kenarlık, boşluk). Yan yana dizmek için Row, alt alta için Column kullanılır.
- mainAxisAlignment ana eksen hizasını belirler. Column'da crossAxisAlignment yatay yerleşimi ayarlar.
- Scaffold sayfa iskeletidir (AppBar, body, FloatingActionButton, Drawer). ListTile liste satırı sunar, GridView kaydırılabilir ızgara gösterir.
- GestureDetector dokunmayı onTap ile yakalar. ListView.builder ve GridView.builder tembel yükleme yapar.
- material.dart Android benzeri hazır Material bileşenlerini sağlar.
Sayfa Yönlendirme
- Navigator.pushNamed adlandırılmış rotayı açar; veri arguments parametresiyle gönderilir. Geri dönmek için pop kullanılır.
- MaterialApp'in routes parametresi Map<String, WidgetBuilder> alır.
- onGenerateRoute, RouteSettings alan bir fonksiyon bekler; MaterialApp ve CupertinoApp'te bulunur.
- Navigator 2.0 yapı taşları Router, RouterDelegate, RouteInformationParser ve Page'dir. Scaffold ve Screen bu API'nin parçası değildir.
Paketler, Varlıklar ve Veri Saklama
- Paketler pub.dev'den aranır; pubspec.yaml'a yazılır ve flutter pub get ile indirilir. Sürüm başındaki ^ uyumlu yeni sürümlere izin verir.
- Paket pub.dev, Git veya yerel yoldan alınabilir; zip dosyası standart desteklenmez.
- Resim, font gibi varlıklar pubspec.yaml'daki assets bölümünde tanımlanır; AssetBundle ve rootBundle ile okunur.
- Package yalnızca Dart koduyla yazılır; Plugin platform koduyla köprü kurar.
- shared_preferences küçük verileri anahtar-değer olarak kalıcı saklar; örnek SharedPreferences.getInstance() ile alınır.
- path_provider platformdan bağımsız klasör yolu verir; kalıcı dizin için getApplicationDocumentsDirectory kullanılır.
- SQLite sunucusuz, gömülü bir motordur ve veritabanı tek dosyadır. Flutter'da dosya yazma dart:io ile yapılabilir.
- Android internet izni AndroidManifest.xml dosyasına yazılır.
Durum Yönetimi, Animasyon ve Ağ
- Uygulama geneli paylaşılan veri (oturum, tema, sepet) için provider kullanılır; tek widget'ın geçici durumu için App State gereksizdir.
- Consumer yalnızca kendi bölümünü yeniden çizer; child parametresi değişmeyen kısmı tekrar oluşturmaktan korur.
- AnimationController'daki vsync: this, ekran dışında gereksiz kaynak tüketimini önler.
- Çok aşamalı animasyon için TweenSequence kullanılır. AnimatedContainer font boyutunu değiştiremez; bunun için AnimatedDefaultTextStyle gerekir.
- http.get() Future<http.Response> döndürür. jsonDecode JSON metnini nesneye, jsonEncode tersini yapar.
- Firebase servislerinden önce Firebase.initializeApp() çağrılır.
Test, Hata Ayıklama ve Performans
- Birim testte sonuç expect ile doğrulanır. Dış kaynakları taklit etmek için Mockito kullanılır.
- build_runner watch kod üretimini sürekli izler; build tek seferliktir.
- Dart DevTools çalışma zamanını izler; Performance View kare süresini ve UI/Raster yoğunluğunu gösterir.
- Teknik performans bellek, enerji, uygulama boyutu ve hız ile ölçülür; kullanılabilirlik teknik metrik değildir.
- Flutter yaklaşık 60 kare/sn hedefler; ağacın her 4 ms'de yenilenmesi zorunluluğu yoktur.
- Widget ayrıntıları için Flutter API dokümantasyonu, widget tanıtımı için Widget Catalog bakılır.
Önemli kavramlar
- setState
- Durum değiştiğini Flutter'a bildirip build metodunun yeniden çalışmasını sağlayan fonksiyon.
- StatelessWidget
- Çizildikten sonra iç durumu değişmeyen, sabit arayüz bileşeni.
- StatefulWidget
- Etkileşimle içeriği çalışma sırasında değişebilen arayüz bileşeni.
- Scaffold
- AppBar, gövde ve eylem düğmesi gibi öğeleri tutan Material sayfa iskeleti.
- pubspec.yaml
- Paketlerin, varlıkların ve proje ayarlarının tanımlandığı yapılandırma dosyası.
- AssetBundle
- Projeye eklenen resim, font ve metin gibi statik varlıklara koddan erişim sağlayan yapı.
- Isolate
- Dart'ın kendi belleği olan, mesajlaşarak haberleşen arka plan çalışma birimi.
- Lazy Loading
- Verinin yalnızca ekranda görünen kısmının yüklenmesi.
- Consumer
- Provider ile veri değişimini dinleyip yalnızca ilgili bölümü yeniden çizen widget.
- Mockito
- Test için gerçek servis yerine sahte nesneler üreten paket.
- Plugin
- Dart ile birlikte platforma özgü kod içeren, donanım ve sistem özelliklerine erişen paket.
Sınav ipuçları
- Container tek çocuk ve görsel stil içindir; yan yana dizmek için Row, dikey için Column seçilir.
- Ana eksen ile çapraz eksen karıştırılmamalı: Column'da ana eksen dikey, crossAxisAlignment yataydır.
- Navigator 2.0 ve Navigator API sorularında Scaffold ile Screen yapı taşı değildir.
- Debug geliştirme, profile performans analizi, release dağıtım içindir.
- SharedPreferences küçük anahtar-değer verisi için, path_provider dosya yolları için kullanılır.
Hangi sınavların soruları var?
Mobil Programlama örnek sorular
Aşağıdaki sorular dersin konularından derlenmiştir; cevabı görmek için "Cevabı gör"e dokunun. Tüm soruları uygulamada çözebilirsiniz.
1. Windows işletim sistemi için Flutter projesi geliştirmeyi mümkün kılan “--enable-windows-desktop” parametresi, aşağıdaki terminal komutlarından hangisiyle birlikte yazılır?
- flutter platform
- flutter create
- flutter doctor
- flutter config
- flutter enable
Cevabı gör
Doğru cevap: D) flutter config
Varsayılan olarak kapalı olan platform desteklerini açmak için flutter config komutu kullanılır. Windows masaüstü desteği “flutter config --enable-windows-desktop” ile etkinleştirilir.
2. Ayrıntılı sayfa yönlendirmesi yapmak için kullanılan onGenerateRoute parametresini aşağıdaki widget'lardan hangisi barındırır?
- Scaffold
- GestureDetector
- Container
- StatefulWidget
- CupertinoApp
Cevabı gör
Doğru cevap: E) CupertinoApp
onGenerateRoute gibi yönlendirme ayarları uygulamanın en üstündeki kapsayıcı widget'larda bulunur. Bunlar MaterialApp ve onun iOS tasarımlı karşılığı olan CupertinoApp'tir.
3. Flutter, kod içinde projeye eklenmiş varlıklara (assets) ulaşmak için ………. yapısından yararlanır. Boşluğa aşağıdakilerden hangisi gelmelidir?
- AssetBundle
- AssetFolder
- AssetString
- AssetMap
- AssetStream
Cevabı gör
Doğru cevap: A) AssetBundle
pubspec.yaml dosyasıyla pakete eklenen resim, font ve metin dosyası gibi statik kaynaklara koddan erişmek ve okumak için AssetBundle sınıfı kullanılır; genellikle DefaultAssetBundle.of(context) biçiminde alınır.
4. Aşağıdakilerden hangisi, 2021 yılında Flutter tarafından desteklenmeyen işletim sistemidir?
- Linux
- HarmonyOS
- Android
- iOS
- Windows
Cevabı gör
Doğru cevap: B) HarmonyOS
2021'de Flutter; iOS, Android, Windows, Mac, Linux ve web için resmi destek sunuyordu. Huawei'nin HarmonyOS'u ise bu resmi destek listesinde yer almıyordu.
5. Bir StatefulWidget içinde değişkenin değeri güncellendiğinde, Flutter'a durum değişikliğini haber verip build metodunu yeniden çalıştırarak arayüzün tazelenmesini sağlayan fonksiyon hangisidir?
- initState()
- dispose()
- setState()
- updateWidget()
- render()
Cevabı gör
Doğru cevap: C) setState()
Bir sayacı yalnızca sayac++ ile artırmak ekranı güncellemez; çerçevenin bilgilendirilmesi gerekir. setState(() { }) içindeki kod çalıştıktan sonra widget yeniden çizilir.
6. Container(width: 100, height: 100, color: red) satırında Container’ın genişliği ve yüksekliği 100 birim olarak verilmiştir. Ancak bu Container sayfanın en üst bileşeniyse ekranın tamamını kaplamaktadır. Bunun nedeni nedir?
- Container’ın color parametresinin tanımlanmış olması
- Container’ın padding parametresinin tanımlanmamış olması
- Container’ın içinde başka bir widget bulunmaması, yani child parametresinin verilmemesi
- Container’ın üstündeki kısıtın onu bu boyuta zorlaması
- Container’ın decoration parametresinin tanımlanmamış olması
Cevabı gör
Doğru cevap: D) Container’ın üstündeki kısıtın onu bu boyuta zorlaması
Flutter’ın düzen kuralı şudur: kısıtlar yukarıdan aşağıya iner, boyutlar aşağıdan yukarıya çıkar. Container kökteyse ve onu sınırlayan Center, Align ya da Scaffold gibi bir bileşen yoksa ekranın sıkı kısıtları doğrudan Container’a iletilir; verilen width/height yok sayılır ve Container ekranı kaplar.
7. Aşağıdaki gereksinimlerin hangisinde arayüz bileşenleri bir Container widget'ının içinde bir araya getirilmez?
- Zemin rengini (color) belirlemek
- İçindeki nesneleri soldan sağa doğru yan yana dizmek
- Kenarlık özelliklerini (border) belirlemek
- Dış boşluk (margin) vermek
- İç boşluk (padding) vermek
Cevabı gör
Doğru cevap: B) İçindeki nesneleri soldan sağa doğru yan yana dizmek
Container; renk, kenarlık, dış boşluk ve iç boşluk vermek için kullanılan bir kutu modelidir ve yalnızca tek bir child alır. Nesneleri yan yana dizmek için Row widget'ı kullanılır.
8. Kendi arayüz bileşenimizi oluştururken sınıf içinde @override ile belirtilerek mutlaka yazılması gereken fonksiyon hangisidir?
- build
- init
- runApp
- create
- main
Cevabı gör
Doğru cevap: A) build
Kendi yazdığımız her StatelessWidget veya StatefulWidget, ekranda neyin gösterileceğini build metodunda bir Widget döndürerek belirtmek zorundadır. Bu yüzden build metodu @override edilir.
9. Flutter üzerinden Dart için geliştirilmiş açık kaynaklı kütüphanelerin paylaşıldığı ve projeye eklenecek paketlerin arandığı web adresi olan https:\pub.dev, aşağıdaki tanımlardan hangisiyle örtüşür?
- Flutter çerçevesine ait belgelerin yer aldığı site
- Android ile iOS işletim sistemlerinin özelliklerinin açıklandığı site
- Dart için hazırlanmış açık kaynaklı kütüphanelerin Flutter üzerinden paylaşıldığı site
- Dart uygulamalarının tarayıcıda yazılıp çalıştırılabildiği site
- Dart dilinin belgelerinin yer aldığı site
Cevabı gör
Doğru cevap: C) Dart için hazırlanmış açık kaynaklı kütüphanelerin Flutter üzerinden paylaşıldığı site
pub.dev, Flutter ve Dart projelerine eklenen (pubspec.yaml dosyasında tanımlanan) resmi ve üçüncü parti paketlerin, eklentilerin ve kütüphanelerin toplandığı resmi paket deposudur.
10. Flutter'da widget'lar Row veya Column ile yatay ya da dikey dizildiğinde, bunların ana eksen (main axis) boyunca hizalanmasını (ortalama, aralıkları eşitleme gibi) belirleyen özellik hangisidir?
- crossAxisAlignment
- mainAxisAlignment
- alignment
- mainAxisSize
- textAlign
Cevabı gör
Doğru cevap: B) mainAxisAlignment
Row ve Column'da widget'ların ilerlediği yön ana eksen, buna dik yön çapraz eksendir. Ana eksendeki hizalama ve boşluk dağılımı mainAxisAlignment ile ayarlanır.
Bu dersi alan bölümler
Nasıl çalışmalı?
Önce "Vize (hepsi)" ya da "Final (hepsi)" ile geçmiş yılların sorularını çözün; aynı konular sınavlarda sık tekrarlanır. Yanlış yaptığınız sorular "Yanlışlar" bölümünde birikir, sınavdan önce onları yeniden çözün. Yolda ya da ev işi yaparken "Sesli Dinle" ile soruları ve cevaplarını dinleyebilirsiniz.
Sık sorulan sorular
AUZEF Mobil Programlama çıkmış sorular nerede?
Mobil Defter'de AUZEF Mobil Programlama dersinin vize, final ve bütünleme hazırlığı için 170 sorusu var (2026 Final, 2025-26 Vize, 2025 Vize, 2025 Üç Ders). Soruları cevaplarıyla test olarak çözebilir, yanlışlarını ayrıca tekrar edebilir ve sesli dinleyebilirsin.
AUZEF Mobil Programlama vize soruları ve final soruları ayrı çözülebilir mi?
Evet. Uygulamada "Vize (hepsi)" ve "Final (hepsi)" düğmeleriyle yalnız o sınavın sorularını, yıl düğmeleriyle de tek bir yılın sınavını çözebilirsin.
AUZEF Mobil Programlama çıkmış sorular PDF olarak indirilebilir mi?
Ayrı bir PDF dosyası yerine uygulamadaki "Kağıda yazdır" düğmesi dersin bütün sorularını ve cevap anahtarını yazdırılabilir sayfa olarak hazırlar; telefonda ya da bilgisayarda "PDF olarak kaydet" seçeneğiyle PDF yapabilirsin.
AUZEF Mobil Programlama ders notları ve konu özeti var mı?
Evet. Bu sayfada dersin konu özeti var; uygulamadaki "Konu özeti" düğmesiyle özetin tamamını okuyabilir ya da sesli dinleyebilirsin.
AUZEF Mobil Programlama soruları ücretli mi?
Hayır, ücretsiz. Ad, cep telefonu ve bölümünle bir dakikada üye olup bütün sorulara, yanlışlar listesine ve sesli dinlemeye erişebilirsin.
3. sınıf Güz diğer dersler
- 17.-18. Yüzyıl Osmanlı Tarihi çıkmış sorular
- Acil Durum Yönetimi çıkmış sorular
- Acil Hizmetlerin Yönetimi çıkmış sorular
- Afetler ve Coğrafi Bilgi Sistemleri çıkmış sorular
- Afetlerde Bilişim ve İletişim Teknolojilerinin Kullanımı çıkmış sorular
- Afetlerde Lojistik Yönetimi çıkmış sorular
- Aile Sosyolojisi çıkmış sorular
- Ajanslarda Organizasyon ve Yönetim çıkmış sorular
- Araştırmacı Gazetecilik çıkmış sorular
- Avrupa Birliği-Türkiye İlişkileri çıkmış sorular
- Birey, Aileler ve Sosyal Hizmet çıkmış sorular
- Ceza Hukuku çıkmış sorular
- Çalışma İlişkileri Tarihi çıkmış sorular
- Çalışma Psikolojisi çıkmış sorular