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