390 likes | 596 Views
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
E N D
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, Flyer-Tablet) • 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 sensörleri, GPS-lokasyon
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 (tablet-phone)
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ı
Uygulamalar • 200.000+ uygulama • Android Market • İndiroid • SlideMe • AndAppStore • AndroidGear • AppsLib • insydemarket
Geliştirme Ortamı • Windows Xp(32Bit), Vista (32-64Bit), Windows 7 (32-64Bit) • 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 (?)
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 • 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
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" />
Teşekkürler! volkantokmak.com