ppt - volkan tokmak

Download Report

Transcript ppt - volkan tokmak

Android'e Giriş
Volkan TOKMAK – EMO Ankara Şubesi - Ocak 2012
Android Nedir?
➲
➲
➲
➲
➲
2007, Google
Mobil cihazlar için üretilmiş Linux tabanlı işletim
sistemidir
Açık kaynak kodlu ve ücretsizdir
Mobil cihazlar için gerekli temel uygulamaları içerir
Projenin desteği; Google ve OHA (Open Handset
Alliance)
Android Tercih Sebepleri
➲
➲
➲
Belirli bir marka için değil, destekleyen tüm
markalar için
Ücretsiz
Firma özelleştirebilir, istediği şekilde sunabilir
Android Tabanlı Cihazlar
➲
➲
➲
➲
➲
➲
➲
HTC Corp. (Desire, HD, Hero, Dream, Magic, Google
Nexus One, Evo, Droid Eris, Tattoo, Sapphire, FlyerTablet)
Samsung Group ( Galaxy, Moment, Galaxy Note,
Galaxy Tab, vs.)
Motorola
Lenovo
Sony
Dell
….
Özellikleri
➲ Çoklu görev(multitasking)
➲ Çoklu dokunuş(multitouch)
➲ Flash desteği
➲ OpenGL
➲ API

Map, yüz tanıma, yer çekimi
lokasyon
sensörleri, GPS-
Handset Çizimler
➲
➲
➲
➲
VGA
2D grafik arşivler
OpenGL ES 1.0 tabanlı 3D Grafik arşivlerine
Geleneksel telefon çıkışlarına son derece kolay
uyum sağlar
Depolama
➲
Bilgi depolama amaçlı SQLite kullanmaktadır
Bağlanabilirlik
➲
➲
➲
➲
➲
➲
GSM
Bluetooth
EDGE
3G, 4G
Wi-Fi
Hotspot
Mesajlaşma
➲
➲
SMS
MMS
Web Tarayıcı
➲
➲
➲
Açık kaynak kodlu WebKit tabanlı tarayıcı
Firefox
Opera
Medya Destekleri
➲
➲
➲
➲
➲
➲
➲
➲
➲
MPEG-4
MP4
H.264
MP3
AAC
AMR
JPEG
PNG
GIF
Ek Donanımlar
➲
➲
➲
➲
➲
Anti-titremeli video/foto kameraları
Touchscreenler
GPS
Pusulalar
Accelerometrelerde
Sürümleri
➲
➲
➲
➲
➲
➲
➲
➲
1.1 (?) - 9 Şubat 2009
1.5 (Cupcake) – 30 Nisan 2009
1.6 (Donut) – 15 Eylül 2009
2.0-2.1 (Eclair) – 26 Ekim 2009
2.2 (Froyo) – 20 Mayıs 2010
2.3 (Gingerbread) – 6 Aralık 2010
3.0/3.1/3.2 (Honeycomb) – Şubat 2011
4.0 (Ice cream sandwich) – 2011 4.çeyrek (tabletphone)
Android 2.3 GingerBread
➲
➲
➲
➲
➲
➲
Linux çekirdeği 2.6.35
UI geliştirildi
SIP(Session Initiation Protocol) ve VoIP
desteklenmeye başlandı
Yeni ses efektleri eklendi
Yakın alan haberleşmesi(Near field
communication) desteklenmeye başlandı
Güç yönetimi ve uygulama kontrolü geliştirildi
Android 3.0 HoneyComb
➲
➲
➲
➲
➲
Linux çekirdeği 2.6.36
3 boyutlu masaüstü özelliği
Multi-tasking yapısı geliştirildi
Multi-core işlemciler desteklenmeye başlandı
Google Talk'da görüntülü görüşme desteklenmeye
başlandı
Android 1.1
Android 1.5
Android 1.6
Android 2.0
Android 2.2
Android 2.3
Uygulamalar
➲
➲
➲
➲
➲
➲
➲
➲
200.000+ uygulama
Android Market
İndiroid
SlideMe
AndAppStore
AndroidGear
AppsLib
insydemarket
Geliştirme Ortamı
➲
➲
➲
Windows Xp(32Bit), Vista (32-64Bit), Windows 7 (3264Bit)
Linux
Mac OS X (intel)
Geliştirme Araçları
➲
➲
➲
➲
Android SDK
Eclipse, Netbeans vb.
Emulator ya da Android yüklü cihaz (test için)
Java, JS (PhoneGap vb.), .NET (Mono Project),
PHP (?)
Mimarisi
Uygulama Çatısı
➲

➲

➲

➲

Content Providers
Diğer uygulamalardan veriye erişim ve paylaşım sağlar
Resource Manager
Non-code kaynaklara erişim sağlar
Notification Manager
Tüm uygulamalar tarafından status bar'da uyarı
gösterilmesini sağlar
Activity Manager
Uygulama yaşam döngüsünü yönetir
Proje Yapısı
➲
➲
➲
➲



➲
src: paketler ve Java kodları
gen: R.java bulunur. Resource
erişimi için kullanılır.
assets: 3.parti libler
res:
layout: ekran tasarımları
drawable: imajlar
values: string degerler
manifest: uygulama ayarları
Android Manifest
Android Manifest
➲
➲
➲
➲
package tagi; projemizin paket adını gösterir
uses-sdk android:minSdkVersion; en az hangi
Android versiyonunda çalışması gerektiğini
gösterir
application android:icon tagi; uygulamamıza
vereceğimiz ikon, android:label ise uygulama adı
olacaktır
action android:name tagi; aktif olan sınıfı belirtir
Activity Nedir?
➲
➲
➲
➲
➲
➲
➲
Kullanıcı ile iletişim kurar
Her ekran(sayfa) için Activity olmalı
Layout'lar Activity'lerde kullanılırlar
Başka Activity çağırabilir
Veri gönderip, alabilirler
Form, buton, textbox vs(arayüz elemanları)
ekranda görüntülenmesidir
I/O için kullanılır
Activity Yaşam Döngüsü
Activity
Method
Description
Next
onCreate()
İlk yaratıldığında çalışır
onStart()
onRestart()
Daha önce stop olmuşsa yeniden çalışmaya
onStart()
başladığında çalışır, peşinden mutlaka onStart çalışır.
onStart()
Kullanıcıya görünürken çalışır.
onResume()or onStop()
onResume()
Kullanıcı ile etkileşim başlar, tüm inputlar gelmeye
başlar.
onPause()
onPause()
Bir önceki activity onResume olurken burası onPause onResume() or onStop()
olur.
onStop()
onDestroy()
Kullanıcıya uzun süre görünmeyince çalışır.
onRestart()or onDestroy()
Tamamne sonlanmadan önce çalışır, finish()
çağrıldığında çalışır.
nothing
Intent
➲
➲
➲

➲

Veri alış-verişini sağlar
Activityler arası geçişi ve servislere erişimi sağlar
Açık intentler
Alıcı bellidir, genelde Java sınıflarıdır. Örnek; bir aktiviteden
diğerine geçiş
Dolaylı intentler
Android'de yüklü olan uygulamaları çağırmada yardımcı olur.
Örnek; uygulama içinden bir numara aranacak veya mesaj
atılacaksa ilgili activity intent aracılığıyla çağırılır
Services
➲
➲
➲
Görsel arayüz bulundurmaz
Kullanıcı ile doğrudan değil dolaylı olarak etkileşim
halindedir
Birden fazla olabilir, Servisler birbirinden
bağımsızdır
Broadcast Receivers
➲
➲
➲
Yayın alıcısı bileşeni
Görsel arayüz bulundurur
Birden fazla olabilir, birbirinden bağımsızdır
Content Providers
➲
➲
➲
➲
Bilgi, Veri, İçerik Sağlayıcı bileşeni
Görsel arayüz sunmaz
Kullanıcı ile dolaylı olarak etkileşim halindedir
Birden fazla olabilir, birbirinden bağımsızdır
Güvenlik ve İzinler
➲
➲


AndroidManifest.xml içinde tanımlanır
Örnek:
<uses-permission
android:name="android.permission.RECEIVE_SMS" />
<uses-permission
android:name="android.permission.INTERNET" />
Sorular?
Teşekkürler!
volkantokmak.com