İÇİNDEKİLER
Önsöz İkinci Baskıya Önsöz DVD Hakkında Android Mobil Programlamaya Giriş Adobe Flash Pro ile Gelişen Mobil Programlama Mobil Programlamada Adobe Flash Pro ve Adobe AIR Kullanmanın Avantajları Flash’ın Mobil Cihazlardaki Hakimiyeti ve Neler Yapabildiği Gerekli Yazılımların Yüklenmesi ve Hazırlıklar Adobe Flash Pro’nun Kurulması Adobe AIR SDK & Compiler Kurulumu ve Adobe Flash Pro’da Sürüm Güncelleme Kitabın İşleyişi ve Örnekler Hakkında APK Dosyalarının İçeriği İlk Uygulamamızı Hazırlıyoruz ve Çalıştırıyoruz Mobil Uygulama Şablonları Yeni Bir AIR for Android Projesi Başlatmak ve Sahne Düzenini Oluşturmak Birkaç Görsel Öğe Eklemek ve Nesneler Arası Etkileşim Sağlamak OOP ile İlk ActionScript Class’ımızı Yazmak ve Dahil Etmek Gömülü Sistem Olarak ActionScript 3.0 Komutlarını Yazmak SimCotroller ile Bilgisayar Üzerinde Cihazı Simüle Etme SimController ile Sanal Telefonun 3D Eksen Hareketlerini Algılamak SimController ile Sanal Telefondan Karmaşık Parmak Dokunuşlarını Algılamak Touch (Dokunuşlar) Kategorisi Gesture (Kaydırmalar) Kategorisi USB Bağlantısı ile Mobil Cihaz / Cihazlar Üzerinde Test Etme Temel Ayarlarla APK Yayımla ve Paketleme Manuel Olarak APK Dosyalarını Android Cihaza Yüklemek Adobe Flash Pro Programına Giriş Kullanıcı Arayüzünde Hızlı Bir Tur Mobil Sahne Düzeni Oluşturmak Tasarım Araçlarının Kullanımı Düzen Araçlarının Kullanımı Timeline, Katman ve Frame Kullanımı ActionScript 3.0 ile Mobil Programlama Mantığını Kavramak ve Genel Dil Yapısı ActionScript 3.0’ı Tanıyalım ActionScript Kod Editörü ve Kullanımı Butonlar ve Movie Clip’ler Button Movie Clip Orijinal Nesne, Yansıyan Nesne ve Instance Name Kavramı ActionScript 3.0 Kod Yazma Mantığı, Keyframe ve Nesneler ile İlişkisi Sahne ve İç İçe Nesnelerle AS 3.0'ı İlişkilendirmek Olay Yöneticileri ve Fonksiyonların Kullanımı Mouse (Parmak) Olayları Klavye Olayları Görüntülenen Nesne Olayları Değişken, Sabit ve Nesne Oluşturmak Değişkenler Sabitler Nesneler trace() Komutu ile Kontrol Yapmak Operatörler Atama Operatörü Aritmetik Operatörler Aritmetik Atama Operatörleri Karşılaştırma Operatörleri Mantıksal Operatörler Diğer Tanımlayıcı Operatörler Koşullar if else if else Döngüler for while do while Timeline/Animasyon ve Sahneler Arası Geçiş Kontrolleri Dinamik Obje Oluşturmak Obje Kavramı ve Kütüphaneden Dinamik Olarak Nesne Çağırmak ActionScript 3.0 Dil Kütüphanesinden Obje Oluşturmak Sanal Klavyeden Veri Girişi Almak ve Verileri İşlemek Metin Kutusu Türlerini Anlamak Genel Stil ve Davranış Düzenlemeleri Cihaz Fontlarıyla ve Gömülü Fontlarla Çalışmak Metin Kutusunda Dinamik Veri Göstermek Metin Kutusunda HTML Stillerini Kullanmak Metin Kutularından Ekran Klavyesi ile Veri Girişi Almak Çok Satırlı Metin Kutularında Parmak ile Kaydırma Yaptırmak Örnek Proje: Kullanıcı Giriş Formu Uygulaması Mobil Arayüz Tasarımı ve Tema Giydirme Uygulamaya PNG ve JPG Grafikleri Eklemek Vektör Grafikleri Bitmap Grafiklere Dönüştürmek Vektör Grafiği Bitmap Nesnesine Çevirmek Vektör Olan Movie Clip’e Bitmap Davranışı Vermek ActionScript 3.0 ile Dinamik Nesnelere Bitmap Davranışı Vermek Grafiklere Renk ve Filtre Efektleri Uygulamak PSD Formatlı Mobil Arayüz Tasarımını Uygulamaya Dahil Etme Örnek Proje: Tema Giydirilmiş Araç Çubuğu Uygulaması Örnek Proje: Tema Giydirilmiş Aktif / Pasif Butonu ile Kayan Menü Uygulaması Accelerometer: İvme Ölçeri Kullanmak Cihaz İvme Ölçer Destek Kontrolü Yapmak Cihazın 3D Eksende Yönünü Algılamak ve İvme Ölçerden Gelen Verileri İşlemek Titreşimi Algılamak ve Alarm Vermek Cihaz ile Yüzey Arasındaki Açıyı Algılamak Yayımlama Ayarları ile Ekran Yönünü Sabitleme veya Otomatik Yapmak Ekranın Döndürülme Yönünü Tespit Etmek Ekran Yönüne Göre Uygulamadaki Görsel Öğeleri Yeniden Biçimlendirmek ve Konumlandırmak Touch API: Ekrandan Tek Dokunuşlarla Basmaları İşlemek Tek Parmak Hareketlerini Anlamak TAP ve CLICK Olaylarını Karşılaştırmak Parmağın Tek Dokunuşunu Algılamak Parmağın Uzun Süreli Dokunuşunu Algılamak Parmağın Çift Dokunuşunu Algılamak Tut ve Sürükle İşlemleri Aynı Anda İki ve İkiden Fazla Çoklu Dokunuş Noktalarını ve ID’lerini Tespit Etmek Örnek Proje: Kaydırılabilir Liste Uygulaması Aşama 1: Kaydırılabilir Alan Aşama 2: Kaydırma Çubuğu Aşama 3: Kaydırma Alanı İçindeki Butonlar MultiTouch API ve Gestures API ile Ekrandan Karmaşık Dokunuşları İşlemek Ekran Çoklu Dokunuş Modunu Belirlemek SWIPE: Kaydırma Hareketini Algılamak ZOOM: Çimdik ile Büyütme ve Küçültme Hareketlerini Algılamak ROTATE: Çift Parmak ile Döndürme Hareketini Algılamak PAN: Çift Parmak ile Sürükleme Hareketini Algılamak SoftKey: Analog Tuşları Kullanmak MENU Tuşu ile Uygulama İçinde Menü Açtırmak BACK Tuşu ile Önceki İçeriklere Dönmek HOME/SEARCH Tuşu ile Uygulamayı Arkaplana Göndermek HOME/SEARH ve KAPATMA Butonu ile Uygulamayı Tamamen Sonlandırmak StageWebView: Web Sayfalarını Uygulama İçinde Yayınlamak Uygulama İçinde Web Sayfası Görüntüleme Alanı Oluşturmak Tarayıcı Geçmişi ile Sayfalar Arası Geçiş Yapmak ve Sayfa Başlığını Görüntülemek Dinamik Olarak Oluşturulan HTML5 Web İçeriklerini Görüntülemek Lokal (Paket İçinde Gömülü) HTML Dosyalarını Görüntülemek StageWebView İçinde JavaScript Kodlarını Çalıştırmak İletişim Araçlarını Kullanmak Arama Listesine Numara Göndermek SMS Uygulamasına SMS İçeriği ve Alıcı Numarası Göndermek Wi-Fi ve 3G Bağlantısını Kontrol Ettirmek E-Mail Uygulaması ile E-Mail Mesaj, Alıcı ve Konu İçeriklerini Göndermek Browser Uygulaması ile URL Açtırmak Metin İçindeki Yazıya Tıklandığında Sayfa Açtırmak Metin Kutusuna Tıklandığında Sayfa Açtırmak Butona Tıklandığında Sayfa Açtırmak Sosyal Medyada İçerik Paylaştırmak Paylaş Butonu ve Sosyal Medya Menüsünün Hazırlanması Facebook’ta Paylaşmak Twitter’da Paylaşmak Google+’da Paylaşmak LinkedIn’de Paylaşmak Multimedya İşlemleri ve Harici Varlıklarla Çalışmak Uygulama İçinde Ses Dosyalarını Kullanmak Kütüphaneden Ses Yüklemek Harici Ses Dosyaları ile Çalışmak Harici Görüntü Dosyaları ile Çalışmak Harici SWF Dosyalarıyla Çalışmak, Harici SWF’lerin İçindeki Fonksiyonları Tetiklemek ve Veri Göndermek Fotoğraf Galerisine Erişmek ve Fotoğraf Açmak Ön ve Arka Kamera ile Gerçek Zamanlı Görüntü Almak Kamera ile Fotoğraf Çekmek ve Kaydetmek Kamera ile Video Çekmek ve Kaydetmek Örnek Proje: Video Player Uygulaması Dizin Yönetimi, Veri İşleme, SQLite Veritabanı Yönetimi ve Web Servisleri ile Veri Alış Verişi Android Cihazlarda Dosya ve Dizin Yönetimi Klasör Varlığı Kontrolü Yapmak, Klasör Oluşturmak ve Silmek Klasör Oluşturmak Klasör Silmek Metin Dosyalarını Okumak, Üzerine Yazmak, Dosyayı Silmek Dosya Oluşturmak ve İçine Veri Yazmak Dosyadan Veri Okumak Dosyayı Silmek SharedObject ile Veri Kaydetmek ve Okumak SharedObject Nedir SharedObject Nesnesi Oluşturmak ve Veri Kaydetmek SharedObject Nesnesinden Veri Okumak JSON ile Çalışmak JSON Web Servisi ile Cihaz IP Bilgisi Öğrenmek JSON Web Servisi ile Gerçek Zaman Bilgisini Öğrenmek RSS / XML Yüklemek ve Parse Etmek Sunucudaki PHP’ye Veri Göndermek ve Veri Almak SQLite ile Veritabanı Yönetimi ve Sorgu Dili Kullanımı SQLite Nedir ve Neden Tercih Edilir SQLite Veritabanı Dosyası Oluşturmak Temel SQL Sorguları Tablo Oluşturmak Tablo Var mı Yok mu Kontrolü SQL Sorgusu Kullanmak ve Verileri Çekmek Tablolara Veri Kaydetmek Verileri Güncellemek Veri Silmek Sorgu ile Veri Çekmek Belirli Bir Sütuna Göre Verileri Sıralamak Belirli Bir Sütunda Veri Aramak ve Göre Verileri Sıralamak Örnek Proje: SharedObject ile Uygulamadan Çıkarken Ayarları Otomatik Kaydetmek Örnek Proje: WordPress Site ile Entegrasyonlu Haber Uygulaması Aşama 1: Haber Kutucuklarının Hazırlanması Aşama 2: WordPress Verilerinin İşlenmesi ve Haberleri Listelemek Aşama 3: Haber Detayının Gösterileceği Bileşeni Hazırlamak Aşama 4: Haber Kutucuklarına Etkileşim Kazandırmak Örnek Proje: Her Açılışta Uygulamaya Yeni Versiyon Kontrolü Yaptırmak ve Marketten Uygulama Güncelletme Aşama 1: Sürüm XML Dosyasını Hazırlamak Aşama 2: Güncelleme Denetimi ve Google Play’den Güncelleme Yapma Örnek Proje: SQLite Veritabanı ile Kayıt Defteri Uygulaması Geolocation API: GPS, Lokasyon İşlemleri ve Google Maps Kullanımı Anlık GPS Verilerini Okumak Google Maps API KEY Almak Google Maps’te Konumumuzu Göstermek Mobil Uygulamalarda Soket Servisi Kullanmak ve Çoklu Kullanıcı İşlemleri Adobe Cirrus Nedir Adobe Cirrus Servis Numarası Almak RMTP ve RTMFP Veri İletişim Modelini Kavramak MultiCast Veri İletim Ağ Yapısı UniCast ve MultiCast Topoloji Modelleri Point to Point (Noktadan Noktaya) Swarming (Toplanma) Live Application - Level Multicast (Canlı Uygulama – Çoklu Yayın Seviyesi) Distributed Data Storage (Dağınık Veri Toplama) Örnek Uygulama: İki Kişilik Gerçek Zamanlı Oyun Soketi Programlamak Mobil Programlamada Performans Yönetimi Dinamik Movie Clip’ler Yerine Sprite Kullanmak Değişken Türü Tanımlamalarını Uygun Seçmek Döngüleri Kullanırken Performans Kazanmak Array Yerine Vector Kullanmak FrameRate Değerini Optimum Değerde Kullanmak ENTER_FRAME Yerine Timer Nesnesi Kullanmak Kullanılmayan Olay Yöneticilerini Sonlandırmak Gereksiz Öğelerden Mouse Etkileşimini Kaldırmak Sahne Dışı Öğeleri Görünmez Yapmak Dinamik Metin Kutularında += Operatörü Yerine appendText() Metodunu Kullanmak Kullanılmayan Değişkenleri null ile Boyutsuzlaştırmak GPU Render Modunu Kullanmak Mobil Tasarımda ve Animasyonlarda Dikkat Edilmesi Gereken Hususlar Vektörel Çizimler Yerine Bitmap Görseller ile Performans Kazanmak Gereksiz Transparan Görsellerden Kaçınmak TileMap Tekniği ile Büyük Ölçekli Görsellerle Çalışmak Gereksiz Efektlerinden Kaçınmak Vektörel Çizimleri ve Metinleri Bitmap’e Çevirmek Ses Dosyası Formatı Seçiminde Dikkatli Olmak Gelişmiş Paketleme Ayarları ve Manuel Olarak Manifesto Düzenlemeleri Uygulama Paketleme Süreci General: Genel Ayarlar Deployment: Paketleme Ayarları Icons: Uygulama İkonlarını Düzenlemek Permissions: Yetkilendirmeler, Manuel Yetkilendirme ve Dil Genişletme Languages: Diller Uygulamanın Google Play’de Dağıtıma Açılması Google Play ve Google Play Store Developer Nedir Google Play Store Developer Hesabı Oluşturmak Google Play Store Developer Console’u Hızlıca Tanımak Mobil Uygulamayı Google Play’e Eklemek, Gerekli Tanım Verilerinin ve Görsel Öğelerinin Yüklenmesi Ürün Bilgileri Grafik Öğeleri Kategorizasyon Kişi Ayrıntıları Gizlilik Politikası Olası Yükleme ve Uygulama Yayınlama Sorunlarının Tespiti ve Çözümü Beta / Alfa Beta Test Türünü ve Kullanıcı Gruplarını Belirlemek İstatistik Takibi Olaylar ve Yorumların Takibi NatIve ExtensIons (AIr for NatIve ExtensIons) Paketleri ile Daha Güçlü Mobil Uygulamalar Geliştirmek Native Extensions Nedir ve Nasıl Çalışır Native Extensions Mobil Sistem Desteği Native Extensions (ANE) Paketleri Mobil Uygulamaya Nasıl Dahil Edilir Örnek ANE Kullanımları AdMob Native Extension ile Mobil Reklam Gösterimi AdMob Nedir AdMob Hesabı Açmak ve Reklam Tanımlamak AdMob.ANE ile Mobil Uygulamada Reklam Gösterim Uygulaması Sonsöz Yazar Hakkında |