LOLONOLO Ana Sayfa » blog » auzef » Mobil Programlama 2024-2025 Vize Soruları (Güz)
auzefBilgisayar ProgramcılığıMobil ProgramlamaWeb Tasarım Ve Kodlama

Mobil Programlama 2024-2025 Vize Soruları (Güz)

Mobil Programlama 2024-2025 Vize Soruları (Güz)

 
LOLONOLO Ana Sayfa » blog » auzef » Mobil Programlama 2024-2025 Vize Soruları (Güz)

#1. Aşağıdaki operatörlerden hangisi bir listedeki içeriği bir başka listeye kopyalamak için kullanılır?

Cevap : D) …? (üç nokta soru işareti)
Açıklama : Dart dilinde “spread operator” olarak adlandırılan `…` (üç nokta), bir koleksiyonun elemanlarını başka bir koleksiyona kopyalamak için kullanılır. `…?` ise, kopyalanacak listenin boş veya null olması durumunda hata vermemesi için güvenli bir kullanımdır.

#2. Yukarıdaki kod bloğunun ekran çıktısı aşağıdakilerden hangisidir?

Cevap : D) 5
Açıklama :

#3. Kullanıcı etkileşimi olmayacak kendi arayüz bileşenimizi tasarlamak istiyorsak hangi sınıftan miras almamız uygun çözümdür?

Cevap : B) Stateless Widget
Açıklama : Flutter’da kullanıcı etkileşimi olmayan ve içsel durum bilgisi tutmayan arayüz bileşenleri oluşturmak için “StatelessWidget” sınıfından miras alınır.

#4. Aşağıdaki veri türlerinden hangisi Jenerik (Generic) bir türdür?

Cevap : B) List
Açıklama : “List” veri türü, `List` şeklinde tanımlanarak, içindeki elemanların türünü (E) belirtme imkanı sunar. Bu, List’i bir “Jenerik (Generic)” veri türü yapar. Diğerleri temel veri türleridir.

#5. Dart programlama dili için aşağıda verilen ifadelerden hangisi yanlıştır?

Cevap : D) Fonksiyon çağrısında normal parametrelere değer girilmesi zorunlu değildir.
Açıklama : Dart’ta normal (positional) parametrelerin fonksiyon çağrısı sırasında değer alması zorunludur. Değer atanması zorunlu olmayan parametreler named (adlandırılmış) veya optional (isteğe bağlı) parametrelerdir. Bu nedenle ifade yanlıştır.

Öğrenme Yönetim Sistemi Öğrenci Dostu LOLONOLO bol bol deneme sınavı yapmayı önerir.

#6. 2010-2020 yılları arasındaki istatistiklere göre 2020 civarında akıllı telefon pazarında en fazla kullanılan işletim sistemi hangisidir?

Cevap : D) Android
Açıklama : 2010-2020 yılları arasındaki istatistiklere göre, 2020 civarında akıllı telefon pazarında en baskın ve en fazla kullanılan işletim sistemi “Android”dir.

Mobil Programlama 2024-2025 Vize Soruları (Güz) 10. SORU-min

#7. Yukarıdaki şekilde kodlaması başlayan bir Widget sınıfı için hangi seçenek her zaman doğrudur?

Cevap : A) TobboxA içerisinde setState() metodu ile arayüz güncellemesi tetiklenir.
Açıklama :

#8. Kendi arayüz bileşenimizi üretmek istediğimizde, arayüz bileşeni sınıfını tanımlamasında, @override ile işaretleyip yazmak zorunda olduğumuz fonksiyon aşağıdakilerden hangisidir?

Cevap : C) build
Açıklama : Flutter’da bir arayüz bileşeni sınıfı (StatelessWidget veya StatefulWidget) oluşturduğumuzda, `build` fonksiyonunu `@override` anahtar kelimesiyle işaretleyerek yazmak zorundayız. Bu fonksiyon, bileşenin arayüzünü oluşturur.

#9. Aşağıdakilerden hangisi Flutter Navigator API’ında bulunan temel bileşenlerden biri değildir?

Cevap : A) Screen
Açıklama : Flutter’da sayfalar arası gezinti sağlayan Navigator API’ında `Navigator`, `Route`, `Router` ve `Page` gibi temel bileşenler bulunur. “Screen” ise genellikle bir sayfa veya rota olarak adlandırılan yapının genel bir ismidir, API’daki spesifik bir bileşen değildir.

Mobil Programlama 2024-2025 Vize Soruları (Güz) 16. SORU-min

#10. Satırı ile Flutter projesine eklenecek Material Kütüphanesindeki bileşenler aşağıdaki hangi aşamada fayda sağlamaktadır?

Cevap : E) Arayüz bileşenlerinin Android uygulamalarında kullanılana
Açıklama : Verilen kod satırı, Android uygulamalarında kullanılana benzer, materyal tasarım ilkelerine uygun arayüz bileşenleri (widget) sağlayan “Material” kütüphanesini projeye dahil etmeyi amaçlar. Bu, uygulama geliştirme sürecini kolaylaştırır ve platformlar arası tutarlılık sağlar.

Öğrenme Yönetim Sistemi Öğrenci Dostu LOLONOLO bol bol deneme sınavı yapmayı önerir.

#11. ‘package:flutter/services.dart’ kütüphanesi üzerinden kullanabileceğimiz rootBundle yapısı kullanılma sebebi aşağıdakilerden hangisidir?

Cevap : C) Uygulama içerisindeki tüm varlıklara (assets) erişmek için.
Açıklama : `rootBundle`, Flutter’da uygulama klasörü içindeki varlıklara (assets) (resim, metin, ses dosyaları vb.) erişmek için kullanılan bir yapıdır.

#12. Flutter’daki arayüz bileşenlerinin (widget) nasıl çalıştıkları ve hangi parametreleri aldıklarını en detaylı şekilde öğrenme biçimi aşağıdakilerden hangisidir?

Cevap : B) Flutter API dokümantasyonundan
Açıklama : Flutter’daki her bir widget’ın (arayüz bileşeninin) nasıl çalıştığı, hangi parametreleri aldığı ve ne gibi özelliklere sahip olduğu gibi en detaylı ve resmi bilgiler, “Flutter API dokümantasyonunda” yer almaktadır.

Mobil Programlama 2024-2025 Vize Soruları (Güz) 4. SORU-min

#13. Bir sınıf tanımlaması için yukarıdaki kod bloğu bulunmaktadır. Bu kod bloğunun çağrılma zamanı aşağıdakilerden hangisidir?

Cevap : C) Sınıf için tanımlı olmayan bir fonksiyon çağrılırsa
Açıklama :

#14. Aşağıdakilerden hangisi Flutter çerçevesinin arayüz düzenlemesi için koyduğu kısıtlardan biri değildir?

Cevap : A) Widget ağacı her 4ms’de bir yenilenmek zorundadır. Eğer yenilenmezse ekranda titreme olacaktır.
Açıklama : Flutter, arayüzü saniyede 60 kare (ortalama 16.6ms) hızla çizmeye çalışır. “Her 4ms’de bir yenilenmek” gibi bir zorunluluk yoktur. Bu süre, uygulamanın performansına ve işlem gücüne bağlı olarak değişir.

#15. –enable-windows-desktop ifadesi Windows bir işletim sistemi için Flutter projesi yazmayı mümkün kılmaktadır. Bu ifade hangi terminal komutuna parametre olarak yazılır?

Cevap : A) flutter config
Açıklama :

Öğrenme Yönetim Sistemi Öğrenci Dostu LOLONOLO bol bol deneme sınavı yapmayı önerir.

#16. Aşağıdakilerden hangisi Navigator 2.0 API ile gelen bileşenlerden biri değildir?

Cevap : E) Scaffold
Açıklama : `Scaffold`, temel materyal tasarım düzenini uygulayan bir widget’tır ve Navigator 2.0 API’ına özgü bir bileşen değildir, çok daha önce Flutter’ın temel yapısında yer almıştır. `Page`, `RouterInformationParser`, `RouterDelegate` ise Navigator 2.0 ile gelen yeni bileşenlerdir.

#17. Column widgeti içerisindeki crossAxsisAlignment parametresi aşağıdakilerden hangisi için düzenleme sağlar?

Cevap : E) İçerdiği elemanların yatayda yerleşimi için
Açıklama : `Column` widget’ı, çocuk widget’larını dikey bir eksen üzerinde (main axis) düzenler. `crossAxisAlignment` parametresi ise, bu çocuk widget’larının yatay (cross axis) eksen üzerindeki hizalanmasını düzenler.

Mobil Programlama 2024-2025 Vize Soruları (Güz) 18. SORU-min

#18. Yukarıdaki kod satırı hata vermeden çalışan bir uygulamanın parçası ise yaptığı işlemle ilgili olarak aşağıdaki yorumlardan hangisi doğrudur?

Cevap : E) names bir List örneğidir ve verilen liste bu List objesinin sonuna eklenir.
Açıklama : Verilen kod satırı, names adında bir List değişkeni oluşturur ve bu listeye [‘Lars’, ‘Chris’, ‘Seth’] değerlerini atar. Bu durumda names bir List örneğidir ve verilen liste onun içeriğini oluşturur. Eğer başka bir listeye eklenmesi istenseydi, addAll gibi bir fonksiyon veya … operatörü kullanılırdı.

#19. MaterialApp arayüz bileşeninin routes parametresinin aldığı değer türü aşağıdakilerden hangisidir?

Cevap : C) Map
Açıklama : `MaterialApp` widget’ının `routes` parametresi, rota isimlerini (String) ve bu rotalar için arayüz bileşeni oluşturan fonksiyonları (WidgetBuilder) içeren bir Map veri türü alır.

#20. Flutter projesinin en hızlı güncellemelerini alacağımız kanalı aşağıdakilerden hangisidir?

Cevap : B) Master
Açıklama : Flutter’ın sürüm kanalları arasında en hızlı ve en güncel (ancak en kararsız) olanı “Master” kanalıdır. Bu kanal, geliştirme aşamasındaki en son değişiklikleri içerir.

Öğrenme Yönetim Sistemi Öğrenci Dostu LOLONOLO bol bol deneme sınavı yapmayı önerir.

Öncesi
TESTi BiTiR, PUANINI GÖR

SONUÇ

Mobil Programlama 2024-2025 Vize Soruları (Güz)

Flutter ile Mobil Programlama: Dart Dilinin Esasları ve Widget Mimarisi

Giriş

Günümüz mobil dünyasında, 2020 civarında akıllı telefon pazarının en baskın işletim sistemi olan “Android” gibi platformlar için uygulama geliştirmek büyük önem taşımaktadır. Flutter, bu ihtiyaca cevap veren, hem iOS hem de Android için tek bir kod tabanından yüksek performanslı uygulamalar oluşturmayı sağlayan modern bir çerçevedir. Bu makalede, Flutter’ın temelini oluşturan Dart programlama dili, widget mimarisi ve uygulama geliştirme sürecindeki temel kavramlar ele alınacaktır.

Dart Programlama Dilinin Temel Özellikleri

Flutter’ın gücü, arkasındaki Dart programlama dilinden gelir. Dart, “jenerik” (Generic) veri türlerini destekler; örneğin `List`, içine alacağı elemanın türünü belirterek (`List<String>`) tip güvenliği sağlar. Fonksiyon tanımlamalarında esneklik sunar; bir fonksiyonun geri dönüş türünü veya parametrelerin türünü belirtmek zorunlu değildir. Ancak, normal (positional) parametrelere fonksiyon çağrılırken değer girilmesi zorunludur; bu kuralın ihlali hataya neden olur. Dilin bir diğer pratik özelliği ise `…?` gibi “yayma operatörleridir” (spread operators); bu operatör bir listedeki içeriği, null olma ihtimaline karşı güvenli bir şekilde başka bir listeye kopyalamak için kullanılır.

Flutter Projesini Kurma ve Yönetme

Bir Flutter projesi oluşturmak ve yönetmek için çeşitli komutlar ve yapılar kullanılır. Örneğin, Windows masaüstü desteğini aktif hale getirmek için `flutter config` komutuna “–enable-windows-desktop” gibi parametreler eklenir. Her Flutter projesinde bulunan `import ‘package:flutter/material.dart’;` satırı, projenize Android uygulamalarında kullanılanlara benzer, Materyal Tasarım ilkelerine uygun arayüz bileşenleri sağlayan kütüphaneyi dahil eder. Uygulama içinde resim veya metin dosyaları gibi varlıklara (assets) erişmek için ise `package:flutter/services.dart’` kütüphanesindeki `rootBundle` yapısı kullanılır. Geliştiriciler, Flutter’ın en güncel ancak en kararsız özelliklerine erişmek için ise “Master” adı verilen sürüm kanalını tercih edebilirler.

Flutter’ın Widget Mimarisi ve Arayüz Geliştirme

Flutter’da arayüz oluşturmanın temel felsefesi basittir: Her şey bir widget’tır. Kullanıcı etkileşimi olmayan ve içsel durumu değişmeyen bir arayüz bileşeni tasarlamak için “StatelessWidget” sınıfından miras alınır. Her özel widget sınıfı oluşturulduğunda, arayüzü çizen `build` fonksiyonunu `@override` anahtar kelimesiyle yeniden yazmak zorunludur. Flutter’ın arayüz düzenleme sistemi katı kurallara dayanır: Bir widget ekrandaki konumuna kendisi karar veremez ve boyutunu ancak üst bileşenin verdiği kısıtlar dahilinde belirleyebilir. Bu hiyerarşik yapı nedeniyle, tüm widget ağacı işlenmeden arayüzün nihai halinin nasıl olacağı bilinemez. Bu yapıda, `Column` gibi dikey düzenleme widget’larında bulunan `crossAxisAlignment` parametresi, içerdiği elemanların “yataydaki yerleşimini” düzenler.

Navigasyon ve Dokümantasyon

Uygulama içinde sayfalar arasında geçiş yapmak için Flutter’ın `Navigator API`’ı kullanılır. Bu API, `Route`, `Router` ve `Page` gibi temel bileşenlerden oluşur; “Screen” ise spesifik bir API bileşeni değil, genel bir tanımdır. `MaterialApp` widget’ının `routes` parametresi ise, rota isimlerini ve bu rotaları oluşturan fonksiyonları içeren bir `Map<String, WidgetBuilder>` veri türü alır. Flutter’daki widget’ların nasıl çalıştığını ve hangi parametreleri aldığını en detaylı şekilde öğrenmek için başvurulması gereken en güvenilir kaynak ise “Flutter API dokümantasyonudur”. Navigator 2.0 gibi yeni API’lar gelişmiş özellikler sunarken, `Scaffold` gibi temel düzen widget’ları çerçevenin en başından beri var olan temel taşlarıdır.

Sonuç

Flutter, modern ve esnek Dart dili üzerine kurulu, güçlü bir widget mimarisi sunarak mobil uygulama geliştirmeyi kolaylaştırır. Geliştiriciler, hiyerarşik düzenleme kurallarını ve zengin API setini anlayarak, hem Android hem de iOS platformlarında tutarlı ve yüksek performanslı kullanıcı arayüzleri oluşturabilirler.

@lolonolo_com

Mobil Programlama 2024-2025 Vize Soruları (Güz)

Mobil Programlama 2024-2025 Vize Soruları

1- Mobil Programlama 2024-2025 Vize Soruları (Güz) 1. SORU-min

Yukarıdaki kod bloğunun ekran çıktısı aşağıdakilerden hangisidir?

A) NaN
B) 3
C) null
D) 5
E) 0

Cevap : D) 5

Açıklama :

2- Flutter’daki arayüz bileşenlerinin (widget) nasıl çalıştıkları ve hangi parametreleri aldıklarını en detaylı şekilde öğrenme biçimi aşağıdakilerden hangisidir?

A) Dart dokümantasyonundan
B) Flutter API dokümantasyonundan
C) Android API dokümantasyonundan
D) GitHub Örneklerinden
E) Flutter Cookbook dokümantasyonundan

Cevap : B) Flutter API dokümantasyonundan

Açıklama : Flutter’daki her bir widget’ın (arayüz bileşeninin) nasıl çalıştığı, hangi parametreleri aldığı ve ne gibi özelliklere sahip olduğu gibi en detaylı ve resmi bilgiler, “Flutter API dokümantasyonunda” yer almaktadır.

3- “–enable-windows-desktop” ifadesi Windows bir işletim sistemi için Flutter projesi yazmayı mümkün kılmaktadır. Bu ifade hangi terminal komutuna parametre olarak yazılır?

A) flutter config
B) flutter platform
C) flutter create
D) flutter doctor
E) flutter enable

Cevap : A) flutter config

Açıklama :

4- Mobil Programlama 2024-2025 Vize Soruları (Güz) 4. SORU-min

Bir sınıf tanımlaması için yukarıdaki kod bloğu bulunmaktadır. Bu kod bloğunun çağrılma zamanı aşağıdakilerden hangisidir?

A) Sınıfın bellekte ilk örneği oluşturulurken
B) Sınıfın bellekten örneğinin silineceği zaman
C) Sınıf için tanımlı olmayan bir fonksiyon çağrılırsa
D) Sınıfın bellekte her örneği oluşturulurken
E) Sınıf için yapıcı fonksiyonlar çağrıldıktan sonra

Cevap : C) Sınıf için tanımlı olmayan bir fonksiyon çağrılırsa

Açıklama :

5- Kullanıcı etkileşimi olmayacak kendi arayüz bileşenimizi tasarlamak istiyorsak hangi sınıftan miras almamız uygun çözümdür?

A) Scaffold
B) Stateless Widget
C) Container
D) MaterialApp
E) Widget

Cevap : B) Stateless Widget

Açıklama : Flutter’da kullanıcı etkileşimi olmayan ve içsel durum bilgisi tutmayan arayüz bileşenleri oluşturmak için “StatelessWidget” sınıfından miras alınır.

6- Aşağıdakilerden hangisi Flutter Navigator API’ında bulunan temel bileşenlerden biri değildir?

A) Screen
B) Route
C) Router
D) Navigator
E) Page

Cevap : A) Screen

Açıklama : Flutter’da sayfalar arası gezinti sağlayan Navigator API’ında `Navigator`, `Route`, `Router` ve `Page` gibi temel bileşenler bulunur. “Screen” ise genellikle bir sayfa veya rota olarak adlandırılan yapının genel bir ismidir, API’daki spesifik bir bileşen değildir.

7- 2010-2020 yılları arasındaki istatistiklere göre 2020 civarında akıllı telefon pazarında en fazla kullanılan işletim sistemi hangisidir?

A) HarmonyOS
B) iOS
C) WindowsPhone
D) Android
E) SymbianOS

Cevap : D) Android

Açıklama : 2010-2020 yılları arasındaki istatistiklere göre, 2020 civarında akıllı telefon pazarında en baskın ve en fazla kullanılan işletim sistemi “Android”dir.

8- Flutter projesinin en hızlı güncellemelerini alacağımız kanalı aşağıdakilerden hangisidir?

A) Trouble
B) Master
C) Stable
D) Beta
E) Dev

Cevap : B) Master

Açıklama : Flutter’ın sürüm kanalları arasında en hızlı ve en güncel (ancak en kararsız) olanı “Master” kanalıdır. Bu kanal, geliştirme aşamasındaki en son değişiklikleri içerir.

9- Aşağıdaki veri türlerinden hangisi Jenerik (Generic) bir türdür?

A) double
B) List
C) Object
D) Null
E) Boolean

Cevap : B) List

Açıklama : “List” veri türü, `List` şeklinde tanımlanarak, içindeki elemanların türünü (E) belirtme imkanı sunar. Bu, List’i bir “Jenerik (Generic)” veri türü yapar. Diğerleri temel veri türleridir.

10- Mobil Programlama 2024-2025 Vize Soruları (Güz) 10. SORU-min

Yukarıdaki şekilde kodlaması başlayan bir Widget sınıfı için hangi seçenek her zaman doğrudur?

A) TobboxA içerisinde setState() metodu ile arayüz güncellemesi tetiklenir.
B) TobboxA Widget’ı kullanıcı ile etkileşimde bulunabilir.
C) TabboxA Widget’ı en dış katmandaki Widgettir.
D) TobboxA Widget’ı en iç katmandaki Widgettır.
E) TobboxA Widgeti bir Container içerisinde yer almalıdır.

Cevap : A) TobboxA içerisinde setState() metodu ile arayüz güncellemesi tetiklenir.

Açıklama :

@lolonolo_com

Mobil Programlama 2024-2025 Vize Soruları (Güz)

Mobil Programlama 2024-2025 Vize Soruları

11- Column widgeti içerisindeki crossAxsisAlignment parametresi aşağıdakilerden hangisi için düzenleme sağlar?

A) İçerdiği elemanların dikey taşma yapmaması için
B) İçerdiği elemanların yatay taşma yapmaması için
C) İçerdiği elemanların dikeyde yerleşimi için
D) İçereceği eleman sayısının çalışma zamanı tespiti için
E) İçerdiği elemanların yatayda yerleşimi için

Cevap : E) İçerdiği elemanların yatayda yerleşimi için

Açıklama : `Column` widget’ı, çocuk widget’larını dikey bir eksen üzerinde (main axis) düzenler. `crossAxisAlignment` parametresi ise, bu çocuk widget’larının yatay (cross axis) eksen üzerindeki hizalanmasını düzenler.

12- Aşağıdakilerden hangisi Flutter çerçevesinin arayüz düzenlemesi için koyduğu kısıtlardan biri değildir?

A) Widget ağacı her 4ms’de bir yenilenmek zorundadır. Eğer yenilenmezse ekranda titreme olacaktır.
B) Bir widget ekranda hangi konumda olacağını asla bilemez ve buna karar veremez.
C) Bir widget kendi boyutunu ancak üst seviye bileşenin verdiği kısıtlar arasında seçebilir.
D) Bir üst seviyedeki widgetın boyutu belirleyebilmesi de onun üstündeki widget’a bağlı olacağından tam widget ağacı işlenmeden arayüzün nasıl olacağı bilinemez.
E) Bir widget üst seviyeden daha fazla bir boyutta olmak ister ve üst seviyenin alttaki widgetları nasıl yerleştireceği ile ilgili bilgisi yoksa alttaki elemanın verdiği ölçü değerleri yok sayılır.

Cevap : A) Widget ağacı her 4ms’de bir yenilenmek zorundadır. Eğer yenilenmezse ekranda titreme olacaktır.

Açıklama : Flutter, arayüzü saniyede 60 kare (ortalama 16.6ms) hızla çizmeye çalışır. “Her 4ms’de bir yenilenmek” gibi bir zorunluluk yoktur. Bu süre, uygulamanın performansına ve işlem gücüne bağlı olarak değişir.

13- MaterialApp arayüz bileşeninin routes parametresinin aldığı değer türü aşağıdakilerden hangisidir?

A) List<Widget>
B) Map<int, Widget>
C) Map<String, WidgetBuilder>
D) List<WidgetBuilder>
E) Map<String, Widget>

Cevap : C) Map<String, WidgetBuilder>

Açıklama : `MaterialApp` widget’ının `routes` parametresi, rota isimlerini (String) ve bu rotalar için arayüz bileşeni oluşturan fonksiyonları (WidgetBuilder) içeren bir Map veri türü alır.

14- ‘package:flutter/services.dart’ kütüphanesi üzerinden kullanabileceğimiz rootBundle yapısı kullanılma sebebi aşağıdakilerden hangisidir?

A) Telefonun kamera, mikrofon, GPS sensörü gibi donanımlarına erişmek için.
B) Widget (Arayüz bileşeni) ağacının en tepedeki elemanına erişmek için.
C) Uygulama içerisindeki tüm varlıklara (assets) erişmek için.
D) Telefonun temel konfigürasyon verilerine erişmek için.
E) RAM’de her tür key-value (anahtar-değer) veri çifti oluşturabilmek için.

Cevap : C) Uygulama içerisindeki tüm varlıklara (assets) erişmek için.

Açıklama : `rootBundle`, Flutter’da uygulama klasörü içindeki varlıklara (assets) (resim, metin, ses dosyaları vb.) erişmek için kullanılan bir yapıdır.

15- Aşağıdaki operatörlerden hangisi bir listedeki içeriği bir başka listeye kopyalamak için kullanılır?

A) ??= (iki soru işareti eşittir)
B) : (iki nokta üst üste)
C) => (eşittir büyüktür)
D) …? (üç nokta soru işareti)
E) .. (iki nokta)

Cevap : D) …? (üç nokta soru işareti)

Açıklama : Dart dilinde “spread operator” olarak adlandırılan `…` (üç nokta), bir koleksiyonun elemanlarını başka bir koleksiyona kopyalamak için kullanılır. `…?` ise, kopyalanacak listenin boş veya null olması durumunda hata vermemesi için güvenli bir kullanımdır.

16- Mobil Programlama 2024-2025 Vize Soruları (Güz) 16. SORU-min

Satırı ile Flutter projesine eklenecek Material Kütüphanesindeki bileşenler aşağıdaki hangi aşamada fayda sağlamaktadır?

A) Aynı anda birden fazla arayüz görüntüsünün hazırlanması ve bellekte saklanması.
B) Uygulama içerisinde kendi özel arayüz bileşeni çözümünün üretibilmesi.
C) Kullanıcı arayüzü etkileşimlerinin dokunmatik ekran üzerinde parmak ile gerçekleşmesi.
D) Uygulama geliştirirken Dart kodları içerisine Java, Kotlin kodlarını gömebilmek.
E) Arayüz bileşenlerinin Android uygulamalarında kullanılana

Cevap : E) Arayüz bileşenlerinin Android uygulamalarında kullanılana

Açıklama : Verilen kod satırı, Android uygulamalarında kullanılana benzer, materyal tasarım ilkelerine uygun arayüz bileşenleri (widget) sağlayan “Material” kütüphanesini projeye dahil etmeyi amaçlar. Bu, uygulama geliştirme sürecini kolaylaştırır ve platformlar arası tutarlılık sağlar.

17- Kendi arayüz bileşenimizi üretmek istediğimizde, arayüz bileşeni sınıfını tanımlamasında, @override ile işaretleyip yazmak zorunda olduğumuz fonksiyon aşağıdakilerden hangisidir?

A) runApp
B) main
C) build
D) create
E) init

Cevap : C) build

Açıklama : Flutter’da bir arayüz bileşeni sınıfı (StatelessWidget veya StatefulWidget) oluşturduğumuzda, `build` fonksiyonunu `@override` anahtar kelimesiyle işaretleyerek yazmak zorundayız. Bu fonksiyon, bileşenin arayüzünü oluşturur.

18- Mobil Programlama 2024-2025 Vize Soruları (Güz) 18. SORU-min

Yukarıdaki kod satırı hata vermeden çalışan bir uygulamanın parçası ise yaptığı işlemle ilgili olarak aşağıdaki yorumlardan hangisi doğrudur?

A) names bir Map örneğidir ve verilen liste bu Map objesine 0,1,2 indeksleri ile kaydedilir.
B) names bir Object örneğidir ve verine String ifadelerden sonuncusu names’e kaydedilir.
C) names bir String örneğidir ve ‘Seth’ ifadesi names’e kaydedilir.
D) names bir Set örneğidir ve verilen liste bu Set objesine çakışmasız kaydedilir.
E) names bir List örneğidir ve verilen liste bu List objesinin sonuna eklenir.

Cevap : E) names bir List örneğidir ve verilen liste bu List objesinin sonuna eklenir.

Açıklama : Verilen kod satırı, `names` adında bir `List` değişkeni oluşturur ve bu listeye `[‘Lars’, ‘Chris’, ‘Seth’]` değerlerini atar. Bu durumda `names` bir `List` örneğidir ve verilen liste onun içeriğini oluşturur. Eğer başka bir listeye eklenmesi istenseydi, `addAll` gibi bir fonksiyon veya `…` operatörü kullanılırdı.

19- Aşağıdakilerden hangisi Navigator 2.0 API ile gelen bileşenlerden biri değildir?

A) Page
B) RouterInformationParser
C) Router
D) RouterDelegate
E) Scaffold

Cevap : E) Scaffold

Açıklama : `Scaffold`, temel materyal tasarım düzenini uygulayan bir widget’tır ve Navigator 2.0 API’ına özgü bir bileşen değildir, çok daha önce Flutter’ın temel yapısında yer almıştır. `Page`, `RouterInformationParser`, `RouterDelegate` ise Navigator 2.0 ile gelen yeni bileşenlerdir.

20- Dart programlama dili için aşağıda verilen ifadelerden hangisi yanlıştır?

A) Fonksiyon tanımlamasında fonksiyona bir isim verilmesi zorunlu değildir.
B) Fonksiyon tanımlamasında geri dönüş türünün yazılması zorunlu değildir.
C) Fonksiyon tanımlamasında return ile geri dönüş yoksa fonksiyon null değer döner.
D) Fonksiyon çağrısında normal parametrelere değer girilmesi zorunlu değildir.
E) Fonksiyon tanımlamasında parametrelerin türünün belirtilmesi zorunlu değildir.

Cevap : D) Fonksiyon çağrısında normal parametrelere değer girilmesi zorunlu değildir.

Açıklama : Dart’ta normal (positional) parametrelerin fonksiyon çağrısı sırasında değer alması zorunludur. Değer atanması zorunlu olmayan parametreler named (adlandırılmış) veya optional (isteğe bağlı) parametrelerdir. Bu nedenle ifade yanlıştır.

@lolonolo_com

AUZEF YÖNETİM BİLİŞİM SİSTEMLERİ

Mobil Programlama 2024-2025 Vize Soruları (Güz)

Editor

Editör