İÇİNDEKİLER VII İÇİNDEKİLER 1 MOBİL UYGULAMA GELİŞTİRME VE APACHE CORDOVA/PHONEGAP 1 PhoneGap ya da Apache Cordova Nedir? 1 PhoneGap Nasıl Ortaya Çıktı? 2 PhoneGap Nasıl Çalışır? 2 PhoneGap ile Hangi Platformalara Uygulama Geliştirilebilir? 4 İsmi PhoneGap Mi? Cordova Mı? 5 PhoneGap Mi? Cordova Mı? Hangi Dağıtımı Kullanmalıyım? 5 PhoneGap/Cordova Geliştirirken Hangi Araçları Kullanmalıyım? 6 PhoneGap/Cordova Hakkında Kısa Bilgiler ve Özellikleri 7 2 CORDOVA UYGULAMA DİZİN YAPISI 9 Cordova Uygulama Dizin Yapısı 9 www Klasörü 10 platforms Klasörü 11 plugins Klasörü 12 merges Klasörü 15 3 CORDOVA ÇALIŞMA ORTAMI KURULUMU 19 Java Development Kit (JDK) 20 Android SDK 22 Ant 26 NodeJS 27 Cordova 28 4 CORDOVA CLI KULLANIMI 29 CLI i Tanıyalım 29 CLI Ne Zaman Kullanılmaya Başlandı? 29 Ne Fayda Sağlar? 29 CLI Kurulumu ve Güncelleme 30 CLI Kurulumu Nasıl Yapılır? 30 İstediğiniz Cordova Sürümünü Nasıl Yüklersiniz? 30 Cordova Sürümünü Nasıl Öğreneceğiz? 31 CLI ile Proje Oluşturma 31 Artık İlk Uygulamamızı Oluşturalım! 31 CLI ile Platformların Kullanımı 32
VIII PHONEGAP/CORDOVA İLE MOBİL UYGULAMA GELİŞTİRME Cordova Uygulamasına Platform Nasıl Eklenir ve Silinir? 32 Cordova Uygulamasında Kurulu Platformlar Nasıl Listelenir? 33 CLI ile Plugin lerin Kullanımı 34 Cordova Plugin leri Nasıl Yüklenir? 34 Cordova Plugin leri Nasıl Kaldırılır? 34 Projenizde Kurulu Olan Cordova Plugin leri Nasıl Öğrenirsiniz? 35 CLI ile Tüm Platformların Yönetimi 35 Proje, Tüm Platformlar İçin Nasıl Hazır Hale Getirilir? 35 Tüm Platformlar İçin Derleme İşlemi Nasıl Yapılır? 36 Tüm Platformlar İçin İnşa İşlemi Nasıl Yapılır? 36 CLI İle Uygulama Çalıştırma ve Kontrol 36 Uygulamanızı Lokal Bir Sunucuda Nasıl Çalıştırırsınız? 36 Uygulamanızı Cihaz Üzerinde Nasıl Çalıştırırsınız? 37 Uygulamanızı Emülatör Üzerinde Nasıl Çalıştırırsınız? 37 CLI Yardım 38 Buraya Kadar Bahsedilen Komutları Unutuyorum! Nasıl Hatırlarım? 38 5 MOBIL UYGULAMALAR IÇIN META ETIKETLERI 39 Mobil Uygulamalar için Meta Etiketleri 39 UTF-8 Kullanımı 40 Format-Detection 40 Viewport Kullanımı 40 Meta Etiketleri İçerisindeki Uyarı 43 6 MOBIL UYGULAMALAR IÇIN CSS 45 Mobil Uygulamalar İçin CSS 45 Tıklamalarınızdaki Seçim Rengini ve Çizgilerini İptal Edin! 46 Bilgi Pencerelerini İptal Edin! 47 Form larınızda Kendi Stillerinizi Kullanın! 47 Metin Seçimlerini İptal Edin! 47 Metin Boyutlarınızın Yeniden Ayarlanabilirliliğini İptal Edin! 48 7 MOBİL UYGULAMALAR İÇİN JSON KULLANIMI 49 JSON Nedir? 49 XML e Ne Oldu? Neden XML değil de JSON? 49 Şimdi Gelin İş Konuşalım! 50 Peki bu JSON Değeri Nasıl Elde Edilir? 50 JSON Örnek Verileri 51
İÇİNDEKİLER IX Daha Fazla Kayıt! 53 Çok Daha Fazla Kayıt! 55 Bir Sorunumuz Var! 55 8 CORDOVA ILE JSON VERISI OKUMA 57 9 MOBİL UYGULAMALAR İÇİN LOCALSTORAGE VE SESSIONSTROAGE KULLANIMI 61 localstorage 61 Tarayıcı Desteği 62 localstorage in Kullandığı Metotlar 63 localstorage in Kullandığı Özellikler 63 localstorage ile JSON kullanımı 63 sessionstorage 65 10 CORDOVA UYGULAMALARINDA FASTCLICK.JS KULLANIMI 67 Hangi Platformlarda Çalışır? 68 Nereden İndireceğim? 68 Nasıl Kullanılır? 68 11 CORDOVA İLE MOBIL GELIŞTIRME İÇIN PERFORMANS İPUÇLARI 69 12 CORDOVA UYGULAMALARINDA HATA AYIKLAMAK 71 Alert 72 Console 73 Peki Konsola Yazdırdıklarımızı Nasıl Görüntüleyeceğiz? 74 Debugger 75 Developer Tools 76 Android Üzerinde Uzaktan Hata Ayıklama 76 Peki Nasıl Kullanacağız? 77 13 CORDOVA YAŞAM DÖNGÜSÜ OLAYLARI 79 DeviceReady 80 Pause ve Resume 82 BackButton 83 MenuButton 84 SearchButton 85 StartCallButton, EndCallButton, VolumeDownButton, VolumeUpButton 86
X PHONEGAP/CORDOVA İLE MOBİL UYGULAMA GELİŞTİRME 14 BATARYA DURUMU 87 batterystatus 87 BatteryCrıtıcal 89 BatteryLow 90 15 SPLASH SCREEN (AÇILIŞ EKRANI) 91 16 CAMERA (KAMERA) 95 navigator.camera.getpicture 95 cameraoptions 96 17 CONTACTS (KİŞİLER) 101 navigator.contacts 101 navigator.contacts.create 102 navigator.contacts.find 102 navigator.contacts.pickcontact 105 Contact Nesnesi 106 Contact Nesnesi Metotları 107 ContactName Nesnesi 109 ContactField Nesnesi 111 ContactAddress Nesnesi 112 ContactOrganization Nesnesi 113 ContactError 114 18 DEVICE (CIHAZ) 115 device.name 115 device.cordova 115 device.platform 116 device.uuid 116 device.version 117 device.model 117 19 DEVICE MOTION ACCELEROMETER (AKSELEROMETRE) 119 Acceleration Nesnesinin Kullanımı 119 Biraz Bilgi... 120 Acceleration ın Özellikleri 120 Accelerometer API Metotları 120 accelerometer.getcurrentacceleration Kullanımı 120
İÇİNDEKİLER XI accelerometer.watchacceleration Kullanımı 122 accelerometer.clearwatch Kullanımı 124 20 DEVICE ORIENTATION (COMPASS)/CIHAZ YÖNÜ (PUSULA) 127 compass.getcurrentheading Kullanımı 127 compassheading in Özellikleri 129 compass.watchheading Kullanımı 130 compass.clearwatch Kullanımı 133 21 DIALOGS (DIYALOGLAR) 135 Alert 135 Confirm 137 Prompt 141 promptcallback 141 Beep 143 22 FILESYSTEM (DOSYA SISTEMI) 145 FileSystem API nin Sağladığı Bilgiler 146 Mobil Cihazda Dosyalar Nerede Saklanır? 147 FileSystem API nin Önceki Sürümleri ile Çalışma 148 Hata Kodları 149 FileSystem API yi Yapılandırma (İsteğe Bağlı) 150 23 FILE TRANSFER (DOSYA TRANSFERİ) 151 FileTransfer Nesnesi 152 upload 153 FileUploadResult 155 download 155 abort 157 FileTransferError 157 24 GEOLOCATION (COGRAFI KONUM) 159 geolocation.getcurrentposition Kullanımı 160 Position Nesnesi 161 PositionError Nesnesi 161 Coordinates Nesnesi 162 geolocationoptions Parametresi 162 geolocation.watchposition Kullanımı 163 geolocation.clearwatch Kullanımı 164
XII PHONEGAP/CORDOVA İLE MOBİL UYGULAMA GELİŞTİRME 25 GLOBALIZATION (KÜRESELLEŞME) 167 26 INAPPBROWSER (UYGULAMA İÇI TARAYICI) 187 window.open 187 InAppBrowser 189 InAppBrowserEvent 190 27 MEDIA (MEDYA) 199 Media Nesnesi 199 Salt okunur parametreler 201 media.getduration 201 media.pause 201 media.play 202 media.release 202 media.seekto 202 media.setvolume 202 media.startrecord 203 media.stoprecord 203 media.stop 203 28 MEDIA CAPTURE (MEDYA YAKALAMA) 207 capture.captureaudio 208 CaptureAudioOptions 209 capture.captureimage 211 CaptureImageOptions 211 capture.capturevideo 212 CaptureVideoOptions 213 MediaFile 214 ConfigurationData 216 CaptureError 216 29 NETWORK INFORMATION (AĞ BILGISI) 217 Ağ ile İlgili Olaylar 220 30 VIBRATION (TITREŞIM) 223 31 CONSOLE (KONSOL) 227 32 STATUSBAR (DURUM ÇUBUĞU) 229