Ders Adı Mobil Programlama
Ders Kodu BPR-3176
Dersin Türü Zorunlu
Ders Biriminin Seviyesi Ön Lisans
Yıl 1
Dönem 2.Yarıyıl
AKTS 3
Dersi Veren(ler) Doç. Dr.
Dersin Yardımcıları Yok
Ders İşleme Biçimi Yüz Yüze
Önkoşul Dersleri
Dersin İçeriği Android Studio IDE'si kullanılarak ders kazanımlarına uygun öğrenme faaliyetleri gerçekleştirme.
Dersin Verildiği Diller Türkçe
Dersin Amacı Android işletim sistemi üzerinde uygulamalar geliştirebilmek. Teorik bilgilerin verilmesinin yanı sıra kapsamlı projeler yaptırılarak öğrencilerin bu konuda deneyim kazanmaları sağlanacaktır.
Ders Yapısı
Temel/Alana Özgü Mesleki Dersler 100
Uzmanlık/Program Dersi 0
Destek Dersi 0
Beceri,İletişim ve Yönetim Becerileri Dersi 0
Aktarılabilir Beceri Dersi 0
Matematik ve Temel Bilimler 0
Temel Eğitim 0
Ders İşleme Şekli
Sınıf Dersi 0
Sınıf Dersi açıklama 0
Problem Saati 0
Problem Saati Açıklama 0
Laboratuvar 100
Laboratuvar Açıklama 1
Diğer 0
Diğer Açıklama 0
No Dersin Kazanımları  
1 İlk kazanım, mobil uygulama yaşam döngülerinin incelenmesi ve uygulanmasıdır.
2 İkinci kazanım, temel seviyede dosyalama işlemlerinin gerçekleştirilmesidir.
3 Üçüncü kazanım, menü, menü arama, listeleme, medya kütüphanesi, galeri erişimi gibi işlemlerin gerçekleştirebilmesidir.
4 Dördüncü kazanım, temel seviyede veritabanı işlemlerinin gerçekleştirilmesidir.
5 Beşinci kazanım, mobil tasarım bileşenleri kullanılarak temel işlemlerin gerçekleştirilmesidir.
6 Altıncı kazanım, listview, recyclerview gibi listeleme bileşenlerinin aktif kullanılmasının sağlanmasıdır.
7 Yedinci kazanım, farklı veya aynı yerleşim düzlemine sahip aktiviteler arasında mesajların aktarılmasının sağlanmasıdır.
DERSİN KAZANIMLARI / PROGRAM YETERLİKLERİ İLİŞKİ MATRİSİ
DKPÇ1PÇ2PÇ3PÇ4PÇ5PÇ6PÇ7PÇ8PÇ9PÇ10PÇ11PÇ12PÇ13PÇ14PÇ15PÇ16
1
2
3
4
5
6
7
5-Çok Yüksek İlişkili 4- Yüksek İlişkili 3-Orta İlişkili 2- Zayıf İlişkili 1-İlişkisiz
Hafta Konular  
1 Geliştirme ortamının Gereksinimleri ve Kurulumu
  Ön Hazırlık: OBS'deki 1.hafta dökümanları
2 Android Uygulamalarının Temelleri
  Ön Hazırlık: OBS'deki 2.hafta dökümanları
3 Android Uygulamalarının Yaşam Döngüleri
  Ön Hazırlık: OBS'deki 3.hafta dökümanları
4 Android ile Kullanıcı arayüzü tasarlama
  Ön Hazırlık: OBS'deki 4.hafta dökümanları
5 Android Studio'da bulunan Buttons, Nested Layouts, Intents, AlertDialogs, Inflating XML Layouts, Manifest File nesnelerinin incelenmesi
  Ön Hazırlık: OBS'deki 5.hafta dökümanları
6 Intents, Intent Filters, Broads, BroadReceivers ve Menü yapılarının uygulanması
  Ön Hazırlık: OBS'deki 6.hafta dökümanları
7 ListView ve Recyclerview yapılarının incelenmesi ve uygulanması
  Ön Hazırlık: OBS'deki 7.hafta dökümanları
8 Dosya okuma, yazma işlemlerinin gerçekleştirimi ve java entegrasyonunun sağlanması
  Ön Hazırlık: OBS'deki 8.hafta dökümanları
9 Android Studioda bulunan yerleşim düzlemlerinin incelenmesi ve uygulanması
  Ön Hazırlık: OBS'deki 9.hafta dökümanları
10 Android Studio SQLite tabanlı veritabanı uygulamalarına giriş
  Ön Hazırlık: OBS'deki 10.hafta dökümanları
11 Veritabanı oluşturma, uygulamaları ve analizi
  Ön Hazırlık: OBS'deki 11.hafta dökümanları
12 Medya Kütüphanesi ve Galeri Uygulamaları
  Ön Hazırlık: OBS'deki 12.hafta dökümanları
13 Web Servislerine Giriş
  Ön Hazırlık: OBS'deki 13.hafta dökümanları
14 Tek Aktiviteli Retrofit Tabanlı Get web servis Uygulamaları
  Ön Hazırlık: OBS'deki 14.hafta dökümanları
No Program Çıktısı Katkı Düzeyi
1 Mesleği ile ilgili temel, güncel ve uygulamalı bilgilere sahip olur. 5
2 İş sağlığı ve güvenliği, çevre bilinci ve kalite süreçleri hakkında bilgi sahibi olur. 5
3 Mesleği için güncel gelişmeleri ve uygulamaları takip eder, etkin şekilde kullanır. 5
4 Mesleği ile ilgili bilişim teknolojilerini (yazılım, program, animasyon vb.) etkin kullanır. 4
5 Mesleki problemleri ve konuları bağımsız olarak analitik ve eleştirel bir yaklaşımla değerlendirme ve çözüm önerisini sunabilme becerisine sahiptir. 5
6 Bilgi ve beceriler düzeyinde düşüncelerini yazılı ve sözlü iletişim yolu ile etkin biçimde sunabilir, anlaşılır biçimde ifade eder. 3
7 Alanı ile ilgili uygulamalarda karşılaşılan ve öngörülemeyen karmaşık sorunları çözmek için ekip üyesi olarak sorumluluk alır. 3
8 Kariyer yönetimi ve yaşam boyu öğrenme konularında farkındalığa sahiptir. 5
9 Alanı ile ilgili verilerin toplanması, uygulanması ve sonuçlarının duyurulması aşamalarında toplumsal, bilimsel, kültürel ve etik değerlere sahiptir. 4
10 Bir yabancı dili kullanarak alanındaki bilgileri takip eder ve meslektaşları ile iletişim kurar. 3
11 Algoritma ve veri yapılarını oluşturur ve matematiksel hesapları yapar. 5
12 Web programlama teknolojilerini açıklar ve uygular. 5
13 Veri tabanı tasarımı ve yönetimini gerçekleştirir. 5
14 Yazılımları test eder ve hataları giderir. 4
15 İş yeri ortamında teorik bilgilerini pratiğe aktarma, iş hayatının dinamiklerini anlama ve mesleki sorumluluklarını geliştirme becerilerine sahip olur 3
16 Atatürk İlkeleri ve İnkılap Tarihi, Türk Dili ve İngilizce gibi zorunlu dersler aracılığıyla, tarihi, kültürel, dilsel ve evrensel değerlere dair farkındalık kazanır, eleştirel düşünme ve küresel ölçekte etkileşim becerilerine sahip olur. 1
Yarıyıl İçi Çalışmaları Sayısı Katkı Payı
Ara Sınav 1 60
Kısa Sınav 0 0
Ödev 3 40
Devam 0 0
Uygulama 0 0
Labaratuvar 0 0
Proje 0 0
Atölye 0 0
Seminer 0 0
Arazi Çalışması 0 0
Sözlü sınav 0 0
Portfolyo 0 0
Doküman İncelemesi 0 0
Performans değerlendirme 0 0
Sunum 0 0
Alan Çalışması 0 0
Vaka Çalışması 0 0
Video Kaydı 0 0
Öz değerlendirme 0 0
Akran Değerlendirme 0 0
Eşleştirme Testleri 0 0
Çoktan seçmeli test 0 0
Kısa Cevaplı test 0 0
Kontrol listeleri 0 0
Dereceleme Ölçekleri 0 0
Zihin Haritalama 0 0
Araştırma yazısı 0 0
Çevrimiçi anket 0 0
Çevrimiçi Kısa sınav 0 0
TOPLAM 100
Yıliçinin Başarıya Oranı 40
Finalin Başarıya Oranı 60
TOPLAM 100
AKTS kredilerinin belirlenmesinde öğrenci işyükü anketlerinden faydalanılmaktadır.
Etkinlik Sayısı Süresi Toplam
Ders Süresi (Sınav Haftaları Hariç) 14 3 42
Sınıf Dışı Ders Çalışma Süresi 14 3 42
Ödevler 3 3 9
Sunum/Seminer 0 0 0
Proje 0 0 0
Laboratuar Çalışması 0 0 0
Arazi ya da Alan Çalışması 0 0 0
Kısa Sınav 0 0 0
Araştırma 0 0 0
Rapor Yazma/Rapor sunumu 0 0 0
Vaka İncelemesi 0 0 0
Staj 0 0 0
Uygulama/Materyal Hazırlama 0 0 0
Tez Çalışması 0 0 0
Ara Sınavlar 1 1 1
Yarıyıl Sonu Sınavı 1 1 1
İşyükü Saati (30) 0
Toplam İşyükü / Saat 95    
Dersin Akts Kredisi 3    
Ders Notu Diansyah, H., & Syafrinal, S. (2025). Design and Development of a Mobile Application Using Android Studio and Flutter. Journal Mobile Technologies (JMS), 3(2), 69-76.
Diğer Kaynaklar Diansyah, H., & Syafrinal, S. (2025). Design and Development of a Mobile Application Using Android Studio and Flutter. Journal Mobile Technologies (JMS), 3(2), 69-76.
Materyal
Dökümanlar Diansyah, H., & Syafrinal, S. (2025). Design and Development of a Mobile Application Using Android Studio and Flutter. Journal Mobile Technologies (JMS), 3(2), 69-76.
Ödevler
Sınavlar
Materyal Diğer
Planlanmış Öğrenme Faaliyetleri ve Öğretim Yöntemleri











Haftalık Ders İzlencesi
Hafta 1 .Hafta
Konu
Haftalık Kapsam ve Hedefler Android geliştirme ortamını bağımsız olarak kurabilmesi, sanal veya fiziksel cihazda test yapabilmesi, basit bir mobil uygulamayı çalıştırabilmesi ve geliştirme araçlarının temel işlevlerini kullanabilmesi hedeflenmektedir. Bu kazanımlar, öğrencilerin ders boyunca geliştirecekleri projeler için gerekli altyapıyı hazırlamalarını sağlayacaktır.
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar Anlatım, Tartışma, Soru Yanıt, Uygulama
Haftalık Öğrenme Etkinlikleri Açıklama Anlatım, Tartışma, Soru Yanıt, Uygulama eşliğinde pratikler yapmak
Haftalık Ölçme-Değerlendirme Etkinlikleri Doküman İncelemesi, Kısa Cevaplı test,
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri Kod incelemesi-40 dk
Hafta 2 .Hafta
Konu
Haftalık Kapsam ve Hedefler Öğrencilerin, Android mimarisini, uygulama bileşenlerini (aktiviteler, servisler, içerik sağlayıcılar ve yayın alıcılar) ve bu bileşenler arasındaki etkileşimleri kavraması hedeflenmektedir. Ayrıca, kullanıcı arayüzü tasarım prensipleri, temel görsel bileşenlerin (TextView, Button, ImageView vb.) kullanımı, etkinlik yönetimi ve intent mekanizmaları gibi konularda yetkinlik kazanmaları amaçlanır. Bu kapsamda öğrenciler, basit ve işlevsel Android uygulamaları geliştirebilecek, kullanıcı etkileşimlerini yönetebilecek ve farklı ekran boyutlarına uyumlu arayüzler tasarlayabilecek düzeye ulaşarak, mobil uygulama geliştirme sürecinin temel yapı taşlarını uygulamalı olarak öğrenmiş olacaklardır.
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar Anlatım, Tartışma, Soru Yanıt, Uygulama
Haftalık Öğrenme Etkinlikleri Açıklama Anlatım, Tartışma, Soru Yanıt, Uygulama eşliğinde pratikler yapmak
Haftalık Ölçme-Değerlendirme Etkinlikleri Doküman İncelemesi,
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri Kod incelemesi-40 dk
Hafta 3 .Hafta
Konu
Haftalık Kapsam ve Hedefler Bu bölümün amacı, öğrencilerin Android işletim sisteminde bir aktivitenin yaşam döngüsünü kavrayarak, uygulamaların sistem kaynaklarını verimli kullanmasını ve kullanıcı deneyimini kesintisiz sürdürmesini sağlayacak beceriler kazanmasıdır. Öğrencilerin, onCreate()'ten onDestroy()'e kadar olan tüm yaşam döngüsü evrelerini tanıması, her bir geri çağrı metodunun hangi durumlarda çağrıldığını anlaması ve bu metotları uygun işlemler için doğru şekilde kullanması hedeflenmektedir.
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar Anlatım, Tartışma, Soru Yanıt, Uygulama
Haftalık Öğrenme Etkinlikleri Açıklama Anlatım, Tartışma, Soru Yanıt, Uygulama eşliğinde pratikler yapmak
Haftalık Ölçme-Değerlendirme Etkinlikleri Doküman İncelemesi,
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri Kod incelemesi-40 dk
Hafta 4 .Hafta
Konu
Haftalık Kapsam ve Hedefler Bu bölümün amacı, öğrencilere Android platformunda kullanıcı dostu, estetik ve işlevsel arayüzler tasarlama becerisi kazandırmaktır. Öğrencilerin, XML tabanlı layout dosyalarını kullanarak ekran düzenleri oluşturması, temel ve ileri düzey görsel bileşenleri (TextView, EditText, Button, ImageView, RecyclerView, CardView vb.) tanıması ve bu bileşenleri etkin şekilde kullanması hedeflenmektedir. Ayrıca, farklı ekran boyutlarına ve yönelimlerine (portre/manzara) uyumlu responsive tasarımlar geliştirme, constraint layout ve lineer layout gibi düzen yöneticilerini kullanma, renk paleti, tipografi ve material design prensiplerine uygun modern arayüzler oluşturma becerilerinin kazandırılması amaçlanır. Bu sayede öğrenciler, kullanıcı deneyimini ön planda tutan, görsel açıdan etkileyici ve kullanımı kolay mobil uygulama arayüzleri tasarlayarak, profesyonel düzeyde Android uygulamaları geliştirme yetkinliğine ulaşacaktır.
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar Anlatım, Tartışma, Soru Yanıt, Uygulama
Haftalık Öğrenme Etkinlikleri Açıklama Anlatım, Tartışma, Soru Yanıt, Uygulama eşliğinde pratikler yapmak
Haftalık Ölçme-Değerlendirme Etkinlikleri Ödev, Doküman İncelemesi,
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri Kod incelemesi-40 dk/Ödev-7 gün
Hafta 5 .Hafta
Konu
Haftalık Kapsam ve Hedefler Bu bölümün amacı, öğrencilere Android uygulama geliştirme sürecinde sıkça kullanılan temel yapı taşlarını tanıtarak, bu bileşenlerin işlevlerini ve kullanım senaryolarını kavratmaktır. Öğrencilerin, butonlar aracılığıyla kullanıcı etkileşimlerini yönetmesi, iç içe geçmiş layout yapıları (Nested Layouts) ile karmaşık ekran düzenleri oluşturması ve Intent mekanizmasını kullanarak aktiviteler arası geçiş ile veri aktarımını gerçekleştirmesi hedeflenmektedir. Ayrıca, AlertDialog yapılarıyla kullanıcıya bilgi mesajları gösterme ve onay mekanizmaları oluşturma, XML layout dosyalarının şişirilmesi (Inflating) işlemini anlama ve Android Manifest dosyasının yapısını, izin yönetimini ve uygulama bileşenlerinin bildirimini kavrama becerilerinin kazandırılması amaçlanır. Bu sayede öğrenciler, bir Android uygulamasının iskeletini oluşturan temel bileşenleri etkin şekilde kullanarak, işlevsel ve kullanıcı etkileşimine açık uygulamalar geliştirme yetkinliğine ulaşacaktır.
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar Anlatım, Tartışma, Soru Yanıt, Uygulama
Haftalık Öğrenme Etkinlikleri Açıklama Anlatım, Tartışma, Soru Yanıt, Uygulama eşliğinde pratikler yapmak
Haftalık Ölçme-Değerlendirme Etkinlikleri Ödev, Doküman İncelemesi,
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri Kod incelemesi-40 dk/Ödev-7 gün
Hafta 6 .Hafta
Konu
Haftalık Kapsam ve Hedefler Bu bölümün amacı, öğrencilere Android uygulamalarında bileşenler arası iletişim ve sistem düzeyinde etkileşim sağlayan ileri düzey yapıları uygulamalı olarak öğretmektir. Öğrencilerin, explicit (açık) ve implicit (örtük) Intent'leri kullanarak aktiviteler, servisler ve diğer uygulama bileşenleri arasında iletişim kurması, Intent Filters yapılarıyla uygulamanın hangi intent'lere yanıt vereceğini tanımlaması hedeflenmektedir. Ayrıca, BroadcastReceiver sınıfını kullanarak sistem bildirimlerini (batarya seviyesi, uçak modu, SMS alma vb.) yakalama ve uygulama içinde bu bildirimlere uygun tepkiler geliştirme, özel broadcast mesajları oluşturma ve gönderme becerilerinin kazandırılması amaçlanır. Bunun yanında, seçenek menüsü (options menu), bağlam menüsü (context menu) ve açılır menü (popup menu) gibi farklı menü yapılarını oluşturarak kullanıcıya zengin etkileşim seçenekleri sunma yetkinliği kazandırılması hedeflenmektedir. Bu sayede öğrenciler, uygulama içi ve uygulamalar arası iletişimi etkin şekilde yöneten, sistem olaylarına duyarlı ve kullanıcı dostu menü yapılarına sahip profesyonel Android uygulamaları geliştirebilecek düzeye ulaşacaktır.
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar Anlatım, Tartışma, Soru Yanıt, Uygulama
Haftalık Öğrenme Etkinlikleri Açıklama Anlatım, Tartışma, Soru Yanıt, Uygulama eşliğinde pratikler yapmak
Haftalık Ölçme-Değerlendirme Etkinlikleri Ödev, Doküman İncelemesi,
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri Kod incelemesi-40 dk/Ödev-7 gün
Hafta 7 .Hafta
Konu
Haftalık Kapsam ve Hedefler Bu bölümün amacı, öğrencilere Android uygulamalarında büyük veri kümelerini listeleyen ve yöneten temel görsel bileşenler olan ListView ve RecyclerView yapılarını tanıtarak, bu bileşenlerin etkin kullanımını sağlamaktır. Öğrencilerin, ListView ile basit listelemeler yapması, adaptör (ArrayAdapter, CustomAdapter) kullanarak veri kaynaklarını listeye bağlaması ve liste öğelerine tıklama olaylarını yönetmesi hedeflenmektedir. İleri düzeyde ise RecyclerView yapısının ListView'e göre avantajlarını kavraması, LayoutManager (LinearLayoutManager, GridLayoutManager, StaggeredGridLayoutManager) kullanarak farklı liste düzenleri oluşturması, ViewHolder tasarım deseni ile performans optimizasyonu sağlaması ve özel adaptörler geliştirerek karmaşık liste öğeleri tasarlaması amaçlanmaktadır. Ayrıca, öğrencilerin liste öğelerinde animasyon kullanımı, öğe ekleme/silme/güncelleme işlemleri ve sonsuz kaydırma (endless scrolling) gibi ileri düzey özellikleri uygulayarak, büyük veri setlerini kullanıcı dostu bir arayüzle sunma becerisi kazanması hedeflenmektedir. Bu sayede öğrenciler, dinamik ve etkileşimli liste ekranlarına sahip, profesyonel düzeyde Android uygulamaları geliştirme yetkinliğine ulaşacaktır.
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar Anlatım, Tartışma, Soru Yanıt, Uygulama
Haftalık Öğrenme Etkinlikleri Açıklama Anlatım, Tartışma, Soru Yanıt, Uygulama eşliğinde pratikler yapmak
Haftalık Ölçme-Değerlendirme Etkinlikleri Doküman İncelemesi,
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri Kod incelemesi-40 dk
Hafta 8 .Hafta
Konu
Haftalık Kapsam ve Hedefler Bu bölümün amacı, öğrencilere Android uygulamalarında kalıcı veri depolama yöntemlerinden biri olan dosya işlemlerini öğretmek ve bu süreçte Java'nın sunduğu temel giriş/çıkış (I/O) sınıflarını etkin şekilde kullanma becerisi kazandırmaktır. Öğrencilerin, dahili (internal) ve harici (external) depolama alanlarına veri yazma ve bu alanlardan veri okuma işlemlerini gerçekleştirmesi, FileInputStream ve FileOutputStream sınıflarıyla bayt tabanlı, InputStreamReader/OutputStreamWriter ile karakter tabanlı okuma-yazma yapması hedeflenmektedir. Ayrıca, BufferedReader ve BufferedWriter gibi tamponlu sınıfları kullanarak daha verimli dosya işlemleri geliştirme, dosya yollarını doğru şekilde yönetme, depolama izinlerini manifest dosyasında tanımlama ve Android'in dosya sistemi mimarisini kavrama becerilerinin kazandırılması amaçlanır. Öğrenciler ayrıca, JSON veya XML formatındaki verileri dosyadan okuyup işleme, uygulama ayarlarını dosyaya kaydetme ve daha sonra geri yükleme gibi pratik senaryoları uygulayarak, Java tabanlı dosya yönetimini Android platformuna başarıyla entegre edebilecek düzeye ulaşacaktır. Bu sayede öğrenciler, uygulama verilerini kalıcı olarak saklayabilen, kullanıcı tercihlerini kaydedebilen ve dosya tabanlı veri yönetimini etkin şekilde gerçekleştiren profesyonel Android uygulamaları geliştirme yetkinliği kazanacaktır.
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar Anlatım, Tartışma, Soru Yanıt, Uygulama
Haftalık Öğrenme Etkinlikleri Açıklama Anlatım, Tartışma, Soru Yanıt, Uygulama eşliğinde pratikler yapmak
Haftalık Ölçme-Değerlendirme Etkinlikleri Doküman İncelemesi,
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri Kod incelemesi-40 dk
Hafta 9 .Hafta
Konu
Haftalık Kapsam ve Hedefler Bu bölümün amacı, öğrencilere Android uygulamalarında kullanıcı arayüzünün temelini oluşturan yerleşim düzenlerini (layout) tanıtarak, farklı ekran boyutlarına ve ihtiyaçlara uygun esnek ve işlevsel arayüzler tasarlama becerisi kazandırmaktır. Öğrencilerin, LinearLayout, RelativeLayout, ConstraintLayout, FrameLayout ve TableLayout gibi temel yerleşim yöneticilerini tanıması, her bir layout türünün avantajlarını, kullanım senaryolarını ve performans özelliklerini kavraması hedeflenmektedir. Ayrıca, iç içe geçmiş layout yapıları (nested layouts) oluşturarak karmaşık ekran düzenlerini tasarlama, layout_weight, gravity ve layout_gravity gibi önemli atribütleri etkin şekilde kullanma ve farklı ekran yoğunluklarına (hdpi, xhdpi, xxhdpi vb.) uygun görsel kaynakları yönetme becerilerinin kazandırılması amaçlanır. Öğrenciler ayrıca, ConstraintLayout'un kısıtlama (constraint) mekanizmasını kavrayarak esnek ve sürüklenebilir arayüzler oluşturma, Guideline ve Barrier gibi yardımcı araçlarla hizalama işlemlerini optimize etme ve tasarım anında (design time) layout özelliklerini kullanarak geliştirme sürecini hızlandırma pratiği yapacaktır. Bu sayede öğrenciler, farklı ekran boyutlarına ve yönelimlerine otomatik olarak uyum sağlayan, kullanıcı dostu ve profesyonel görünümlü mobil uygulama arayüzleri tasarlama yetkinliğine ulaşacaktır.
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar Anlatım, Tartışma, Soru Yanıt, Uygulama
Haftalık Öğrenme Etkinlikleri Açıklama Anlatım, Tartışma, Soru Yanıt, Uygulama eşliğinde pratikler yapmak
Haftalık Ölçme-Değerlendirme Etkinlikleri Doküman İncelemesi,
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri Kod incelemesi-40 dk
Hafta 10 .Hafta
Konu
Haftalık Kapsam ve Hedefler Bu bölümün amacı, öğrencilere Android platformunda yerel veritabanı yönetiminin temellerini öğreterek, SQLite kullanarak kalıcı ve yapılandırılmış veri depolama becerisi kazandırmaktır. Öğrencilerin, SQLite veritabanının özelliklerini, Android işletim sistemindeki yerini ve kullanım avantajlarını kavraması, SQLiteOpenHelper sınıfını kullanarak veritabanı oluşturma ve yönetme işlemlerini gerçekleştirmesi hedeflenmektedir. Ayrıca, tablo oluşturma, sütun tanımlama ve veri türlerini belirleme gibi temel veritabanı tasarım prensiplerini öğrenmesi, SQLiteDatabase sınıfı aracılığıyla INSERT, SELECT, UPDATE ve DELETE gibi temel CRUD (Create-Read-Update-Delete) işlemlerini uygulaması amaçlanmaktadır. Öğrenciler ayrıca, Cursor sınıfını kullanarak sorgu sonuçlarını okuma ve işleme, veritabanı işlemlerinde parametreli sorgularla güvenlik önlemleri alma (SQL injection koruması), veritabanı işlemlerini arka planda gerçekleştirme ve veritabanı versiyon yönetimi ile güncelleme stratejilerini (onUpgrade) kavrama becerisi kazanacaktır. Bu sayede öğrenciler, kullanıcı bilgilerini, uygulama içeriğini veya offline çalışma gerektiren verileri kalıcı olarak depolayabilen, verimli ve güvenli SQLite tabanlı Android uygulamaları geliştirme yetkinliğine ulaşacaktır.
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar Anlatım, Tartışma, Soru Yanıt, Uygulama
Haftalık Öğrenme Etkinlikleri Açıklama Anlatım, Tartışma, Soru Yanıt, Uygulama eşliğinde pratikler yapmak
Haftalık Ölçme-Değerlendirme Etkinlikleri Doküman İncelemesi,
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri Kod incelemesi-40 dk
Hafta 11 .Hafta
Konu
Haftalık Kapsam ve Hedefler Bu bölümün amacı, öğrencilere Android platformunda SQLite veritabanı oluşturma sürecini derinlemesine öğreterek, karmaşık veri modellerini yönetebilen ve veritabanı performansını analiz edebilen ileri düzey beceriler kazandırmaktır. Öğrencilerin, SQLiteOpenHelper sınıfını genişleterek özel veritabanı sınıfları tasarlaması, birden çok tablo içeren ilişkisel veritabanı modelleri oluşturması (one-to-one, one-to-many, many-to-many ilişkileri) ve foreign key kısıtlamaları ile veri bütünlüğünü sağlaması hedeflenmektedir. Ayrıca, JOIN sorguları kullanarak birden fazla tablodan veri çekme, alt sorgular (subqueries) ile karmaşık veri analizleri yapma, indeksleme (indexing) stratejileriyle sorgu performansını optimize etme ve transaction yönetimi ile veri tutarlılığını garanti altına alma becerilerinin kazandırılması amaçlanır. Öğrenciler ayrıca, veritabanı işlemlerinin performans analizini yapma, sorgu çalışma sürelerini ölçme, gereksiz veritabanı çağrılarını minimize etme yöntemlerini öğrenme, veritabanı versiyon güncellemelerinde karmaşık migrasyon stratejileri uygulama ve veritabanı işlemlerini arka plan iş parçacıklarında (background threads) yöneterek ana iş parçacığını bloklamadan çalışan uygulamalar geliştirme pratiği yapacaktır. Bu sayede öğrenciler, büyük ölçekli verileri verimli şekilde yönetebilen, karmaşık sorguları optimize edebilen ve veritabanı performansını sürekli analiz ederek iyileştirebilen profesyonel düzeyde Android uygulamaları geliştirme yetkinliğine ulaşacaktır.
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar Anlatım, Tartışma, Soru Yanıt, Uygulama
Haftalık Öğrenme Etkinlikleri Açıklama Anlatım, Tartışma, Soru Yanıt, Uygulama eşliğinde pratikler yapmak
Haftalık Ölçme-Değerlendirme Etkinlikleri Doküman İncelemesi,
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri Kod incelemesi-40 dk
Hafta 12 .Hafta
Konu
Haftalık Kapsam ve Hedefler Bu bölümün amacı, öğrencilere Android platformunda medya dosyalarını (resim, video, ses) yönetme, depolama ve görüntüleme becerilerini kazandırarak, zengin medya içerikli uygulamalar geliştirme yetkinliği sağlamaktır. Öğrencilerin, Android'in medya kütüphanesi mimarisini kavraması, MediaStore API'sini kullanarak cihazdaki resim, video ve ses dosyalarına erişmesi, bu dosyaları sorgulaması ve sınıflandırması hedeflenmektedir. Ayrıca, özel galeri uygulamaları tasarlayarak medya dosyalarını grid veya liste görünümünde sunma, küçük resim (thumbnail) oluşturma ve önbelleğe alma stratejileriyle performans optimizasyonu sağlama, kullanıcının medya dosyalarını görüntüleme, düzenleme, silme ve paylaşma işlemlerini gerçekleştirmesi amaçlanmaktadır. Öğrenciler ayrıca, kamera uygulamasını intent aracılığıyla çağırarak fotoğraf çekme ve çekilen fotoğrafı uygulamaya kaydetme, ses kaydetme ve oynatma işlemlerini MediaRecorder ve MediaPlayer sınıflarıyla yönetme, depolama izinlerini (READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE, CAMERA vb.) doğru şekilde yönetme ve Android'in farklı sürümlerinde (Scoped Storage özellikle Android 10 ve sonrası) değişen depolama politikalarına uygun uygulama geliştirme becerisi kazanacaktır. Bu sayede öğrenciler, kullanıcıların medya dosyalarını etkin şekilde yönetebilecekleri, görsel açıdan zengin ve performanslı galeri uygulamaları ile medya tabanlı projeler geliştirme yetkinliğine ulaşacaktır.
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar Anlatım, Tartışma, Soru Yanıt, Uygulama
Haftalık Öğrenme Etkinlikleri Açıklama Anlatım, Tartışma, Soru Yanıt, Uygulama eşliğinde pratikler yapmak
Haftalık Ölçme-Değerlendirme Etkinlikleri Doküman İncelemesi,
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri Kod incelemesi-40 dk
Hafta 13 .Hafta
Konu
Haftalık Kapsam ve Hedefler Bu bölümün amacı, öğrencilere Android uygulamalarının internet üzerinden uzak sunucularla iletişim kurmasını sağlayan web servis teknolojilerini tanıtarak, dinamik ve güncel verilerle çalışan uygulamalar geliştirme becerisi kazandırmaktır. Öğrencilerin, web servis kavramını, RESTful ve SOAP mimarilerini anlaması, HTTP protokolü temel prensiplerini (GET, POST, PUT, DELETE metodları) ve durum kodlarını (200, 201, 400, 401, 404, 500 vb.) kavraması hedeflenmektedir. Ayrıca, Android'de ağ işlemlerini gerçekleştirmek için kullanılan temel kütüphaneleri (HttpURLConnection, Volley, Retrofit) tanıması, bu kütüphaneler aracılığıyla sunucuya istek gönderme ve yanıt alma işlemlerini uygulaması, JSON ve XML formatındaki verileri parse ederek (JSONObject, JSONArray, Gson, XmlPullParser) uygulama içinde kullanılabilir hale getirmesi amaçlanmaktadır. Öğrenciler ayrıca, ağ işlemlerinin ana iş parçacığında (UI Thread) gerçekleştirilemeyeceğini kavrayarak, AsyncTask, Handler veya Thread yapılarıyla arka planda ağ çağrıları yapma, hata durumlarını yönetme, internet bağlantısını kontrol etme ve zaman aşımı (timeout) gibi ağ sorunlarına karşı uygulama dayanıklılığını artırma becerisi kazanacaktır. Bu sayede öğrenciler, kullanıcı kaydı/girişi, ürün listeleme, haber akışı, hava durumu bilgisi gibi dinamik verilerle çalışan, sunucu ile sürekli iletişim halinde olan modern Android uygulamaları geliştirme yetkinliğine ulaşacaktır.
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar Anlatım, Tartışma, Soru Yanıt, Uygulama
Haftalık Öğrenme Etkinlikleri Açıklama Anlatım, Tartışma, Soru Yanıt, Uygulama eşliğinde pratikler yapmak
Haftalık Ölçme-Değerlendirme Etkinlikleri Doküman İncelemesi,
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri Kod incelemesi-40 dk
Hafta 14 .Hafta
Konu
Haftalık Kapsam ve Hedefler Bu bölümün amacı, öğrencilere Android uygulamalarında RESTful web servislerinden veri çekme sürecini öğretmek ve Retrofit kütüphanesini kullanarak GET tabanlı ağ işlemlerini uygulamalı olarak gerçekleştirme becerisi kazandırmaktır. Öğrencilerin, web servis mimarisini, REST prensiplerini ve HTTP protokolünü kavraması, JSON formatındaki verilerin yapısını anlaması ve bu verileri Java/Kotlin nesnelerine dönüştürme (serialization/deserialization) işlemlerini öğrenmesi hedeflenmektedir. Ayrıca, Retrofit kütüphanesini projeye ekleme, bağımlılıkları yönetme (Gson/Converter), Retrofit istemcisini yapılandırma ve interface'ler aracılığıyla API endpoint'lerini tanımlama becerilerinin kazandırılması amaçlanır. Öğrenciler, GET isteklerini asenkron olarak gerçekleştirme, Callback arayüzleriyle yanıtları işleme, başarılı ve başarısız sonuç durumlarını yönetme, ağ işlemlerini arka plan iş parçacıklarında çalıştırarak ana iş parçacığını bloklamama prensibini uygulama pratiği yapacaktır. Elde edilen verileri RecyclerView veya ListView gibi görsel bileşenlerle tek bir aktivite içerisinde listeleme, verileri adaptörler aracılığıyla kullanıcı arayüzüne bağlama, ağ bağlantı durumunu kontrol etme ve hata durumlarında kullanıcıya uygun geri bildirimler sağlama yetkinlikleri de bu bölümün önemli kazanımları arasındadır. Bu sayede öğrenciler, harici API'lerden veri çekebilen, bu verileri işleyerek kullanıcıya sunabilen ve temel düzeyde ağ iletişimi gerçekleştiren fonksiyonel Android uygulamaları geliştirme yetkinliğine ulaşacaktır.
Haftalık Öğrenme Etkinlikleri/Kaynakları/Videolar Anlatım, Tartışma, Soru Yanıt, Uygulama
Haftalık Öğrenme Etkinlikleri Açıklama Anlatım, Tartışma, Soru Yanıt, Uygulama eşliğinde pratikler yapmak
Haftalık Ölçme-Değerlendirme Etkinlikleri Doküman İncelemesi,
Haftalık Ölçme-Değerlendirme Notlandırması/Ödev Teslim Süreleri Kod incelemesi-40 dk