içindekiler
Transkript
içindekiler
İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ Android Nedir? Android’in Büyüklüğü Android Sürümleri Android Ekran Çözünürlükleri ve Büyüklükleri Android OpenGL Versiyonları Android’li Cihaz Çeşitliliği Android SDK Kurulumu JDK 6 Kurulumu SDK Platformları ve Örneklerin Kurulması Android Virtual Device (AVD) Oluşturmak Android Geliştirme Araçlarının Kurulumu Android Cihazlarının Geliştirmeye Hazırlanması 1 1 2 4 6 6 7 8 8 9 11 12 14 2 ANDROİD UYGULAMA GELİŞTİRME ALTYAPISI Android Uygulama Geliştirmeye Genel Bakış Activities Kavramı Services Kavramı Content Providers Kavramı Broadcast Receivers Kavramı İlk Android Projemiz Proje Yapısı ve Uygulamayı Çalıştırma AndroidManifest.xml Dosyası Activity Kavramı Intent Kavramı Action (Eylem) Data (Veri) Category (Kategori) Extras (Ekstra Veriler) Uygulama Kaynaklarını Kullanmak Güvenlik (Security) ve İzin (Permission) Yapısı Debug Modu ve Hata Ayıklama 15 15 16 16 17 17 17 19 20 21 23 24 25 26 26 27 28 32 3 KULLANICI ARAYÜZLERİ VE KONTROLLER 35 Arayüz (Layout) Yapısı ve Ölçü Birimleri 35 Ölçü Birimleri 37 Arayüz (Layout) Tipleri 40 LinearLayout 40 RelativeLayout 41 Andro_Mob_Uyg_ICINDEKILER.indd 9 18.11.2013 14:23 X ANDROID TABANLI MOBİL UYGULAMA GELİŞTİRME FrameLayout 44 TableLayout 47 AbsoluteLayout 47 Kontroller 48 Metin (Text) Kontrolleri 48 TextView Kontrolü 49 EditText (Metin Kutusu) Kontrolü 49 Buton (Button) Kontrolleri 50 Button Kontrolü 50 ToggleButton Kontrolü 51 ImageButton Kontrolü 53 RadioButton Kontrolü 53 CheckBox Kontrolü 55 OnClickListener 55 Liste Kontrolleri 57 ListView Kontrolü 57 4 GRAFİK VE STİLLER Stil (Style) Oluşturma ve Kullanma Tema (Theme) Oluşturma ve Kullanma Simge (Icon) Oluşturma Nine Patch Aracı (9-patch Tool) 61 61 65 66 70 5 ÇOKLU EKRAN KULLANIMI Ekran Karakteristiği ve Kavramlar Ekran Büyüklüğü (Screen Size) Ekran Yoğunluğu (Screen Density) Niteleyiciler (Qualifiers) 73 73 73 74 76 6 MENÜLER VE DİYALOG KUTULARI Seçenekler Menüsü (Options Menu) Menü Öğelerini (Item) Çalışma Zamanında (Runtime) Değiştirme Eylem Çubuğu (Action Bar) Bölünmüş Eylem Çubuğu (Split Action Bar) Eylem Çubuğunda Uygulama Simgesini Kullanma Eylem Çubuğuna Action View Ekleme Eylem Çubuğuna Action Provider Ekleme Eylem Çubuğuna Gezinme Sekmeleri (Navigation Tabs) Ekleme Eylem Çubuğuna Açılır Gezinme (Drop-down Navigation) Ekleme İçerik Menüsü (Context Menu) Popup Menü Uyarı Diyalog (AlertDialog) Kutuları AlertDialog İçerisine Liste Ekleme Andro_Mob_Uyg_ICINDEKILER.indd 10 81 81 86 87 91 92 94 96 98 101 103 107 108 110 18.11.2013 14:23 İÇİNDEKİLER İlerleme Çubuğu (Progress Bar) Özel Diyalog Kutuları (Custom Dialogs) 115 117 7 BİLDİRİMLER (NOTIFICATIONS) Durum Çubuğu (Status Bar) Bildirimleri Bildirim (Notification) Oluşturmak Bildirimleri Güncelleme Bildirimleri Silme Bildirim Eylemleri Toast Bildirimleri (Toast Notifications) 119 120 121 124 125 126 127 8 MEDYA OYNATMA VE KAMERA ERİŞİMİ Medya Oynatma Durum Yönetimi MediaPlayer Servislerini Kullanma Uyku Modu Kilidi (Wake Lock) Servislerin Ön Planda Çalışması Ses Çalma İsteği (Audio Focus Request) Kamera Erişimi AndroidManifest.xml İçerisindeki Değişiklikler Intent Kullanarak Video ve Resim Çekme Kendi Kamera Uygulamamızı Yazmak MediaRecorder ile Video Kaydetme Kamera Özelliklerini Kullanma Ölçekleme (Metering) ve Odaklama (Focus) Alanları Yüz Tanıma (Face Detection) Time Lapse Video 131 131 136 137 139 140 142 146 146 147 151 160 163 165 167 169 9 SES TANIMLAMA VE KONUŞMA (SPEECH) Ses Tanımlama (Voice Recognation) Yazıyı Konuşmaya Çevirme (Text-to-Speech) 171 171 175 10 VERİ DEPOLAMA SharedPreferences Sınıfı FileInputStream ve FileOutputStream Sınıfları Environment Sınıfı AsyncTask ve Thread Sınıfları InputStream ve OutputStream Sınıfları SQLite Veritabanı SQL Sorguları ile Veritabanı İşlemleri ve Cursor Sınıfı SQLiteOpenHelper Sınıfı ile Veritabanı İşlemleri 179 179 182 184 188 191 192 192 192 195 Andro_Mob_Uyg_ICINDEKILER.indd 11 XI 18.11.2013 14:23 XII ANDROID TABANLI MOBİL UYGULAMA GELİŞTİRME 11 WIDGET Widget Oluşturma AndroidManifest.xml Üzerinde Widget Tanımlaması AppWidgetProviderInfo ile Metadata Tanımlaması Widget Provider Metodları Widget Yapılandırma (Configuration) Keyguard (Kilit Ekranı) Widget Tanımlama 203 203 205 206 209 211 216 12 WEB UYGULAMALARI GELİŞTİRME Genel Bakış Web Uygulamalarında Ekran Uyumu WebView ile Web Uygulamaları Oluşturma WebViewClient Oluşturma WebView ile Javascript Kullanımı 219 219 221 228 231 232 13 KONUM SERVİSLERİ VE GOOGLE MAPS API V2 Konum Servisleri Google Maps API v2 Kurulum ve Gereksinimler MapFragment Sınıfı ile Harita Ekleme Harita Üzerinde Çizim Yapma Belirteç (Marker) Ekleme Çizgiler (Polylines) ve Çokgenler (Polygons) Ekleme Daire (Circle) Ekleme Harita Kamera Ayarları ve Animasyon Ekleme 235 235 241 243 251 256 256 261 265 266 14 HTTPCLIENT, JSON VE XML İnternetten Veri Okuma ve HttpClient Twitter’dan JSON Verisi Okuma Hava Durumu Uygulaması Yahoo Weather API ve Yahoo GeoPlanet API GeoPlanet ile WOEID Numarasını Alma Weather API ile Hava Durumunu Alma Hava Durumu Görselini Alma 273 273 277 287 288 288 292 296 298 15 GOOGLE PLAY’DE UYGULAMA YAYINLAMA Ön Hazırlık İmzalama (Sign) ve Derleme (Build) Uygulama Tanıtım Görselleri Yayınlama (Publish) 301 301 302 306 309 Andro_Mob_Uyg_ICINDEKILER.indd 12 18.11.2013 14:23