Android Programlama

advertisement
Akıllı telefonlar, avuçiçi bilgisayarlar ile
taşınabilir (cep) telefonların özelliklerini
birleştiren cihazlardır.
 Akıllı telefonlar kullanıcıların bilgilerini
saklamalarına, program yüklemelerine
izin vermesinin yanısıra birer cep
telefonudur da. Günümüzde internet ve
multimedya kullanımının artması ile
yaygınlığını her geçen dakika
artırmaktadır.

İlk smartphone 1992 yılında İBM tarafından,
Las Vegasta yapılan COMDEX fuarında
sergilendi.
 Cihaz aynı zamanda dokunmatik ekrana
sahipti


Akıllı telefonlar (Smart Phones) , Tablet
bilgisayarlar , PDA (Personal Digital
Assistant) 'lar gibi taşınabilir cihazlar için
üretilen işletim sistemleri mobil işletim
sistemleri olarak adlandırılırlar.
-Google : Android
 -Apple : Iphone OS (iOS)
 -RIM : BlackBerry OS
 -Symbian Vakfı : Symbian
 -Palm : Web OS
 -Microsoft : Windows Mobile
 -Linux Vakfı : MeeGo
 -Samsung : Bada




Google ve Open Handset Allience (OHA)
tarafından mobil cihazlar için kodlanmış açık
kaynak kodlu bir işletim sistemidir.
Linux çekirdeğine sahiptir ancak alışılageldik
Linux çekirdekli işletim sistemlerinde bulunan
bazı temel özellikleri ve parçaları içermediği
için genel anlamda bir Linux işletim sistemi
olarak kabul edilmez. İşletim sistemi kodlanırken
yaklaşık 12 milyon (3 milyon XML , 2.8 milyon C ,
2.1 milyon Java, 1.75 milyon C++ ve diğer
kodlar) satır kod yazılmıştır.
Eski Yunancada insanımsı makine anlamına
gelen yeşil robot simgesini kullanır.
Yazılım uzmanları için gerekli olan bütün
altyapıyı geniş bir kütüphane içerisinde
sunmaktadır.
 Android SDK ile kolayca donanım
elemanlarına erişilebilir ve kontrol
edilebilir.

Application katmanı İşletim sisteminin
kullanıcıya görünen yüzüdür de denebilir.
 Bu katmanda kullanıcı tanımlı
uygulamalar bulunur.
 Android uygulamalarının tamamına
yakını Java programlama diliyle geliştirilir.


Android’ in tercih edilmesinde uygulamalar
büyük rol oynar ve bu yüzden uygulamaların
işletim sistemi tarafından kusursuz yönetilmesi
gerekir. Android’ de uygulamaların yönetimi
Application Framework tarafında gerçekleştirilir.
Bu katmanın görevleri arasında;
 Uygulamaya ait kaynakların yönetimi,
 Uygulamalar arası veri paylaşımının yönetimi,
 Uygulamaların yaşam döngülerinin yönetilmesi
 Uygulamanın donanım isteklerinin yönetilmesi

Android’in çeşitli sistem bileşenlerinin
kullanılabilmesi için gerekli olan C,C++
kütüphanelerinin bulunduğu katmandır.
Örneğin veritabanı uygulamaları için
kullanılan SQLite veritabanının
kütüphanesi bu katmandadır. Yine
benzer şekilde medya uygulamalarının
da kütüphaneleri bu katman içindedir.




Android uygulamalarının tamamına yakını Java diliyle
yazıldığından bu uygulamaların çalıştırılmasında bir
Java Sanal Makinesi’ne ihtiyaç vardır.
Mobil cihazlardaki kaynakların oldukça sınırlı olması,
Android için yeni bir sanal makineye ihtiyaç
duyulmasına sebep olmuştur.
Google bu sebeple Android için Dalvik Sanal
Makinesini geliştirmiştir. Android’ de her uygulama
kendi sürecinin Dalvik VM’ den aldığı bir oturumda
koşar.
Dalvik VM aynı anda çok sayıda sürece oturum hakkı
verebilir. Yani birden fazla process zaman paylaşımlı
olarak çalışabilmektedir.
Android OS, bellek yönetimi (memory
management), süreç yönetimi (process
management), güvenlik, sürücü hizmetleri
gibi temel işletim sistemi görevlerini Linux
Kernel 2.6 ile gerçekleştirmektedir.
 Donanım kaynaklarına erişim de Linux
Kernel ile gerçekleştirilir.
 Android, bahsi geçen özellikleri Linux Kernel’
den almış olsa bile bunları mobil cihazlara
uyarlamak için bazı iyileştirmelere ve
geliştirmelere de gitmiştir.

Konum Bazlı İşlemler: Bulunulan konum
bilgisi ve istenilen konum bilgilerine
ulaşılabilir. Google Maps API
 Veritabanı İşlemleri: SQLite (ilişkisel veri
tabanı)
 Grafik İşlemleri: OpenGL
 Kamera ve Sensör İşlemleri:
 Arkaplan İşlemleri: Arkaplanda çalışan
servisler.

Yazdığınız herhangi bir programı herhangi
bir sistem üzerinde çalıştırabilmeyi sağlar.
 Java ile yazılan sınıflar(.java), öncelikle
bytecode diye adlandırılan (.class) dosya
türüne derlenir. Bu dosyalar işlemciniz
üzerinde doğrudan çalıştırılabilir programlar
değildir. Dalvik Sanal Makinesi(Dalvik VM)
bu kodu yorumlayarak telefona uygun
çalıştırılabilir (.dex) dönüştürür.

Gelecekte dizüstü bilgisayarların yerini
tablet bilgisayarların alacağı tahmin
edilmektedir.
 Android markette 2013 yılında 520 bin
uygulama bulunmaktadır. Her geçen
gün yeni uygulamalar yüklenmektedir.
 Yakın gelecekte TV’lerin akıllı TV’lere
dönüşeceği (Google TV) ve Android
işletim sistemi kullanılabileceğini
göstermiştir.

JDK (Java Development Kit)
 Eclipse IDE
 Android SDK
 Eclipse ADT



Android uygulamasının çalışması için gerekli
tüm prensiplerin belirlendiği dosyadır.
Filtrelemeler, izinler, versiyon ayarları ve bir
android uygulamasında aklınıza gelebilecek
birçok şey bu dosya içerisindeki verilere göre
şekilleniyor.
Örneğin, sms gönderme iznini vermediğimiz bir
uygulama sms gönderemez veya internet
erişimi vermediğimiz bir uygulamanın internete
bağlanma imkanı yoktur. Ya da bir activity
sınıfını bu dosyada tanıtmadığınız sürece
uygulamanız içerisinde o sınıfa erişmeniz
mümkün olmayacaktır.

https://www.youtube.com/watch?v=bu
GXaLNE4vw
Download