BLGM 419 Mobil Uygulama Gelitirme Asst Prof Dr
BLGM 419 Mobil Uygulama Geliştirme Asst. Prof. Dr. Ahmet Ünveren 2020 -2021 BAHAR Bilgisayar Mühendisliği Bölümü
Katalog Açıklaması Bu ders, temel programlama ilkelerini, yazılım mimarisini ve bunların geliştirme ortamlarını kapsayacak olan mobil cihaz programlamaya giriş niteliğindedir. Olay güdümlü programlama, nesne yönelimli programlama, grafik kullanıcı arabirimi tasarımı ve mobil cihazlar için veritabanı programlama bu dersin ana konuları olacaktır.
Değerlendirme Method Lab Work(s) Assignment No 10 -12 1 Percentage 10% 5% 5% +10%+5% (Java) (Android) Online Quizes 5 Arasınav 1 20% Final 1 30%
References n n Bu ders, bazı temel kavramlara kısa bir genel bakış niteliğindedir… Android çok daha zengin ve daha karmaşıktır Developer’s Guide q n http: //developer. android. com/sdk/index. html API Reference q http: //developer. android. com/reference/packages. html
Araçlar » Eclipse ve Android SDK'yı kurmak, bir Android uygulaması oluşturmaya başlamak için ihtiyacınız olan temel araçları sağlayacaktır. Her projede olduğu gibi, önce araçlarınızı toplayarak ve onları kullanmayı öğrenerek başlamalısınız. » Akıllı Telefon (Telefon emülatörü) » Eclipse ( http: //www. eclipse. org/downloads/ ) ˃ Android Plugin (ADT) » Android SDK ( http: //developer. android. com/sdk/index. html ) ˃ İstemediğiniz sürece Ek SDK Platformları dışındaki her şeyi yükleyin. » Android Studio
» Java & » Android Programming
Java p Java, C'ye benzer bir sözdizimi ile nesne yönelimli bir dildir. p Nesneler ve yöntemler(Methods) etrafında yapılandırılmıştır p Yöntem, bir eylem veya nesneyle yaptığınız bir şeydir p C ++ 'nın aşırı karmaşık özelliklerinden kaçının: p Operatör aşırı yükleme, işaretçi, şablonlar, arkadaş sınıfı vb.
» Java Temelleri ˃ ˃ ˃ ˃ Tanım Java programming language Java Virtual Machine (Java Sanal Makine) JDK and JRE Setting up your machine for Java programming Hello World in Java Using a text Editor Using an IDE Java Primitive Data Type Naming Arrays Control Flow If/Else and Switch statement While loop For Loop » Nesne Tabanlı Programlama ˃ ˃ ˃ ˃ ˃ Introduction Object Oriented Programming Objects Classes (Sınıflar) Inheritance (Miras) Interface (arayüz) Access Modifiers Constructors (Yapılandırıcılar) Method overriding and overloading (Metod kullanımları) Polymorphism
Java Nasıl Çalışır Compile-time Run-time Class Loader Java Source (. java) Java Compiler Java Bytecodes move locally or through network Java Interpreter Just in Time Compiler Runtime System Java Bytecode (. class ) Operating System Hardware Java Class Libraries Java Virtual machine
» Java uygulamasını farklı işletim sistemlerinde aynı şekilde çalıştırabilen aracın adı Java Sanal Makinesi'dir (Java Virtual Machine). Java Sanal Makinesi, bytecode bulunduran *. class dosyalarını çalıştırır. Yazdığınız *. java kodunu *. class dosyasına çeviren aracın adı da javac'dir. » Java Geliştirme Paketi (JDK) ise yukarıda bahsettiğimiz, Java uygulamaları çalıştırmak için gereken Java Çalışma Zamanı Ortamını (Java Runtime Environment - JRE) içinde barındırır. JRE içinde Java Sanal Makinesi (JVM) ve açık kaynak kodlu Java API'leri yer alır.
Android Nedir? » Android, bir işletim sistemi, ara katman yazılımı ve temel uygulamaları içeren mobil cihazlar için bir yazılım yığınıdır. Android, Google tarafından özellikle mobil cihazlarda (cep telefonları ve tabletler) kullanılmak üzere oluşturulmuş açık kaynaklı bir işletim sistemidir.
Mimari Yapısı
Android S/W Stack - Application » Android provides a set of core applications: ü ü ü ü Email Client SMS Program Calendar Maps Browser Contacts Etc » All applications are written using the Java language.
Android S/W Stack –App Framework » Bileşenlerin yeniden kullanımını etkinleştirme ve basitleştirme ˃ Geliştiriciler, çekirdek uygulamalar tarafından kullanılan aynı çerçeve API'lerine (Uygulama programlama arabirimi: yazılım uygulaması oluşturmak için kurallar, protokoller ve araçlar kümesi) tam erişime sahiptir. Özellik Görevi View System Listeler, ızgaralar, metin kutuları, düğmeler ve gömülü web tarayıcısı dahil olmak üzere bir uygulama oluşturmak için kullanılır Content Provider Uygulamaların diğer uygulamalardan verilere erişmesine veya kendi verilerini paylaşmasına izin verme Resource Manager Kod dışı kaynaklara erişim sağlama (yerelleştirilmiş dizeler, grafikler ve düzen dosyaları) Notification Manager Activity Manager Tüm uygulamaların durum çubuğunda müşteri uyarılarını görüntülemesini sağlama Uygulamaların yaşam döngüsünü yönetme ve ortak bir gezinme arka yığını sağlama
Android S/W Stack - Libraries » Android sisteminin bileşenleri tarafından kullanılan bir dizi C / C ++ kitaplığı içerir. » Android uygulama çerçevesi aracılığıyla geliştiricilere sunulur.
Android S/W Stack - Runtime » Çekirdek Kütüphane (Core Libraries) ü Java dilinin çekirdek kitaplıklarında bulunan işlevlerin çoğunu sağlamak. APIs Ø Data Structures Ø Utilities Ø File Access Ø Network Access Ø Graphics Ø Etc
» Dalvik Sanal Makine ü Her Android uygulamasının çalıştığı ortamın sağlanması. ü Her Android uygulaması, kendi Dalvik VM örneğiyle kendi sürecinde çalışır. ü Dalvik, bir cihazın birden çok sanal makineyi verimli bir şekilde çalıştırabileceği şekilde yazılmıştır. ü Register-tabanlı Sanal Makine ü Dalvik Çalıştırılabilir (. dex) format Ø. dex en iyi hafıza formatında çalışır. Ø Derleme ü Linux Çekirdeğine güvenmek: Ø Threading Ø Düşük seviyelei bellek yönetimi
Android S/W Stack – Linux Kernel l l Relying on Linux Kernel 2. 6 for core system services ü Memory and Process Management ü Network Stack ü Driver Model ü Security H / W ve S / W yığınının geri kalanı arasında bir soyutlama katmanı sağlamak
Android Uygulama Geliştirme Eclipse IDE/ Android Studio Android Emulator Android SDK Android Mobile Device
Android Geliştirme Android Manifest Resource XML Java Source Generated Class Android Libraries Java Compiler . dex File Dalvik VM
- Slides: 20