Android 4.3
Jelly Bean'in daha tatlı bir sürümü olan Android 4.3'e hoş geldiniz!
Android 4.3, kullanıcılar ve geliştiriciler için performans optimizasyonları ve harika, yeni özellikler içerir. Bu belge, geliştiriciler için yeniliklere bir genel bakış sunar.
Yeni geliştirici API'lerinin ayrıntılı bir görünümü için Android 4.3 API'ları belgesine bakın.
www.android.com adresinde kullanıcılar için yeni Jelly Bean özellikleri hakkında daha fazla bilgi edinin.
Daha Hızlı, Daha Sorunsuz, Daha Duyarlı
Android 4.3, Jelly Bean'de halihazırda bulunan vsync zamanlaması, üçlü arabelleğe alma, daha düşük dokunma gecikmesi, CPU girişi güçlendirme ve donanım hızlandırmalı 2D oluşturma gibi performans iyileştirmeleri üzerine kurulmuştur ve Android'i daha da hızlı hale getiren yeni optimizasyonlar ekler.
Donanım hızlandırmalı 2D oluşturucu, grafik performansını artırmak için artık çizim komutları akışını optimize ederek çizim işlemlerini yeniden düzenleyip birleştirerek daha verimli bir GPU biçimine dönüştürür. Çok iş parçacıklı işleme için oluşturucu artık belirli görevleri gerçekleştirmek için birden çok CPU çekirdeğinde çoklu iş parçacığı işleme özelliğini de kullanabilir.
Android 4.3, şekil ve metin oluşturma özelliğini de iyileştirir. Daireler ve yuvarlatılmış dikdörtgenler gibi şekiller artık daha yüksek kalitede daha verimli bir şekilde oluşturuluyor. Metin optimizasyonları arasında birden fazla yazı tipi veya karmaşık glif grubu (CJK) kullanıldığında daha yüksek performans, metin ölçeklendirilirken daha yüksek oluşturma kalitesi ve gölgelerin daha hızlı oluşturulması yer alır.
İyileştirilmiş pencere arabelleği ayırma, uygulamalarınız için daha hızlı bir resim arabelleği tahsisi sağlar, böylece bir pencere oluşturduğunuzda oluşturmaya başlamak için gereken süre azalır.
Android 4.3, en yüksek performanslı grafikler için OpenGL ES 3.0 desteğini sunuyor ve hem çerçeve hem de yerel API'ler aracılığıyla uygulamalar için erişilebilir hale getiriyor. Desteklenen cihazlarda donanım hızlandırmalı 2D oluşturma motoru, doku yönetimini optimize etmek ve gradyan oluşturma doğruluğunu artırmak için OpenGL ES 3.0'dan yararlanır.
Yüksek Performanslı Grafikler için OpenGL ES 3.0
Android 4.3, Khronos OpenGL ES 3.0 için platform desteğini kullanıma sunarak oyunların ve diğer uygulamaların desteklenen cihazlarda en yüksek performanslı 2D ve 3D grafik özelliklerini elde etmesini sağlar. Android Yerel Geliştirme Kiti (NDK) aracılığıyla çerçeve API'lerini veya yerel API bağlamalarını kullanarak OpenGL ES 3.0 ve ilgili EGL uzantılarından yararlanabilirsiniz.
OpenGL ES 3.0'da sağlanan yeni ve önemli işlevler arasında gelişmiş görsel efektlerin hızlandırılması, standart bir özellik olarak yüksek kaliteli ETC2/EAC doku sıkıştırması, tamsayı ve 32 bit kayan nokta desteğiyle GLSL ES gölgelendirme dilinin yeni sürümü, gelişmiş doku oluşturma ve standartlaştırılmış doku boyutu ve oluşturma arabellek biçimleri yer alır.
Bir dizi uyumlu Android cihazda çalışan, oldukça karmaşık ve son derece verimli grafikler oluşturmak için OpenGL ES 3.0 API'lerini kullanabilir ve bu cihazlarda tek bir standart doku sıkıştırma biçimini destekleyebilirsiniz.
OpenGL ES 3.0, temel grafik donanımına bağlı olan isteğe bağlı bir özelliktir. Nexus 7 (2013), Nexus 4 ve Nexus 10 cihazlarda destek halihazırda mevcuttur.
Gelişmiş Bluetooth Bağlantısı
Bluetooth Smart cihazlar ve sensörlerle bağlantı
Artık Bluetooth Smart teknolojisini kullanan yeni nesil küçük, düşük güçlü cihazlar ve sensörlerle etkileşime giren uygulamalar tasarlayıp oluşturabilirsiniz.
Android 4.3, merkezi rolde Bluetooth Smart Hazır için yerleşik platform desteği sunar ve uygulamaların yakındaki cihazları keşfetmek, GATT hizmetlerini sorgulamak ve okuma/yazma özelliklerini kullanmak için kullanabileceği standart bir API seti sağlar.
Uygulamalarınız yeni API'ler sayesinde ilgilendikleri cihazları ve hizmetleri etkin bir şekilde tarayabilir. Her cihaz için desteklenen GATT hizmetlerini UUID'ye göre kontrol edebilir, bağlantıları cihaz kimliği ve sinyal gücüne göre yönetebilirsiniz. Cihazda barındırılan bir GATT sunucusuna bağlanarak özellikleri okuyabilir veya yazabilir ya da bu özellikler her değiştiğinde bildirim alacak bir işleyici kaydedebilirsiniz.
Herhangi bir GATT profili için destek uygulayabilirsiniz. Standart özellikleri okuyabilir veya yazabilir ya da gerektiğinde özel özellikler için destek ekleyebilirsiniz. Uygulamanız istemci veya sunucu olarak çalışabilir ve her iki modda da veri gönderip alabilir. API'ler genel olduğundan yakınlık etiketleri, kol saatleri, fitness ölçüm cihazları, oyun kumandaları, uzaktan kumandalar ve sağlık cihazları gibi çeşitli cihazlarla etkileşimleri destekleyebileceksiniz.
Bluetooth Smart Ready desteği Nexus 7 (2013) ve Nexus 4 cihazlarda zaten mevcuttur ve önümüzdeki aylarda Android uyumlu cihaz sayısındaki artışta desteklenecektir.
AVRCP 1.3 Profili
Android 4.3, Bluetooth AVRCP 1.3 için yerleşik destek içerdiğinden uygulamalarınız uzaktan medya akışı cihazlarıyla daha zengin etkileşimleri destekleyebilir. Medya oynatıcı gibi uygulamalar, Android 4.0'da kullanıma sunulan uzaktan kontrol istemci API'leri aracılığıyla AVRCP 1.3'ten yararlanabilir. Bluetooth üzerinden bağlı uzak cihazlarda oynatma kontrollerini göstermeye ek olarak, uygulamalar artık parça adı, besteci ve diğer medya meta verisi türleri gibi meta verileri de iletebilir.
AVRCP 1.3 için platform desteği, Android 4.2'de Google ve Broadcom tarafından sunulan Bluedroid Bluetooth yığınına dayanır. Nexus cihazlarda ve A2DP/AVRCP işlevi sunan diğer Android uyumlu cihazlarda destek hizmeti hemen sunulmaktadır.
Kısıtlı Profiller için destek
Android 4.3, çok kullanıcılı özelliğini kısıtlanmış profillere sahip tabletler için de genişletmektedir. Bu özellik, tek bir cihazdaki kullanıcıları ve kullanıcı özelliklerini yönetmenin yeni bir yoludur. Kısıtlı profiller sayesinde tablet sahipleri her kullanıcı için hızlı bir şekilde ayrı ortamlar oluşturabilir ve bu ortamlarda kullanılabilen uygulamalardaki daha ayrıntılı kısıtlamaları yönetebilir. Kısıtlı profiller arkadaşlarınız ve aileniz, misafir kullanıcılar, kiosk'lar, satış noktası cihazları ve daha fazlası için idealdir.
Her kısıtlı profil; kendi yerel depolama alanı, ana ekranları, widget'ları ve ayarları olan izole ve güvenli bir alan sunar. Kullanıcılardan farklı olarak profiller, tablet sahibinin yüklü uygulamaları ve sistem hesapları temel alınarak tablet sahibinin ortamından oluşturulur. Sahip, yeni profilde hangi yüklü uygulamaların etkinleştirileceğini kontrol eder ve sahip hesaplarına erişim varsayılan olarak devre dışıdır.
Oturum açmak, tercihler veya diğer amaçlar için hesap sahibinin hesaplarına erişmesi gereken uygulamalar, bir manifest özelliği bildirerek kaydolabilir. Ayrıca cihaz sahibi, bu uygulamaları profil yapılandırma ayarlarından inceleyip yönetebilir.
Kısıtlanmış profiller, geliştiriciler için kullanıcılarınıza daha fazla değer ve kontrol sunmanın yeni bir yolunu sunar. Uygulama kısıtlamalarını (uygulamanız tarafından desteklenen içerik veya özellik denetimleri) uygulayabilir ve profil yapılandırma ayarlarında tablet sahiplerine bunların reklamını yapabilirsiniz.
Önceden tanımlanmış boole, seçme ve çoklu seçim türlerini kullanarak uygulama kısıtlamalarını doğrudan profil yapılandırma ayarlarına ekleyebilirsiniz. Daha fazla esneklik istiyorsanız istediğiniz kısıtlama türünü sunmak için profil yapılandırma ayarlarından kendi kullanıcı arayüzünüzü bile başlatabilirsiniz.
Uygulamanız bir profilde çalıştığında, sahibi tarafından yapılandırılmış herhangi bir kısıtlama olup olmadığını kontrol edebilir ve bunları uygun şekilde uygulayabilir. Örneğin, bir medya uygulaması, sahibin profil için bir erişkinlik düzeyi belirlemesine izin veren bir kısıtlama sunabilir. Uygulama, çalışma zamanında yaşa uygunluk ayarını kontrol edebilir ve ardından içeriği, tercih edilen yetişkinlik düzeyine göre yönetebilir.
Uygulamanız kısıtlanmış profillerde kullanılmak üzere tasarlanmamışsa, bu özelliği tamamen devre dışı bırakabilirsiniz. Böylece uygulamanız kısıtlanmış profillerde etkinleştirilemez.
Optimize Edilmiş Konum ve Sensör Yetenekleri
Google Play Hizmetleri, uygulamalarınızda kullanabileceğiniz gelişmiş konum API'leri sunar. Android 4.3, pil kullanımını en aza indiren yeni donanım ve yazılım özellikleriyle desteklenen cihazlarda bu API'leri optimize eder.
Donanım coğrafi sınır çizme, konum hesaplamasını yazılım yerine cihaz donanımında gerçekleştirerek güç verimliliğini optimize eder. Donanım coğrafi sınır çizmeyi destekleyen cihazlarda Google Play Hizmetleri coğrafi sınır API'leri, cihaz hareket halindeyken pil tasarrufu yapmak için bu optimizasyondan yararlanabilecek.
Yalnızca kablosuz ağ tarama modu, kullanıcıların bir kablosuz ağa bağlanmadan kablosuz ağ taramasını açık tutmasına olanak tanıyan yeni bir platform optimizasyonudur. Bu sayede, pil tasarrufu yaparken konum doğruluğu artırılır. Konum hizmetleri için kablosuz ağı kullanan uygulamalar artık kullanıcılardan, kablosuz bağlantının gelişmiş ayarlarından salt tarama modunu etkinleştirmelerini isteyebilir. Kablosuz yalnızca tarama modu, cihaz donanımına bağlı değildir ve Android 4.3 platformunun bir parçası olarak kullanılabilir.
Yeni sensör türleri, uygulamaların sensör okumalarını daha iyi yönetmesine olanak tanır. Oyun rotasyon vektörü, oyun geliştiricilerin manyetik girişim hakkında endişelenmelerine gerek kalmadan cihazın dönüşünü algılamalarına olanak tanır. Kalibre edilmemiş jiroskop ve kalibre edilmemiş manyetometre sensörleri, ham ölçümlerin yanı sıra uygulamalarla ilgili tahmini sapmaları raporlar.
Yeni donanım özellikleri Nexus 7 (2013) ve Nexus 4 cihazlarda halihazırda mevcuttur. Herhangi bir cihaz üreticisi veya yonga seti tedarikçisi, bu özellikleri cihazlarına ekleyebilir.
Yeni Medya Özellikleri
Modüler DRM çerçevesi
Yeni nesil medya hizmetlerinin ihtiyaçlarını karşılamak için Android 4.3, medya uygulaması geliştiricilerinin DRM'yi MPEG DASH (HTTP, ISO/IEC 23009-1 üzerinden Dinamik Uyarlanabilir Akış) gibi kendi akış protokollerine daha kolay entegre etmelerini sağlayan modüler DRM çerçevesini kullanıma sunar.
Yeni API'lerin ve mevcut API'lerde yapılan geliştirmelerin bir birleşimiyle medya DRM çerçevesi, lisanslama ve temel hazırlığı yönetmek, alt düzey codec'lere erişmek ve şifrelenmiş medya verilerinin kodunu çözmek için entegre bir hizmet grubu sağlar. Yeni bir MediaExtractor API, DASH medyası için PSSH meta verilerini almanızı sağlar. Medya DRM çerçevesini kullanan uygulamalar, bir lisans sunucusuyla ağ iletişimini ve bir içerik kitaplığından şifrelenmiş veri akışını yönetir.
VP8 kodlayıcı
Android 4.3'te, çerçeveden ve yerel API'lerden erişilebilen VP8 kodlaması için yerleşik destek sunulmaktadır. Yerel API'ler kullanan uygulamalar için platform, VP8 profillerini ve seviyelerini desteklemek için OpenMAX 1.1.2 uzantı başlıkları içerir. VP8 kodlama desteği hedef bit hızı, hız denetimi, kare hızı, jeton bölümlendirme, hata esnekliği, yeniden oluşturma ve döngü filtreleri için ayarları içerir. Platform API'si, çeşitli biçimlerde VP8 kodlayıcı desteğini kullanıma sunar. Böylece içeriğiniz için en iyi biçimden yararlanabilirsiniz.
VP8 kodlaması, Android 4.3 çalıştıran tüm uyumlu cihazlardaki yazılımda kullanılabilir. En yüksek performans için platform, uygun cihazlarda donanım hızlandırmalı VP8 kodlamasını da destekler.
Bir yüzeyden video kodlama
Android 4.3'ten itibaren, video kodlayıcıya giriş olarak yüzey kullanabilirsiniz. Örneğin, artık tamponlar arasında kopyalama yapmak yerine bir OpenGL ES yüzeyinden kodlayıcıya bir akış yönlendirebilirsiniz.
Medya muxer
Uygulamalar, temel ses ve video akışlarını tek bir çıkış dosyasında birleştirmek için yeni medya muxer API'lerini kullanabilir. Şu anda uygulamalar tek bir MPEG-4 ses akışını ve tek bir MPEG-4 video akışını tek bir MPEG-4 çıkış dosyası halinde çoğaltabilir. Yeni API'ler, Android 4.2'de kullanıma sunulan medya verilerini temizleme API'lerinin bir eşdeğeridir.
Uzaktan kumanda istemcilerinde oynatma ilerlemesi ve ileri geri oynatma
Android 4.0'dan bu yana, medya oynatıcılar ve benzer uygulamalar, cihaz kilit ekranı, bildirimler ve Bluetooth üzerinden bağlanan uzak cihazlar gibi uzaktan kumanda istemcilerinden oynatma kontrolleri sunabiliyordu. Android 4.3'ten itibaren bu uygulamalar artık uzaktan kumanda istemcileri üzerinden oynatma ilerleme durumunu ve hızını da gösterebiliyor ve belirli bir oynatma konumuna atlamak için komutlar alabiliyor.
Güzel Uygulamalar Oluşturmanın Yeni Yolları
Bildirimlere erişim
Bildirimler, kullanıcıların sistemdeki bilgileri ve güncellemeleri tek bir yerde görmelerini sağladığı için uzun zamandır popüler bir Android özelliği olmuştur. Artık Android 4.3 ile birlikte uygulamalar, kullanıcının izniyle bildirim akışını gözlemleyebilir ve bildirimleri, Bluetooth üzerinden yakındaki cihazlara göndermek de dahil olmak üzere istediği gibi görüntüleyebilir.
Bildirimlere, bildirim dinleyici hizmeti kaydettirmenize ve kullanıcının izniyle durum çubuğunda görüntülenen bildirimleri almanıza olanak tanıyan yeni API'ler üzerinden erişebilirsiniz. Bildirimler; kaynak uygulama, yayınlanma zamanı, içerik görünümü ve stili ile öncelik hakkındaki tüm ayrıntılarla birlikte eksiksiz bir şekilde size gönderilir. Bildirimlerdeki ilgi alanlarını değerlendirebilir, uygulamanızdan bağlam ekleyebilir ve bunları istediğiniz şekilde görüntülenmek üzere yönlendirebilirsiniz.
Yeni API, bir bildirim eklendiğinde, güncellendiğinde ve kaldırıldığında (kullanıcının bildirimi kapatması ya da kaynak uygulama tarafından geri çekilmesi nedeniyle) size geri çağırma işlevi sunar. Bildirime veya işlemlerine eklenen tüm amaçları başlatabilir, ayrıca bildirimi sistemden kapatabilirsiniz. Böylece uygulamanız bildirimler için eksiksiz bir kullanıcı arayüzü sağlar.
Hangi uygulamaların bildirim alabileceği kullanıcıların kontrolündedir. Kullanıcılar diledikleri zaman Ayarlar'dan hangi uygulamaların bildirim erişimine sahip olduğunu görebilir ve gerektiğinde erişimi etkinleştirebilir veya devre dışı bırakabilir. Bildirim erişimi varsayılan olarak devre dışıdır. Uygulamalar, yükleme sonrasında dinleyici hizmetini etkinleştirmek için kullanıcıyı doğrudan Ayarlar'a yönlendirmek üzere yeni bir Intent kullanabilir.
Yer paylaşımlarını göster
Artık Görünümler ve Görünüm Grupları'nın üzerinde şeffaf yer paylaşımları oluşturarak temel düzen hiyerarşisini bozmadan geçici bir Görünüm hiyerarşisi veya geçici animasyon efektleri oluşturabilirsiniz. Bindirmeler, özellikle bir görünümü kapsayıcının dışına kaydırma veya görünüm hiyerarşisini etkilemeden ekrandaki öğeleri sürükleme gibi animasyonlar oluşturmak istediğinizde kullanışlıdır.
Optik sınırlar düzen modu
Yeni düzen modu, ViewGroups içindeki Görünümlerin konumlandırmasını klip sınırları yerine optik sınırlarına göre yönetmenize olanak tanır. Klip sınırları, widget'ın gerçek dış sınırını temsil ederken yeni optik sınırlar klip sınırları içinde widget'ın göründüğü yeri tanımlar. Gölge ve parlaklık gibi dış görsel efektler kullanan widget'ları doğru şekilde hizalamak için optik sınırlar düzen modunu kullanabilirsiniz.
Özel rotasyon animasyonu türleri
Uygulamalar artık cihaz döndürüldüğünde bir pencerede kullanılan çıkış ve giriş animasyonu türlerini tanımlayabilir. Atlamalı kesme, çapraz geçiş veya standart pencere döndürmeyi etkinleştirmek için pencere özelliklerini ayarlayabilirsiniz. Sistem, özel animasyon türlerini pencere tam ekran olduğunda ve diğer pencereler tarafından kapatılmadığında kullanır.
Ekran yönü modları
Uygulamalar, cihaz döndürüldüğünde doğru yönde görüntülenmelerini sağlamak amacıyla Etkinlikler için yeni yön modları ayarlayabilirler. Buna ek olarak, uygulamalar mevcut yönüne ekranı kilitlemek için yeni bir mod kullanabilir. Bu özellik, video çekimi sırasında dönmeyi devre dışı bırakmak isteyen, kamerayı kullanan uygulamalar için yararlı olur.
Hızlı Yanıtların işlenmesine yönelik amaç
Android 4.3, tüm uygulamaların, gelen bir çağrıya yanıt olarak kullanıcı tarafından gönderilen kısa mesajları, aramayı cevaplamaya veya cihazın kilidini açmaya gerek kalmadan Hızlı Yanıtlar'ı işlemesini sağlayan yeni bir herkese açık Intent'i kullanıma sunuyor. Uygulamanız amacı dinleyip mesajı mesajlaşma sisteminiz üzerinden arayana gönderebilir. Amaç alıcı (arayan) ile mesajın kendisini içerir.
Uluslararası Kullanıcılar için Destek
RTL iyileştirmeleri
Android 4.3, RTL performansı geliştirmelerini ve progressBar/Spner ve Genişletilebilir Liste Görünümü gibi çerçeve kullanıcı arayüzü widget'ları genelinde daha kapsamlı RTL desteği içermektedir. uiautomatorviewer
aracı üzerinden daha fazla hata ayıklama bilgisi görülebilir. Ayrıca bildirimler, gezinme çubuğu ve İşlem Çubuğu gibi daha fazla sistem kullanıcı arayüzü bileşeni artık sağdan sola gidebilecek.
RTL komut dosyalarında daha iyi bir sistem genelinde daha iyi bir deneyim sağlamak için Başlatıcı, Hızlı Ayarlar, Telefon, Kişiler, Kurulum Sihirbazı, Saat, İndirilenler ve daha fazlası dahil olmak üzere daha fazla varsayılan sistem uygulaması RTL düzenlerini destekliyor.
Yerelleştirme yardımcı programları
Android 4.3, daha iyi RTL dizeleri oluşturmak ve yerelleştirilmiş kullanıcı arayüzlerinizi test etmek için yeni yardımcı programlar ve API'ler de içerir. Yeni bir BidiFormatter sınıfı, Unicode dizelerini sarmalamak için basit bir API sağlar. Böylece RTL-script verileri, LTR-yerel ayar mesajlarında amaçlandığı gibi (veya tam tersi) görüntülenir. Bu yardımcı programı uygulamalarınızda daha geniş kapsamda kullanabilmeniz için BidiFormatter API artık Android SDK'daki Destek Paketi aracılığıyla önceki platform sürümlerinde de kullanılabilmektedir.
Android 4.3, yerel ayarlarda tarih biçimlendirmesini yönetmenize yardımcı olmak amacıyla, belirttiğiniz bir yerel ayar için Unicode UTS tarihinin mümkün olan en iyi yerelleştirilmiş biçimini otomatik olarak oluşturan yeni bir getBestDateTimePattern() yöntemi içerir. Böylece kullanıcılarınıza daha yerelleştirilmiş bir deneyim sağlayabilirsiniz.
Android 4.3, uygulamanızı diğer yerel ayarlarda daha kolay test etmenize yardımcı olmak için yeni bir geliştirici seçeneği olarak sözde yerel ayarları kullanıma sundu. Sözde yerel ayarlar, bir yerel ayar veya dil grubuyla ilişkili dili, alfabeyi ve görüntü özelliklerini simüle eder. Şu anda Accented English için sözde yerel ayarı kullanarak kullanıcı arayüzünüzün çeşitli Avrupa dillerinde kullanılan alfabe aksanları ve karakterlerle nasıl çalıştığını görebilirsiniz.
Erişilebilirlik ve Kullanıcı Arayüzü Otomasyonu
Android 4.3 sürümünden itibaren erişilebilirlik hizmetleri, klavye kısayollarını kullanma veya harekete dayalı girişle gezinme benzerliği sağlama gibi önemli etkinlikleri gözlemleyip filtreleyebilir. Hizmet, etkinlikleri alır ve sisteme veya diğer yüklü uygulamalara iletilmeden önce gereken şekilde işleyebilir.
Erişilebilirlik hizmetleri, hizmetlerinin neler yapabileceğini ve hangi platform özelliklerini kullandığını açıklamak için yeni özellik özellikleri beyan edebilir. Örneğin, önemli etkinlikleri filtreleme, pencere içeriğini alma, dokunarak keşfet özelliğini etkinleştirme veya web erişilebilirlik özelliklerini etkinleştirme özelliğini beyan edebilirler. Bazı durumlarda, hizmetlerin ilgili platform özelliklerine erişebilmesi için önce bir özellik özelliği bildirmesi gerekir. Sistem, hizmetin özellik özelliklerini kullanarak kullanıcılar için bir etkinleştirme iletişim kutusu oluşturur. Böylece kullanıcılar lansmandan önce özellikleri görüp kabul edebilirler.
Android 4.3'teki erişilebilirlik çerçevesini temel alan yeni kullanıcı arayüzü otomasyon çerçevesi, kullanıcı eylemlerini simüle ederek ve ekran içeriğini inceleyerek testlerin cihazın kullanıcı arayüzüyle etkileşim kurmasını sağlar. Kullanıcı arayüzü otomasyon çerçevesi aracılığıyla temel işlemleri gerçekleştirebilir, ekranın döndürülmesini ayarlayabilir, giriş etkinlikleri oluşturabilir, ekran görüntüleri alabilir ve daha pek çok işlem yapabilirsiniz. Birden fazla uygulamayı kapsayan eylemler veya adım sıraları gibi gerçekçi kullanıcı senaryolarında testleri otomatik hale getirmenin güçlü bir yoludur.
Kurum ve Güvenlik
WPA2 Enterprise ağları için kablosuz yapılandırması
Uygulamalar artık WPA2 kurumsal erişim noktaları bağlantıları için gereken kablosuz kimlik bilgilerini yapılandırabilir. Geliştiriciler kuruluşta kullanılan kimlik doğrulama yöntemleri için Genişletilebilir Kimlik Doğrulama Protokolü (EAP) ve Kapsüllü EAP (2. Aşama) kimlik bilgilerini yapılandırmak için yeni API'ler kullanabilir. Kablosuz ağa erişme ve bunu değiştirme izni olan uygulamalar, çeşitli EAP ve Aşama 2 kimlik doğrulama yöntemleri için kimlik doğrulama kimlik bilgilerini yapılandırabilir.
SELinux ile desteklenen Android korumalı alanı
Android, UID tabanlı uygulama korumalı alanını artırmak için artık Linux çekirdeğinde bulunan zorunlu bir erişim kontrolü (MAC) sistemi olan SELinux'u kullanıyor. Bu, işletim sistemini olası güvenlik açıklarına karşı korur.
KeyChain geliştirmeleri
KeyChain API artık uygulamaların, sistem genelindeki anahtarların cihaz için donanım güven kaynağına bağlı olduğunu onaylamasını sağlayan bir yöntem sunmaktadır. Bu, kök veya çekirdek güvenliği ihlal edilmiş olsa bile cihazdan dışa aktarılamayan özel anahtarlar oluşturmak veya depolamak için bir alan sağlar.
Android Anahtar Deposu Sağlayıcı
Android 4.3'te, uygulamaların özel kullanım anahtarları oluşturmasına izin veren bir anahtar deposu sağlayıcısı ve API'ler kullanıma sunulmuştur. Uygulamalar, API'leri kullanarak diğer uygulamalar tarafından görülemeyen veya kullanılamayan özel anahtarlar oluşturabilir ya da depolayabilir ve herhangi bir kullanıcı etkileşimi olmadan anahtar deposuna eklenebilir.
Anahtar deposu sağlayıcısı, kimlik bilgilerini cihaza bağlama gibi sistem genelinde kimlik bilgileri için KeyChain API'nin sağladığı güvenlik avantajlarının aynılarını sağlar. Anahtar deposundaki özel anahtarlar cihazdan dışa aktarılamaz.
Setuid'i Android Uygulamalarından Kısıtlama
/system
bölümü, Android uygulamalarının setuid
programları yürütmesini önleyerek zigot ile desteklenen işlemler için nosuid
olarak eklenmiştir. Bu da kök saldırı yüzeyini ve potansiyel güvenlik açıkları ihtimalini azaltır.
Performansı Analiz Etmenin Yeni Yolları
Geliştirilmiş Systrace günlük kaydı
Android 4.3, Systrace aracının kullanımı daha kolay olan ve uygulamanızın performansını ölçmek için daha fazla bilgi türüne erişmenizi sağlayan geliştirilmiş bir sürümünü destekler. Artık donanım modüllerinden, çekirdek işlevlerinden, Dalvik VM'den (çöp toplama, kaynak yükleme ve daha fazlası dahil) iz verilerini toplayabilirsiniz.
Android 4.3, Systrace begin/end events (başlangıç/bitiş etkinlikleri) kullanarak izlenecek belirli kod bölümlerini işaretlemek üzere uygulamalarınızda kullanabileceğiniz yeni Trace API'leri de içerir. Kodun işaretli bölümleri yürütüldüğünde, sistem başlangıç/bitiş etkinliklerini iz günlüğüne yazar. Uygulamanızın performansı üzerindeki etkisi minimum düzeydedir. Bu nedenle, raporlanan zamanlamalar uygulamanızın neler yaptığını doğru bir şekilde görmenizi sağlar.
Uygulamaya özel etkinlikleri Systrace çıkış dosyasındaki bir zaman çizelgesinde görselleştirebilir ve etkinlikleri diğer çekirdek ve kullanıcı alanı izleme verileri bağlamında analiz edebilirsiniz. Özel uygulama bölümleri, mevcut Systrace etiketleriyle birlikte uygulamalarınızın performansını ve davranışını anlamak için yeni yollar sunabilir.
Ekranda GPU profili oluşturma
Android 4.3, uygulamanızın performansını analiz etmenize ve herhangi bir cihaz veya emülatörde oluşturma sorunlarını tespit etmenize yardımcı olacak yeni geliştirici seçenekleri ekler.
Profil GPU oluşturma seçeneğinde, artık uygulama çalışırken uygulamanızın etkin kare hızını ekranda görselleştirebilirsiniz. Profil oluşturma verilerini ekranda çubuk veya çizgi grafikler olarak görüntülemeyi seçebilirsiniz. Renkler, çizim komutları (mavi) oluşturmak, komutları vermek (turuncu) ve komutların tamamlanmasını beklemek (sarı) için harcananı gösterir. Sistem, ekrandaki grafikleri sürekli olarak günceller ve gezinme çubuğu ve bildirim çubuğu dahil olmak üzere görünür her Etkinlik için bir grafik görüntüler.
Yeşil bir çizgi, oluşturma işlemleri için 16 ms eşiğini vurgular. Böylece uygulamanızın etkili kare hızını 60 fps hedefine göre değerlendirebilirsiniz (çünkü saniyenin 1/60'ı yaklaşık 16 ms'ye eşittir). Yeşil çizgiyi aşan işlemler görürseniz bunları Systrace ve diğer araçları kullanarak daha ayrıntılı analiz edebilirsiniz.
Android 4.2 ve sonraki sürümleri çalıştıran cihazlarda geliştirici seçenekleri varsayılan olarak gizlidir. Bunları, uyumlu bir Android cihazda Ayarlar > Telefon hakkında > Derleme numarası seçeneğine 7 kez dokunarak istediğiniz zaman görebilirsiniz.
Dosya URI'leri için StrictMode uyarısı
StrictMode aracına en son eklenen politika kısıtlaması, uygulamanız sisteme veya başka bir uygulamaya file://
URI'si gösterdiğinde uyarı veren bir politika kısıtlamasıdır. Bazı durumlarda alıcı uygulama file://
URI yoluna erişemeyebilir. Bu nedenle, uygulamalar arasında dosya paylaşırken content://
URI kullanılmalıdır (uygun izinle). Bu yeni politika, bu tür durumları tespit edip düzeltmenize yardımcı olur. Dosyaları depolamanın ve diğer uygulamalarda sunmanın kullanışlı bir yolunu arıyorsanız Destek Kitaplığı'nda bulunan FileProvider
içerik sağlayıcısını kullanmayı deneyin.
Android 4.2
Jelly Bean'in en son sürümü olan Android 4.2'ye hoş geldiniz!
Android 4.2, performans optimizasyonları, yenilenmiş bir sistem kullanıcı arayüzü, ayrıca kullanıcılar ve geliştiriciler için mükemmel yeni özellikler içerir. Bu belge, geliştiriciler için yeniliklere bir genel bakış sunar.
Yeni geliştirici API'lerinin ayrıntılı bir görünümü için Android 4.2 API'ları belgesine bakın.
www.android.com adresinde kullanıcılar için yeni Jelly Bean özellikleri hakkında daha fazla bilgi edinin.
Daha Hızlı, Daha Sorunsuz, Daha Hızlı Yanıt
Android 4.2, Jelly Bean'de halihazırda bulunan vsync zamanlaması, üçlü arabelleğe alma, daha düşük dokunma gecikmesi ve CPU giriş artışı gibi performans iyileştirmeleri üzerine kurulmuştur ve Android'i daha da hızlı hale getiren yeni optimizasyonlar ekler.
Donanım hızlandırmalı 2D oluşturucudaki iyileştirmeler, kaydırma ve kaydırma gibi yaygın animasyonları daha yumuşak ve hızlı hale getirir. Özellikle katmanlar, kırpma ve belirli şekiller (yuvarlatılmış dikdörtgenler, daireler ve ovaller) için çizim optimize edilir.
Çeşitli Web Görünümü oluşturma optimizasyonları, web sayfalarının daha sorunsuz bir şekilde kaydırılmasını ve titreme ve gecikme yaşamamasını sağlar.
Android’in Renderscript Compute, doğrudan mobil cihaz GPU üzerinde çalışacak şekilde taşınan ilk işlem platformudur. Mümkün olduğunda GPU hesaplaması kaynaklarından otomatik olarak yararlanır, böylece grafik ve görüntü işleme performansını önemli ölçüde artırır. Desteklenen bir cihazda Renderscript'i kullanan tüm uygulamalar, yeniden derlemeye gerek kalmadan bu GPU entegrasyonundan hemen yararlanabilir.
Hassaslaştırılmış, yenilenmiş kullanıcı arayüzü
Android 4.2, Jelly Bean kullanıcı deneyimini daha hassas hale getirir ve durum çubuğu, sistem çubuğu ve bildirim penceresi gibi tanıdık Android kullanıcı arayüzü kalıplarını tüm tabletlere taşır.
Artık tüm ekran boyutlarının üst kısmında durum çubuğu, bildirimlere açılan menüden erişim ve yeni Hızlı Ayarlar menüsü bulunmaktadır. Tanıdık sistem çubuğu altta görünür ve düğmelere her iki taraftan da kolayca erişilebilir. Uygulama Tepsisi de tüm ekran boyutlarında kullanılabilir.
Bir tablet, birçok kullanıcı
Artık birkaç kullanıcı tek bir Android tableti paylaşabiliyor ve her kullanıcı özel bir kullanıcı alanına kolayca erişebiliyor. Kullanıcılar kilit ekranından tek bir dokunuşla alanlarına geçiş yapabilirler.
Android, çok kullanıcılı bir cihazda her kullanıcıya, kullanıcıya özel emülasyonlu SD kart depolama alanı da dahil olmak üzere ayrı bir ortam sağlar. Kullanıcıların kendi ana ekranları, widget'ları, hesapları, ayarları, dosyaları ve uygulamaları da vardır ve sistem bunları ayrı tutar. Tüm kullanıcılar temel sistem hizmetlerini paylaşır ancak sistem her kullanıcının uygulama ve verilerinin yalıtılmış olarak kalmasını sağlar. Yani, kullanıcıların her birinin kendi Android cihazı var.
Kullanıcılar kendi ortamlarında istedikleri zaman uygulama yükleyip kaldırabilir. Google Play, depolama alanından tasarruf etmek için yalnızca cihaza başka bir kullanıcı tarafından yüklenmemiş APK indirir. Uygulama zaten yüklüyse Google Play yeni kullanıcının yüklemesini her zamanki gibi kaydeder, ancak uygulamanın başka bir kopyasını indirmez. Sistem her kullanıcı için, kullanıcıya özel bir veri dizini de dahil olmak üzere yeni bir örnek oluşturduğundan, birden fazla kullanıcı aynı APK kopyasını çalıştırabilir.
Geliştiriciler için çok kullanıcı desteği şeffaftır. Uygulamalarınızın çok kullanıcılı bir ortamda normal şekilde çalışması için özel bir şey yapması gerekmez ve mevcut veya yayınlanan APK'larınızda herhangi bir değişiklik yapmanız gerekmez. Sistem, uygulamanızı tek kullanıcılı bir ortamda olduğu gibi her kullanıcı alanında yönetir.
Kullanıcılarla etkileşim kurmanın yeni yolları
Kilit ekranı widget'ları
Android 4.2'de kullanıcılar uygulama widget'larını doğrudan kilit ekranlarına yerleştirebilirler. Böylece, kilitlerini açmak zorunda kalmadan favori uygulama içeriklerine anında erişebilirler. Kullanıcılar, yüklü uygulamaların sağladığı widget'lar arasından seçim yaparak beş adede kadar kilit ekranı widget'ı ekleyebilir. Kilit ekranı, her bir widget'ı kendi panelinde görüntüleyerek kullanıcıların farklı panelleri ve widget'larını görüntülemek için sola ve sağa kaydırmalarına olanak tanır.
Tüm uygulama widget'ları gibi kilit ekranı widget'ları da her tür içeriği görüntüleyebilir ve doğrudan kullanıcı etkileşimini kabul edebilir. Müzik çalmak için kontroller sunan bir widget gibi tamamen bağımsız olabilirler veya kullanıcıların, kilitlerini açtıktan sonra doğrudan uygulamanızdaki bir Etkinliğe gitmelerine izin verebilirler.
Geliştiriciler için kilit ekranı widget'ları, kullanıcıların ilgisini çekmek için harika bir yeni yol sunar. Bu reklamlar, içeriğinizi kullanıcıların sık görecekleri bir yerde görebilmelerini sağlar ve kullanıcıları doğrudan uygulamanıza çekmek için size daha fazla fırsat sunar.
Yeni bir uygulama widget'ı oluşturarak veya mevcut bir ana ekran widget'ını genişleterek bu yeni özellikten yararlanabilirsiniz. Uygulamanızda zaten ana ekran widget'ları varsa bunları çok az değişiklikle kilit ekranına genişletebilirsiniz. Kullanıcılara en iyi deneyimi sunmak için widget'ı mümkün olduğunda tam kilit ekranı alanını kullanacak şekilde güncelleyebilir ve daha küçük ekranlarda gerektiğinde yeniden boyutlandırabilirsiniz. Widget'larınıza, kilit ekranında özellikle kullanışlı veya kullanışlı olabilecek özellikler de ekleyebilirsiniz.
Daydream
Daydream, bir kullanıcının cihazı yuvaya yerleştirildiğinde veya şarj olurken başlayan etkileşimli bir ekran koruyucu modudur. Bu modda sistem, cihaz ekran koruyucusu olarak bir "daydream" (yüklü uygulama tarafından sağlanan uzak bir içerik hizmeti) başlatır. Kullanıcı, Ayarlar uygulamasından Daydream'i etkinleştirebilir ve ardından görüntülenecek hayali uykuyu seçebilir.
Hafif uyku modu, canlı duvar kağıtlarının ve ana ekran widget'larının en iyi özelliklerini birleştirir, ancak daha güçlüdür. Fotoğraflara göz atma, ses veya video oynatma ya da tek bir dokunuşla doğrudan uygulamanıza geçme gibi kullanıcı etkileşimleri ile her türlü içeriği tamamen yeni bir bağlamda sunmanıza olanak tanır.
Hafif uykular bir cihaz şarj olurken veya yuvaya yerleştirilmişken otomatik olarak başlatılabildiğinden, uygulamanız ayrıca özel bir donanım gerektirmeden arkaya yaslanma veya sergi modu, demo ya da kiosk modu ve "ilgi çekme modu" gibi yeni kullanıcı deneyimi türlerini desteklemesi için harika bir yol sunar.
Hafif uykular, Etkinlikler'e benzer ve bir kullanıcı arayüzü hiyerarşisi oluşturmaktan (RemoteView'ları kullanmadan) doğrudan Tuval, OpenGL, SurfaceTexture ve daha fazlasını kullanarak doğrudan çizim yapmaya kadar Etkinlik'in yapabileceği her şeyi yapabilir. Video ve ses oynatabilirler, hatta doğrudan kullanıcı etkileşimini kabul edebilirler. Bununla birlikte, hafif uykular Etkinlik değildir. Bu nedenle, geri yığınları etkilemez veya Son Uygulamalar'da görünmezler ve doğrudan uygulamanızdan başlatılamazlar.
Hafif uyku modunu uygulamak oldukça basittir ve uygulamanızın diğer bölümleri için önceden oluşturduğunuz kullanıcı arayüzü bileşenlerinden ve kaynaklarından yararlanabilirsiniz. Uygulamanızda birden fazla rüya oluşturabilir ve her biri için farklı içerik ve görüntü ayarları sunabilirsiniz.
Harici ekran desteği
Android 4.2, yansıtmanın çok ötesine geçen harici ekranlar için platform desteği sunuyor. Uygulamalar artık Android cihaza bağlı bir veya daha fazla ekrana benzersiz içerik hedefleyebilir. Uygulamalar da bunu temel alarak kullanıcılara yeni etkileşim ve eğlence deneyimleri sunabilir.
Görüntülü reklam yöneticisi
Uygulamalar, yeni bir görüntülü reklam yöneticisi sistem hizmeti üzerinden ekranlarla etkileşim kurar. Uygulamanız, ekranları sıralayabilir ve her bir cihazın özelliklerini (boyut, yoğunluk, görünen ad, kimlik, güvenli video desteği vb.) kontrol edebilir. Uygulamanız ayrıca harici ekranlarda içeriğinizi daha iyi yönetmek için ekran eklendiğinde, kaldırıldığında veya özellikleri değiştiğinde geri çağırmalar alabilir.
Sunu penceresi
Çerçeve, içeriğin harici bir ekranda gösterilmesini kolaylaştırmak için Sunu adı verilen yeni bir kullanıcı arayüzü nesnesi sağlar. Bu, belirli bir harici ekrandaki uygulama içeriğinizin bulunduğu pencereyi temsil eden bir iletişim kutusu türüdür. Uygulamanız sadece kullanılacak ekran, pencere için bir tema ve gösterilecek benzersiz içerik sağlar. Sunum, kaynakları şişirmeyi ve içeriğinizi hedeflenen görüntünün özelliklerine göre oluşturmayı yönetir.
Sunum, uygulamanıza uzak ekran penceresi ve içeriği üzerinde tam kontrol sağlar ve tuşlara basma, hareketler, hareket etkinlikleri vb. kullanıcı girişi etkinliklerine göre yönetmenizi sağlar. Kullanıcı arayüzü oluşturmak ve Sunumda içerik oluşturmak için normal araçların tümünü kullanabilirsiniz. İsteğe bağlı bir görünüm hiyerarşisi oluşturabilir, SurfaceView veya SurfaceTexture'ı kullanarak akışlı içerik veya kamera önizlemeleri için doğrudan pencereye çizim yapabilirsiniz.
Tercih edilen ekran seçimi
Birden fazla harici ekran mevcut olduğunda, her biri belirli bir ekranda benzersiz içerik gösteren istediğiniz kadar Sunu oluşturabilirsiniz. Birçok durumda içeriğinizi yalnızca tek bir harici ekranda göstermek istersiniz, ancak her zaman Sunu içeriği için en iyisini ekranda göstermek isteyebilirsiniz. Sistem, bunun için uygulamanızın kullanılacak en iyi ekranı seçmesine yardımcı olabilir.
Uygulamanız, kullanılacak en iyi ekranı bulmak için görüntüleme yöneticisini sistemin tercih edilen sunusu için sorgulayabilir ve bu ekran değiştiğinde geri çağırmalar alabilir. Alternatif olarak, sistem video rotası değiştiğinde bildirim almak için Android 4.2'de genişletilmiş medya yönlendirici hizmetini kullanabilirsiniz. Uygulamanız, tercih edilen bir Sunu görüntüsü eklenene kadar varsayılan olarak ana Etkinlik'te içerik görüntüleyebilir. Uygulama, tercih edilen ekranda otomatik olarak Sunu içeriğine geçebilir. Uygulamalarınız, standart görüntülü reklam seçimi kullanıcı arayüzü sunmak için medya yönlendiricisinin MediaRouteActionProvider ve MediaRouteButton özelliklerini de kullanabilir.
Korumalı içerik
Display API, korumalı veya şifrelenmiş içerikleri işleyen uygulamalar için artık ekli ekranların güvenli video özelliklerini bildirmektedir. Uygulamanız, güvenli bir video çıkışı sunup sunmadığını veya korumalı grafik arabellekleri sağlayıp sağlamadığını öğrenmek için bir ekranı sorguluyor ve ardından içeriği görüntülenebilir hale getirmek için uygun içerik akışını ya da kod çözmeyi seçiyor. Uygulamanız, SurfaceView nesnelerinde ek güvenlik sağlamak için içeriğin, yansıtılmış olsa bile hiçbir zaman ekran görüntülerinde veya güvenli olmayan bir ekran çıkışında görünmemesi gerektiğini belirten bir güvenli işaret ayarlayabilir.
Kablosuz ekran
Android 4.2'den başlayarak, desteklenen cihazların kullanıcıları Wi-Fi Display (MiracastTM sertifika programına uygun, eşler arası kablosuz ekran çözümü) kullanarak kablosuz ağ üzerinden harici bir ekrana bağlanabilir. Kablosuz bir ekran bağlandığında kullanıcılar fotoğraf, oyun, harita ve diğer içerikler de dahil olmak üzere her türlü içeriği büyük ekrana akışla aktarabilir.
Uygulamalar, kablosuz ekranlardan diğer harici ekranlarla aynı şekilde yararlanabilir ve ekstra bir işlem gerektirmez. Sistem, ağ bağlantısını yönetir ve Sunu veya diğer uygulama içeriğinizi gerektiğinde kablosuz ekrana aktarır.
Yerel RTL desteği
Android 4.2, düzen yansıtma dahil olmak üzere sağdan sola) düzenler için tam yerel destek sunmaktadır. Yerel RTL desteği sayesinde ister sağdan sola yazılmış bir komut dosyası ister soldan sağa doğru okuyan bir komut dosyası kullanıyor olsun, tüm kullanıcılarınıza aynı harika uygulama deneyimini sunabilirsiniz.
Kullanıcı, sistem dilini sağdan sola yazılan bir komut dosyası olarak değiştirdiğinde, sistem artık uygulama kullanıcı arayüzü düzenlerinin ve tüm görünüm widget'larının otomatik olarak yansıtılmasını sağlar. Ayrıca, metin öğelerini hem okuma hem de karakter girişi için teklifli olarak yansıtma özelliği kullanılabilir.
Uygulamanız, minimum çabayla RTL düzeni yansıtma özelliğinden yararlanabilir. Uygulamanın yansıtılmasını istiyorsanız uygulama manifestinizde yeni bir özellik bildirmeniz ve tüm "left/right" düzen özelliklerini yeni "start/end" eşdeğerleriyle değiştirmeniz yeterlidir. Daha sonra sistem, kullanıcı arayüzünüzün yansıtmasını ve görüntülenmesini uygun şekilde işler.
Android 4.2, uygulamanızın kullanıcı arayüzü üzerinde hassas kontrol sahibi olmanız için Görünüm bileşenlerinde düzen yönünü, metin yönünü, metin hizalamasını, yerçekimi ve yerel ayar yönünü yönetmenize olanak tanıyan yeni API'ler içerir. Sağdan sola bir komut dosyası kullanılırken gösterilmek üzere özel düzen, çekilebilir öğe ve başka kaynaklar bile oluşturabilirsiniz.
HiyerarşiViewer aracı artık sağdan sola özel düzenlerinizde hata ayıklamanıza ve optimizasyon yapmanıza yardımcı olmak amacıyla hiyerarşideki tüm Görünümler için başlangıç/bitiş özelliklerini, düzen yönünü, metin yönünü ve metin hizalamasını görmenize olanak tanıyor.
Uluslararası diller için geliştirmeler
Android 4.2, uluslararası kullanıcılar için çeşitli yazı tipi ve karakter optimizasyonları içerir:
- Koreli kullanıcılar için yeni bir yazı tipi seçeneği var: Nanum (나눔글꼴) Gotik, özellikle Korece alfabe için tasarlanmış bir unicode yazı tipi.
- Web Görünümlerinde görüntülenen Japonca dikey metin desteği iyileştirildi.
- Hintçe, Tayca, Arapça ve İbranice varsayılan yazı tipleri için yazı tipi aralığı ve konumlandırma iyileştirildi.
Varsayılan Android klavyesi ayrıca güncellenmiş bir sözlük seti içerir:
- Fransızca (bigram desteğiyle), İngilizce ve Rusça için geliştirilmiş sözlükler
- Danca, Yunanca, Fince, Litvanca, Letonca, Lehçe, Slovence, Sırpça, İsveççe, Türkçe için yeni sözlükler
Göz alıcı kullanıcı arayüzü oluşturmanın yeni yolları
İç İçe Parçalar
Kullanıcı arayüzü bileşenleriniz üzerinde daha fazla kontrol sahibi olmak ve bunları daha modüler hale getirmek için Android 4.2 Parçaları Fragment'ların içine yerleştirmenize olanak tanır. Yeni bir Parça yöneticisi, herhangi bir Parça için diğer Parçaları Görünüm hiyerarşisine alt düğüm olarak eklemenize olanak tanır.
İç içe yerleştirilmiş parçaları çeşitli şekillerde kullanabilirsiniz. Ancak bunlar, özellikle dinamik ve yeniden kullanılabilen bir kullanıcı arayüzü bileşeninin içinde dinamik ve yeniden kullanılabilir kullanıcı arayüzü bileşenleri uygulamak için kullanışlıdır. Örneğin, sola ve sağa hızlıca kaydıran parçalar oluşturmak için ViewPager'ı kullanırsanız, artık görünüm sayfalayıcının her bir Parçasına parçalar ekleyebilirsiniz.
Uygulamanızda iç içe yerleştirilmiş Fragment'lardan daha kapsamlı şekilde yararlanabilmeniz için bu özellik Android Destek Kitaplığı'nın en son sürümüne eklenmiştir.
Erişilebilirlik
Sistem artık erişilebilirlik hizmetlerinin dokunarak keşfetme modundayken dokunarak keşfetme ile erişilebilirlik hareketlerini ayırt etmesine yardımcı oluyor. Kullanıcı ekrana dokunduğunda sistem, genel bir dokunma etkileşiminin başladığını hizmete bildirir. Daha sonra, dokunma etkileşiminin hızını izler ve dokunarak keşfetme mi (yavaş) yoksa erişilebilirlik hareketi mi (hızlı) olduğunu belirler ve hizmeti bilgilendirir. Dokunma etkileşimi sona erdiğinde sistem hizmete bildirim gönderir.
Sistem, bir erişilebilirlik hizmetinin, kullanıcı tarafından gerçekleştirilen bir işleme göre Hızlı Ayarlar menüsünü açmasına olanak tanıyan yeni bir genel erişilebilirlik seçeneği sağlar. Ayrıca Android 4.2, Braille cihazlar için yeni bir erişilebilirlik geri bildirim türüdür.
Erişilebilirlik hizmetlerine, erişilebilirlik açısından Görünümler'in anlamı hakkında fikir vermek amacıyla bu çerçeve, bir Görünümü başka bir Görünümün etiketi olarak ilişkilendirmek için yeni API'ler sağlar. Her Görünümün etiketi, AccessibilityNodeInfo aracılığıyla erişilebilirlik hizmetlerinde kullanılabilir.
HDR Özellikli Kamera
Android 4.2 daha yüksek performans için yeni bir kamera donanımı arayüzü ve ardışık düzeni sunar. Desteklenen cihazlarda uygulamalar, yüksek dinamik aralıklı görüntüleme tekniklerini kullanarak resim çekmek için yeni bir HDR kamera sahne modunu kullanabilir.
Ayrıca çerçeve artık uygulamaların deklanşör sesinin devre dışı bırakılıp bırakılamayacağını kontrol etmesini sağlayan bir API sağlıyor. Uygulamalar daha sonra kullanıcının sesi devre dışı bırakmasına izin verebilir veya standart deklanşör sesi yerine önerilen bir alternatif ses seçebilir.
Renderscript Hesaplaması
Android 4.2'de Renderscript Compute, işlem işlemlerinde en yüksek performansı sunmak için yeni komut dosyası özellikleri, yeni optimizasyonlar ve doğrudan GPU entegrasyonu sunmaktadır.
Filtre komut dosyası
filterscript, Renderscript'in çok çeşitli cihaz yonga setlerinde optimize edilmiş resim işlemeye odaklanan bir alt kümesidir. Geliştiriciler, resim işleme işlemlerini standart Renderscript çalışma zamanı API'sini kullanarak Filtrescript'te yazabilirler. Ancak CPU'lar, GPU'lar ve DSP'ler genelinde daha geniş uyumluluk ve iyileştirilmiş optimizasyon sağlayan daha katı kısıtlamalarla bu işlemleri yapabilirler.
filterscript, OpenGL ES parçası gölgelendiricileri için yazılabilecek işlemler gibi donanımla hızlandıran basit görüntü işleme ve hesaplama işlemleri için idealdir. Donanıma bir dizi rahat kısıtlama uyguladığından, daha fazla cihaz yonga seti türünde operasyonlarınız optimize edilir ve hızlandırılır. API düzeyi 17 veya üstünü hedefleyen tüm uygulamalar filterscript'ten yararlanabilir.
Komut dosyası iç öğeleri
Android 4.2'de Renderscript, bir dizi komut dosyası iç yapısı için destek sağlar. Bunlar, yazmanız gereken kod miktarını azaltmak ve uygulamanızın mümkün olan maksimum performans kazancını elde etmesini sağlamak için önceden uygulanmış, hızlandırılmış temel filtreleme öğeleridir.
Karışımlar, bulanıklık, renk matrisi, 3x3 ve 5x5 kıvrımlar, kanal başına arama tablosu ve Android YUV arabelleğinin RGB'ye dönüştürülmesi için içsel öğeler kullanılabilir.
Komut dosyası grupları
Artık Renderscript komut dosyaları grupları oluşturabilir ve bunların tümünü tek bir komut dosyasının parçasıymış gibi tek bir çağrıyla çalıştırabilirsiniz. Bu, Renderscript'in, komut dosyalarının ayrı ayrı yürütüldüğünde yapamayacağı şekilde komut dosyalarının yürütülmesini optimize etmesini sağlar.
Renderscript görüntü işleme karşılaştırmaları, yalnızca Galaxy Nexus cihazdaki CPU'da, farklı Android platform sürümlerinde (Android 4.0, 4.1 ve 4.2) çalışır.
GPU + CPU ile çalıştırılan işlemleri, aynı Nexus 10 cihazda yalnızca CPU'da çalıştırılan işlemlerle karşılaştıran Renderscript resim işleme karşılaştırmaları.
Çalıştırmak istediğiniz Renderscript işlemlerinin yönlendirilmiş bir döngüsel grafiği varsa işlemleri tanımlayan bir komut dosyası grubu oluşturmak için bir oluşturucu sınıfı kullanabilirsiniz. Yürütme sırasında Renderscript, en iyi performans için çalıştırma sırasını ve bu işlemler arasındaki bağlantıları optimize eder.
Sürekli optimizasyon iyileştirmeleri
Bilişim işlemleri için Renderscript'i kullandığınızda, uygulamalarınız Renderscript motorunun kendisinde sürekli performans ve optimizasyon iyileştirmelerinden yararlanır. Uygulama kodunuz bu durumdan etkilenmez veya yeniden derleme gerekmez.
Optimizasyon geliştikçe operasyonlarınız sizin herhangi bir işlem yapmanıza gerek kalmadan daha hızlı ve daha fazla çip üzerinde yürütülür. Sağdaki grafik, Android platformunun ardışık sürümlerinde devam eden Renderscript optimizasyonu iyileştirmelerinin sağladığı performans kazancını vurgular.
GPU İşlemi
Renderscript Compute, doğrudan bir mobil cihaz GPU'su üzerinde çalışacak şekilde taşınan ilk işlem platformudur. Artık performansı iyileştirmek için mümkün olduğunda GPU hesaplaması kaynaklarından otomatik olarak yararlanır. GPU entegrasyonu sayesinde, grafik veya görüntü işleme için en karmaşık hesaplamalar bile önemli ölçüde iyileştirilmiş performansla yürütülebilir.
Desteklenen bir cihazda Renderscript kullanan tüm uygulamalar, yeniden derlemeye gerek kalmadan bu GPU entegrasyonundan hemen yararlanabilir. Nexus 10 tablet, bu entegrasyonu destekleyen ilk cihazdır.
Yeni yerleşik geliştirici seçenekleri
Android 4.2 sistemi, iyi performans gösteren, güzel görünümlü uygulamalar oluşturmayı kolaylaştıran yeni geliştirici seçenekleri içerir. Yeni seçenekler, herhangi bir cihazdan veya emülatörden uygulamanızla hata ayıklama ve profil oluşturma özelliklerini ortaya çıkarır.
Android 4.2 çalıştıran cihazlarda geliştirici seçenekleri varsayılan olarak gizlidir. Bu da kullanıcılara daha iyi bir deneyim sunulmasına yardımcı olur. Uyumlu bir Android cihazda Ayarlar > Telefon hakkında > Derleme numarası'na 7 kez dokunarak geliştirici seçeneklerini görebilirsiniz.
Android 4.2'deki yeni geliştirici seçenekleri şunlardır:
- Hata raporu al: Hemen ekran görüntüsünü alır ve cihaz durumu bilgilerini yerel dosya depolama alanına atar, ardından bu bilgileri yeni bir giden e-posta iletisine ekler.
- Güç menüsü hata raporları - Cihaz güç menüsüne ve hata raporu almak için hızlı ayarlara yeni bir seçenek ekler (yukarıya bakın).
- Uygulamaları USB üzerinden doğrula: Tarayıcı gibi diğer kaynaklardaki uygulamaları kontrol etmeye devam ederken uygulamaları USB üzerinden başka cihazdan yüklemeye yönelik uygulama kontrollerini devre dışı bırakmanıza olanak tanır. Bu, güvenlik özelliğini etkin halde tutarken geliştirme sürecini hızlandırabilir.
- Donanım katmanı güncellemelerini göster: Donanım katmanları güncellendiğinde yeşil renkte yanıp söner.
- GPU fazla çizimini göster: GPU fazla çizim alanlarını vurgular.
- Force 4x MSAA — Open GL ES 2.0 uygulamalarında 4x MSAA'yı etkinleştirir.
- İkincil ekranları simüle et: Simüle edilmiş uzaktan kumanda olarak kullanmak için geçerli ekranda bir veya daha fazla güvenli olmayan yer paylaşımlı pencere oluşturur. Simüle edilen ekranın boyutunu ve yoğunluğunu kontrol edebilirsiniz.
- OpenGL izlerini etkinleştir - glGetError'da Logcat, Systrace veya calltack'i kullanarak OpenGL yürütmesini izleyebilmenizi sağlar.
Yeni Platform Teknolojileri
Android 4.2, çok çeşitli donanım cihazlarında yenilikçi iletişim kullanım alanlarını desteklemek için çeşitli yeni ve gelişmiş platform teknolojileri içerir. Yeni platform teknolojileri ve geliştirmeleri çoğu durumda uygulamalarınızı doğrudan etkilemez. Dolayısıyla, herhangi bir değişiklik yapmadan bunlardan yararlanabilirsiniz.
Güvenlik geliştirmeleri
Her Android sürümü, kullanıcıları korumak için onlarca güvenlik iyileştirmesi içerir. Android 4.2'deki geliştirmelerden bazıları şunlardır:
- Uygulama doğrulama: Kullanıcılar "Uygulamaları Doğrula"yı etkinleştirmeyi ve uygulamaların yüklenmeden önce bir uygulama doğrulayıcı tarafından denetlenmesini tercih edebilir. Uygulama doğrulama, kullanıcı zararlı olabilecek bir uygulamayı yüklemeye çalıştığında kullanıcıyı uyarabilir; özellikle kötü olan bir uygulama yüklemeyi engelleyebilir.
- Premium SMS üzerinde daha fazla kontrol - Bir uygulama, ek ücretlere neden olabilecek şekilde premium hizmetleri kullanan kısa bir koda SMS göndermeye çalıştığında Android bildirim gönderir. Kullanıcı, uygulamanın mesajı göndermesine izin vermeyi veya uygulamayı engellemeyi seçebilir.
- Her zaman açık VPN - VPN, VPN bağlantısı kurulana kadar uygulamaların ağa erişemeyeceği şekilde yapılandırılabilir. Bu, uygulamaların diğer ağlar arasında veri göndermesini engeller.
- Sertifika Sabitleme: libcore SSL uygulaması artık sertifika sabitlemeyi desteklemektedir. Sertifika, beklenen bir dizi sertifikaya bağlanmıyorsa sabitlenmiş alanlar sertifika doğrulama hatası alır. Bu, Sertifika Yetkililerinin olası güvenlik ihlallerine karşı koruma sağlar.
- Android izinlerinin iyileştirilmiş görünümü - İzinler, kullanıcıların daha kolay anlayabileceği gruplar halinde düzenlenmiştir. Kullanıcı, izinleri incelerken izni tıklayarak izin hakkında daha ayrıntılı bilgi edinebilir.
- yüklenen sağlamlaştırma: Yüklenen arka plan programı, kök kullanıcı olarak çalışmaz ve kök ayrıcalık artırma için potansiyel saldırı yüzeyini azaltır.
- init komut dosyası sağlamlaştırma: Bu komut dosyaları, sembolik bağlantıyla ilgili saldırıları önlemek için artık O_NOFOLLOW semantiği uyguluyor.
- FORTIFY_SOURCE — Android artık FORTIFY_SOURCE kullanıyor. Bu özellik, sistem kitaplıkları ve uygulamalar tarafından bellek bozulmasını önlemek için kullanılır.
- ContentProvider varsayılan yapılandırması: API düzeyi 17'yi hedefleyen uygulamalarda, her ContentProvider için varsayılan olarak “export” ayarı “false” olarak ayarlanır. Bu da uygulamaların varsayılan saldırı yüzeyini azaltır.
- Cryptography: SecureRandom ve Cipher.RSA'nın varsayılan uygulamaları, OpenSSL kullanacak şekilde değiştirildi. OpenSSL 1.0.1 kullanılarak TLSv1.1 ve TLSv1.2 için SSLSocket desteği eklendi
- Güvenlik Düzeltmeleri: WebKit, libpng, OpenSSL ve LibXML gibi güvenlik düzeltmelerine sahip, yükseltilmiş açık kaynak kitaplıklar vardır. Android 4.2, Android'e özgü güvenlik açıkları için düzeltmeler de içerir. Bu güvenlik açıklarıyla ilgili bilgiler Open Handset Alliance üyelerine sunulmuştur ve düzeltmeler Android Açık Kaynak Projesi'nde mevcuttur. Güvenliği artırmak için Android'in önceki sürümlerine sahip bazı cihazlar da bu düzeltmeleri içerebilir.
Yeni Bluetooth grubu
Android 4.2, Android cihazlarla kullanım için optimize edilmiş yeni bir Bluetooth yığınını kullanıma sunar. Google ile Broadcom arasındaki iş birliğiyle geliştirilen yeni Bluetooth grubu, BlueZ tabanlı olan grubun yerini alarak daha iyi uyumluluk ve güvenilirlik sağlıyor.Düşük gecikmeli ses
Android 4.2; OpenSL ES, Soundpool ve ton oluşturma API'leri kullanılarak ses çıkışı gecikmesi için Android 4.1 sürümünde yapılan iyileştirmelerden başlayarak düşük gecikmeli ses çalma desteğini iyileştirir. Bu iyileştirmeler donanım desteğine bağlıdır. Bu düşük gecikmeli ses özelliklerini sunan cihazlar, sunduğu desteği sabit bir donanım özelliğiyle uygulamalara sunabilir. Bu özellikten yararlanan cihazlarda kullanılmak üzere yerel ses örnek hızını ve arabellek boyutunu sorgulamak için yeni AudioManager API'leri sunulmuştur.
Yeni kamera donanımı arayüzü
Android 4.2, kamera grubunun yeni bir uygulamasını kullanıma sunar. Kamera alt sistemi, işleme kontrolleriyle seri çekim modu yakalama gibi kamera hattı üzerindeki bileşenlerin uygulamalarını içerir.Yeni NFC donanım arayüzü ve kumanda arayüzü
Android 4.2'de, NFC-Forum'un NCI standardına dayalı kumanda desteği sunulmuştur. NCI, NFC Denetleyici (NFCC) ile cihaz Ana Makinesi arasında standart bir iletişim protokolü sağlar. Google ile Broadcom arasındaki ortak çalışma sonucunda geliştirilen yeni NFC yığını, bunu destekler.Dalvik çalışma zamanı optimizasyonları
Dalvik çalışma zamanı, daha geniş bir mimari yelpazesinde performans ve güvenlik için geliştirmeler içerir:
- Intel'den x86 JIT desteği ve MIPS'ten MIPS JIT desteği
- 512 MB'tan büyük cihazlar için optimize edilmiş çöp toplama parametreleri
- SecureRandom ve Cipher.RSA'nın varsayılan uygulamaları artık OpenSSL kullanmaktadır
- OpenSSL 1.0.1 aracılığıyla TLSv1.1 ve TLSv1.2 için SSLSocket desteği
- abs, min, max ve sqrt gibi StrictMath yöntemleri için yeni içsel destek
- BouncyCastle, 1.47 sürümüne güncellendi
- zlib 1,27'ye güncellendi
- dlmalloc, 2.8.6 olarak güncellendi
Android 4.1
Jelly Bean'in ilk sürümü olan Android 4.1'e hoş geldiniz!
Android 4.1, Android'in şimdiye kadarki en hızlı ve en sorunsuz sürümüdür. Platform genelinde iyileştirmeler yaptık, kullanıcılar ve geliştiriciler için harika, yeni özellikler ekledik. Bu belge, geliştiricilere yönelik yeniliklere genel bir bakış sağlar.
Yeni geliştirici API'lerinin ayrıntılı bir görünümü için Android 4.1 API'ları dokümanına bakın.
www.android.com adresinde kullanıcılar için Jelly Bean özellikleri hakkında daha fazla bilgi edinin.
Daha Hızlı, Daha Sorunsuz, Daha Hızlı Yanıt
Android 4.1, zahmetsiz ve sezgisel bir kullanıcı arayüzüyle Android'in en iyi performansını ve en düşük dokunma gecikmesini sunacak şekilde optimize edilmiştir.
Android 4.1, tutarlı bir kare hızı sağlamak için vsync zamanlamasını Android çerçevesi tarafından yapılan tüm çizim ve animasyonlarda genişletir. Her şey 16 milisaniyelik bir vsync sinyaliyle (uygulama oluşturma, dokunma etkinlikleri, ekran bileşimi ve ekran yenileme) birbirine paralel çalışır. Böylece kareler ileri veya geri gitmez.
Android 4.1'in grafik ardışık düzenine üçlü arabelleğe alma özelliği de eklenmiştir. Böylece, kaydırmadan sayfa oluşturmaya ve animasyonlara kadar her şeyin daha düzgün bir şekilde oluşturulmasını sağlar.
Android 4.1, dokunma gecikmesini yalnızca dokunma zamanlamasını vsync zamanlamasına senkronize ederek değil, aynı zamanda ekran yenilendiğinde parmağınızın nerede olacağını gerçekte tahmin ederek de azaltır. Bu, daha reaktif ve tek tip bir dokunma yanıtıyla sonuçlanır. Ayrıca herhangi bir işlem yapılmadığında Android, gecikme olmadığından emin olmak için bir sonraki dokunma etkinliğinde bir CPU girişi artışı uygular.
Araçlar, uygulamalarınızdan en iyi performansı elde etmenize yardımcı olabilir. Android 4.1, sistem etkinliklerinin genel görünümünü oluşturmak için doğrudan Linux çekirdeğinden veri toplayan systrace adlı yeni bir araçla çalışacak şekilde tasarlanmıştır. Veriler, oluşturma kesintilerini ve diğer sorunları ayırmak için dikey olarak yığılmış zaman serisi grafikleri olarak gösterilir. Bu araç artık Android SDK'da (Araçlar R20 veya sonraki sürümler) kullanılabilir.
Gelişmiş Erişilebilirlik
Erişilebilirlik hizmetlerine yönelik yeni API'ler, kullanıcı erişilebilirlik hareketlerini, aksesuarları ve diğer girişleri kullanarak ekrandaki öğelerde ve gezinme düğmelerinde ilerlerken hareketleri yönetmenize ve erişilebilirlik odağını yönetmenize olanak tanır. TalkBack sistemi ve dokunarak keşfet özelliği, daha kolay kullanım için erişilebilirlik odağını kullanacak şekilde yeniden tasarlandı ve geliştiricilere yönelik eksiksiz bir API seti sunuyor.
Erişilebilirlik hizmetleri, kullanıcıların kendi hizmetlerini yapılandırmasına ve kullanmasına yardımcı olmak için kendi eğiticilerini Erişilebilirlik ayarlarına bağlayabilir.
Standart Görünüm bileşenlerini kullanan uygulamalar, kodlarında herhangi bir değişiklik yapmadan yeni erişilebilirlik özelliklerine ilişkin desteği otomatik olarak devralır. Özel Görünümler kullanan uygulamalar, Görünüm'ün erişilebilirlik hizmetleriyle alakalı kısımlarını belirtmek için yeni erişilebilirlik düğümü API'lerini kullanabilir.
Uluslararası Kullanıcılar için Destek
Çift Yönlü Metin ve Diğer Dil Desteği
Android 4.1, TextView ve EditText öğelerinde iki yönlü metin desteği sayesinde daha fazla kullanıcıya ulaşmanıza yardımcı olur. Uygulamalar, soldan sağa veya sağdan sola komut dosyalarında metin görüntüleyebilir veya metin düzenleme işlemini gerçekleştirebilir. Uygulamalarda yeni Arapça ve İbranice yerel ayarlar ve ilişkili yazı tipleri kullanılabilir.
Diğer yeni dil desteği türleri şunlardır:
- Diğer Hint dilleri: Kannada, Telugu ve Malayalam
- Unicode 6.0 sürümündeki yeni Emoji karakterleri
- Japon kullanıcılar için daha iyi glif desteği (sistem dili Japonca olarak ayarlandığında gliflerin Japonca versiyonlarını oluşturur)
- Metin Görünümleri için Arapça gliflerin yanı sıra Web Görünümleri için optimize edilmiş Arapça glifler
- Web Görünümlerinde Ruby Metin ve ek Dikey Metin glifleri dahil Dikey Metin desteği
- Sentetik Kalın yazı tipleri artık ayrı ayrı kalın karakterler içermeyen tüm yazı tiplerinde kullanılabilir
Kullanıcı tarafından yüklenebilir tuş eşlemeleri
Platform artık ek uluslararası klavyeler ve özel düzen türleri gibi kullanıcı tarafından yüklenebilen klavye haritalarını desteklemektedir. Varsayılan olarak Android 4.1, klavyeler için Dvorak dahil 27 uluslararası tuş eşlemesi içerir. Kullanıcılar bir klavye bağladığında Ayarlar uygulamasına gidip bu klavye için kullanmak istedikleri bir veya daha fazla tuş eşlemesini seçebilirler. Kullanıcılar yazarken kısayol (ctrl-boşluk) kullanarak tuş eşlemeleri arasında geçiş yapabilir.
Sisteme ek tuş eşlemeleri yayınlamak için bir uygulama oluşturabilirsiniz. APK, standart Android tuş eşleme biçimine göre içinde klavye düzeni kaynaklarını içerecektir. Uygulama, manifest dosyasında ACTION_QUERY_KEYBOARD_LAYOUTS için uygun bir yayın alıcısı bildirerek kullanıcıya ek klavye düzenleri sunabilir.
Harika Kullanıcı Arayüzü Oluşturmanın Yeni Yolları
Genişletilebilir bildirimler
Bildirimler uzun zamandır Android'deki benzersiz ve popüler bir özelliktir. Geliştiriciler bu etiketleri, uygulamanın normal kullanıcı arayüzünün dışında, önemli veya zamana dayalı bilgileri bildirim çubuğunda kullanıcılara sunmak için kullanabilirler.
Android 4.1, Android bildirim çerçevesine önemli bir güncelleme getiriyor. Uygulamalar artık kullanıcılara daha büyük ve daha zengin bildirimler gösterebilir. Bunlar, iki parmak ucuyla veya hızlıca kaydırarak genişletilip daraltılabilir. Bildirimler, fotoğraflar da dahil olmak üzere yeni içerik türlerini destekler, yapılandırılabilir önceliğe sahiptir ve hatta birden fazla işlem içerebilir.
İyileştirilmiş bildirim oluşturucu sayesinde uygulamalar, yüksekliği 256 dp'ye kadar olan daha geniş bir alanı kullanan bildirimler oluşturabilir. Üç şablonlu bildirim stili kullanılabilir:
- BigTextStyle — çok satırlı bir TextView nesnesi içeren bildirim.
- BigGelen KutusuStyle — iletiler, başlıklar vb. gibi her tür listeyi gösteren bir bildirimdir.
- BigPictureStyle: bit eşlem gibi görsel içerik gösteren bir bildirim.
Şablonlu stillere ek olarak, herhangi bir uzaktan görünümü kullanarak kendi bildirim stillerinizi oluşturabilirsiniz.
Uygulamalar bir bildirime en fazla üç işlem ekleyebilir ve bunlar bildirim içeriğinin altında görüntülenir. İşlemler, kullanıcıların bildirimdeki bilgilere uygulamayı ziyaret etmeden e-posta veya telefon araması gibi alternatif yollarla doğrudan yanıt vermelerine olanak tanır.
Genişletilebilir bildirimler sayesinde uygulamalar, zahmetsizce ve istenildiğinde kullanıcıya daha fazla bilgi verebilir. Kontrol kullanıcılardadır. Gönderen hakkında bilgi almak ve uygulamadan gelen diğer bildirimleri devre dışı bırakmak için herhangi bir bildirime uzun basabilirler.
Yeniden boyutlandırılabilir uygulama widget'ları
Android 4.1'de kullanıma sunulan iyileştirilmiş Uygulama Widget'ları, kullanıcının ana ekranda nereye bıraktığına, ne kadar genişlettiğine ve ana ekranda kalan alana göre otomatik olarak yeniden boyutlandırılabilir. Yeni Uygulama Widget'ı API'leri, widget'ların boyutu değiştikçe uygulama widget'ı içeriğinizi optimize etmek için bundan yararlanmanızı sağlar.
Bir widget'ın boyutu değiştiğinde, sistem ana makine uygulamasının widget sağlayıcısını bilgilendirir. Widget, gerektiğinde widget'taki içeriği yeniden yükleyebilir. Örneğin, bir widget daha büyük, daha zengin grafikler veya ek işlevler ya da seçenekler görüntüleyebilir. Geliştiriciler maksimum ve minimum boyutlar üzerinde kontrol sahibi olmaya devam edebilir ve gerektiğinde diğer widget seçeneklerini güncelleyebilir.
Ayrıca, widget'larınız için ayrı yatay ve dikey düzenler de sağlayabilirsiniz. Ekran yönü değiştiğinde sistem bu düzenleri uygun şekilde büyütür.
Uygulama widget'ları, artık yeni bir bağlama Intent'i (AppWidgetManager.ACTION_APPWIDGET_BIND) aracılığıyla üçüncü taraf başlatıcılarda ve diğer ana makine uygulamalarında görüntülenebilir.
Basitleştirilmiş görev gezintisi
Android 4.1, kullanıcılara uygulamalarınızın içinden sunulan "Yukarı" gezinme menüsünü kolayca yönetmenizi sağlar ve kullanıcılara tutarlı bir deneyim sunmanıza yardımcı olur.
Uygulamanın manifest dosyasına yeni bir XML özelliği ekleyerek kullanıcı arayüzünüzün her bir Etkinlik bileşeni için amaçlanan yukarı gezinmeyi tanımlayabilirsiniz. Çalışma zamanında, Etkinlikler başlatıldığında, sistem manifest dosyasından Yukarı gezinme ağacını ayıklar ve işlem çubuğunda otomatik olarak Yukarı uygunluk gezinmesini oluşturur. Manifest'te Yukarı gezinmeyi bildiren geliştiricilerin artık çalışma zamanında geri çağırmaya göre gezinmeyi yönetmeleri gerekmez, ancak gerektiğinde bunu da yapabilirler.
Ayrıca, sentetik bir görev yığınını hızlı bir şekilde hemen başlatmak için veya PendingIntent'ten bir Etkinlik başlatıldığında kullanmak için hızlı bir şekilde oluşturmanıza olanak tanıyan yeni bir TaskStackBuilder sınıfı da mevcuttur. Sentetik bir görev yığını oluşturmak, kullanıcıların Etkinlikleri uzaktan görünümlerden (ör. Ana ekran widget'ları ve bildirimlerden) başlatması durumunda kullanışlıdır. Çünkü bu özellik, geliştiricinin Geri gezinme'de yönetilen ve tutarlı bir deneyim sunmasını sağlar.
Etkinlik lansmanı için kolay animasyonlar
Etkinliklerinizi başlattığınızda görüntülenen animasyonu oluşturmak ve kontrol etmek için yeni bir yardımcı sınıf olan ActivityOptions'ı kullanabilirsiniz. Yardımcı sınıf aracılığıyla, etkinlik başlatıldığında kullanılacak özel animasyon kaynaklarını belirtebilir veya ekranda belirttiğiniz herhangi bir dikdörtgenden başlayan ve isteğe bağlı olarak küçük resim bit eşlemi içeren yeni yakınlaştırma animasyonları isteyebilirsiniz.
Işıklar Kapalı ve Tam Ekran Modlarına Geçiş
Görünüm'deki yeni sistem kullanıcı arayüzü işaretleri, normal bir uygulama kullanıcı arayüzünden (işlem çubuğu, gezinme çubuğu ve sistem çubuğu görünür durumdayken), "aydınlanma modu"na (durum çubuğu ve işlem çubuğu gizli ve gezinme çubuğu sönükken) veya "tam ekran moduna" (durum çubuğu, işlem çubuğu ve gezinme çubuğu görünür halde) sorunsuz bir şekilde geçiş yapmanızı sağlar.
Uzaklaştırılabilir yeni Görünüm türleri
Geliştiriciler artık Ana ekran widget'larında ve bildirimlerde GridLayout ve ViewStub görünümlerini kullanabilirler. GridLayout, uzaktan görüntülemelerinizin içeriğini yapılandırmanıza ve daha sığ bir kullanıcı arayüzü hiyerarşisiyle alt görünüm hizalamalarını yönetmenize olanak tanır. ViewStub, çalışma zamanında düzen kaynaklarını geç şişirmek için kullanılabilecek görünmez, sıfır boyutlu bir görünümdür.
Animasyonlu duvar kağıdı önizlemesi
Android 4.1, kullanıcıların uygulamayı içeren uygulamalardan Animasyonlu Duvar Kağıtları bulup yüklemelerini kolaylaştırır. Uygulamanız Animasyonlu Duvar Kağıtları içeriyorsa artık kullanıcıya kendi uygulamanızdaki Animasyonlu Duvar Kağıdı'nın önizlemesini gösteren bir Etkinlik (ACTION_CHANGE_LIVE_WALLPAPER) başlatabilirsiniz. Kullanıcılar önizlemeden Animasyonlu Duvar Kağıdı'nı doğrudan yükleyebilirler.
Daha yüksek çözünürlüklü kişi fotoğrafları
Android 4.1'de, 720 x 720 boyutundaki kişi fotoğraflarını saklayarak kişileri daha zengin ve daha kişisel hale getirebilirsiniz. Uygulamalar kişi fotoğraflarını bu boyutta depolayıp alabilir veya gereken başka bir boyutu kullanabilir. Belirli cihazlarda desteklenen maksimum fotoğraf boyutu değişiklik gösterebilir. Bu nedenle, uygulamalar o anki cihazın maksimum boyutunu öğrenmek için çalışma zamanında yerleşik kişi sağlayıcıyı sorgulamalıdır.
Yeni Giriş Türleri ve Özellikleri
Eklenen ve kaldırılan cihazlar hakkında bilgi edinme
Uygulamalar USB, Bluetooth veya başka bir bağlantı türü kullanılarak yeni bir giriş cihazı eklendiğinde bildirim almak için kaydolabilir. Gerektiğinde durumu veya özellikleri değiştirmek için bu bilgileri kullanabilirler. Örneğin, bir oyun yeni bir klavyenin veya kontrol çubuğunun eklendiğine dair bildirim alabilir. Bu, yeni bir oyuncunun varlığına işaret eder.
Giriş cihazlarının özelliklerini sorgulama
Android 4.1, uygulamaların ve oyunların bağlı ve kullanılabilir tüm giriş cihazlarından tam olarak yararlanmasını sağlayan API'ler içerir.
Uygulamalar şu anda bağlı olan tüm giriş cihazlarını numaralandırmak ve her birinin özellikleri hakkında bilgi edinmek için cihaz yöneticisini sorgulayabilir.
Giriş cihazlarında titreşimi kontrol edin
Uygulamalar artık diğer özelliklerinin yanı sıra, takılı bir giriş cihazıyla ilişkilendirilmiş Rumble Pak kumandaları gibi titreşim hizmetlerini kullanabilir.
Animasyon ve Grafikler
Uygulamalar için Vsync
Vsync'in Android çerçevesi genelinde genişletilmesi, daha tutarlı bir kare hızı ile daha akıcı ve sabit bir kullanıcı arayüzü sağlar. Böylece Android 4.1, vsync zamanlamasını uygulamalar tarafından başlatılan tüm çizim ve animasyonlara genişletir. Bu, kullanıcı arayüzü iş parçacığındaki işlemleri optimize etmelerine olanak tanır ve senkronizasyon için kararlı bir zaman tabanı sağlar.
Uygulamalar, Android'in animasyon çerçevesi sayesinde vsync zamanlamadan ücretsiz olarak yararlanabilir. Animasyon çerçevesi, artık animatörler arasında senkronizasyonu otomatik olarak işlemek için vsync zamanlamasını kullanmaktadır.
Uygulamalar, özel kullanımlar için yeni bir Choreographer sınıfının sunduğu API'ler üzerinden vsync zamanlamasına erişebilir. Uygulamalar bir sonraki vsync karesinde geçersiz kılma isteğinde bulunabilirler. Bu, uygulama animasyon çerçevesini kullanmadığında animasyonu programlamanın iyi bir yoludur. Daha ileri düzey kullanımlar için uygulamalar, Koreograf sınıfının sonraki karede çalıştırılacağı bir geri çağırma yayınlayabilir.
Yeni animasyon işlemleri ve geçiş türleri
Animasyon çerçevesi artık ViewPropertyAnimator animasyonlarını çalıştırırken yapılacak başlangıç ve bitiş işlemlerini tanımlamanıza ve böylece bunları uygulamadaki diğer animasyonlarla veya işlemlerle senkronize etmenize yardımcı olur. İşlem, çalıştırılabilir herhangi bir nesneyi çalıştırabilir. Örneğin, çalıştırılabilir öğe, önceki animasyon bittiğinde başlayacak başka bir animasyon belirtebilir.
Ayrıca artık bir ViewPropertyAnimator'ın animasyonu sırasında bir katman kullanmasını da belirtebilirsiniz. Önceden, karmaşık görünümleri canlandırmak için bir animasyona başlamadan önce bir katman oluşturmak ve ardından, animasyon bittiğinde katmanı kaldırmak için bir onAnimationEnd() etkinliği işlemek en iyi uygulamaydı. Artık ViewPropertyAnimator'daki withLayer() yöntemi, bu işlemi tek bir yöntem çağrısıyla basitleştirir.
LayoutTransition'daki yeni geçiş türü, bir ViewGroup'taki tüm düzen değişikliklerine yanıt olarak animasyonları otomatik hale getirmenizi sağlar.
Yeni Bağlantı Türleri
Android Beam
Android Beam, kullanıcıların NFC özellikli iki telefonu birbirine dokundurarak anında paylaşımda bulunabilmelerini sağlayan NFC tabanlı popüler bir teknolojidir.
Android 4.1'de Android Beam, veri aktarımı için Bluetooth'tan faydalanarak resimlerin, videoların veya diğer verilerin paylaşılmasını kolaylaştırır. Kullanıcı bir aktarımı tetiklediğinde, Android Beam NFC'den Bluetooth'a geçiş yapar, böylece dosyaların bir cihazdan diğerine aktarımını yönetmeyi gerçekten kolay hale getirir.
Kablosuz Ağ Hizmeti Keşfi
Android 4.1'de, uygulamaların mobil cihazlar, yazıcılar, kameralar, medya oynatıcılar ve diğerleri de dahil olmak üzere kablosuz ağlar üzerinden eş cihazlar tarafından sunulan hizmetleri bulup bu hizmetlere bağlanmasını sağlayan, çoklu yayın DNS tabanlı hizmet keşfi desteği sunulmaktadır. Geliştiriciler, platformlar arası veya çok oyunculu oyunlar ve uygulama deneyimleri oluşturmak için kablosuz ağ hizmeti keşfinden yararlanabilir.
Uygulamalar, hizmet keşfi API'sini kullanarak NSD özellikli diğer tüm cihazların keşfetmesi için her tür hizmeti oluşturabilir ve kaydedebilir. Bu hizmetin reklamı, kullanıcıların hizmet türünü daha kolay tanımlamasını sağlayan, kullanıcıların okuyabileceği bir dize tanımlayıcısı kullanılarak ağ genelinde çoklu yayın aracılığıyla yapılır.
Tüketici cihazları, yerel kablosuz ağa bağlı cihazlardaki mevcut hizmetleri taramak ve keşfetmek için API'yi kullanabilir. Keşif sonrasında uygulamalar, hizmeti bir IP adresi ve bağlantı noktası üzerinden çözmesi için API'yi kullanarak yuva bağlantısı kurabilir.
Uygulamalarınıza yeni özellikler eklemek için bu API'dan yararlanabilirsiniz. Örneğin, kullanıcıların kablosuz eşler arası bağlantıları destekleyen başka bir mobil cihazdaki bir web kamerasına, yazıcıya veya uygulamaya bağlanmasına izin verebilirsiniz.
Kablosuz P2P Hizmet Keşfi
Ice Cream Sandwich, uygulamaların yüksek bant genişliğine sahip eşler arası bağlantı üzerinden doğrudan keşfedip eşlemesine (Wi-Fi Alliance'ın Wi-Fi DirectTM sertifika programıyla uyumlu olarak) olanak tanıyan Kablosuz Eşler Arası (P2P) teknolojisi desteğini kullanıma sundu. Wi-Fi P2P; hücresel ağ veya kablosuz bağlantının bulunmadığı durumlarda bile medya, fotoğraf, dosya ve diğer veri türlerini, oturumları paylaşmak için ideal bir yöntemdir.
Android 4.1, önceden ilişkilendirilmiş hizmet keşfi için API desteği ekleyerek Wi-Fi P2P özelliğini bir adım ileriye taşır. Önceden ilişkilendirilmiş hizmet keşfi, uygulamalarınızın bağlanmaya çalışmadan önce yakındaki cihazlardan destekledikleri hizmetler hakkında daha yararlı bilgiler almasına olanak tanır. Uygulamalar, belirli bir hizmet için keşif başlatabilir ve keşfedilen cihazların listesini, hedef hizmeti veya uygulamayı gerçekten destekleyen cihazlara göre filtreleyebilir.
Örneğin, bu durumda uygulamanız, yakındaki tüm kablosuz bağlantılı P2P cihazları bulmak yerine yalnızca "yazıcı" veya belirli bir oyuna sahip cihazları keşfedebilir. Öte yandan, uygulamanız, sunduğu hizmetin reklamını diğer cihazlara yapabilir. Bu da hizmeti keşfedip bağlantı pazarlığı yapabilir. Bu, kullanıcıların keşif ve eşleme işlemlerini büyük ölçüde basitleştirir ve uygulamaların, kablosuz bağlantı P2P'den daha etkili bir şekilde yararlanmasını sağlar.
Kablosuz P2P hizmet keşfi sayesinde fotoğraf, video, oyun, skor veya hemen hemen her şeyi paylaşabilen uygulamalar ve çok oyunculu oyunlar oluşturabilirsiniz. Üstelik tüm bunları hiçbir internet ya da mobil ağ kullanmadan yapabilirsiniz. Kullanıcılarınız yalnızca doğrudan p2p bağlantısı kullanarak bağlanabilir, bu nedenle mobil bant genişliği kullanılmaz.
Ağ Bant Genişliği Yönetimi
Android 4.1, mobil hotspot ile tethering de dahil olmak üzere sayaçlı bir ağa bağlıyken uygulamaların uygun şekilde veri kullanımını yönetmesine yardımcı olur. Uygulamalar, kullanıcı için nispeten pahalı olabilecek büyük bir indirme işlemine başlamadan önce mevcut ağın ölçülüp ölçülmediğini sorgulayabilir. API sayesinde artık hangi ağların veri kullanımına karşı hassas olduğunu net bir şekilde görebilir ve ağ etkinliğinizi buna göre yönetebilirsiniz.
Yeni Medya Özellikleri
Medya codec'i erişimi
Android 4.1, platform donanım ve yazılım codec'lerine alt düzey erişim sağlar. Uygulamalar, cihazda hangi düşük seviyeli medya codec'lerinin bulunduğunu keşfetmek için sistemi sorgulayabilir ve ardından bunları ihtiyaç duydukları şekillerde kullanabilir. Örneğin, artık birden fazla medya codec'i, sıra giriş arabellekleri oluşturabilir ve buna karşılık çıkış arabellekleri alabilirsiniz. Ayrıca medya codec çerçevesi, korunan içeriği destekler. Uygulamalar, korumalı içeriği cihazda mevcut bir DRM çözümüyle oynatabilen kullanılabilir bir codec için sorgulama yapabilir.
USB Ses
USB ses çıkışı desteği, donanım tedarikçilerinin Android cihazlarla arayüz sağlayan ses yuvaları gibi donanımlar oluşturmasına olanak tanır. Bu işlev, tüm geliştiricilere kendi donanımlarını oluşturma olanağı tanımak için Android Open Accessory Development Kit (ADK) ile birlikte de sunulmaktadır.
Ses kaydı tetikleniyor
Android artık bir ses çalma parçasının tamamlanmasına göre ses kaydını tetiklemenizi sağlıyor. Bu, kullanıcılarınızın seslerini kaydetmek üzere konuşmaya başlamalarını işaret etmek için bir ses çalması gibi durumlarda kullanışlıdır. Bu özellik, o anda çalınan sesleri kaydetmemeniz için kaydı senkronize etmenize yardımcı olur ve kayıtların çok geç başlamasını engeller.
Çok kanallı ses
Android 4.1, HDMI bağlantı noktasından çok kanallı ses donanımına sahip cihazlarda çok kanallı sesi destekler. Çok kanallı ses; oyunlar, müzik uygulamaları ve video oynatıcılar gibi uygulamalar için kullanıcılara rich media deneyimleri sunmanıza olanak tanır. Desteklenen donanıma sahip olmayan cihazlarda Android, sesi otomatik olarak cihaz tarafından desteklenen kanal sayısına (genellikle stereo) kıs.
Android 4.1'de, AAC 5.1 ses kodlama/kod çözme işlemi için yerleşik destek de sunulmaktadır.
Ses ön işleniyor
Geliştiriciler, kaydedilmekte olan sese ön işleme efektleri (örneğin, konuşma kaydı kalitesini iyileştirmek için gürültü azaltma, akustik yankı için yankı giderme ve tutarsız ses seviyelerine sahip sesler için otomatik kazanma kontrolü) uygulayabilir. Bu ön işlemcilerden, yüksek kaliteli ve temiz ses kaydı gerektiren uygulamalar yararlanabilir.
Zincirleme ses
MediaPlayer, ses dosyalarını duraklamadan çalmak için ses akışlarını birbirine zincirlemeyi destekler. Bu özellik, sürekli parçalar veya oyunlar içeren albümleri çalmak için müzik çalarlar gibi ses dosyaları arasında sorunsuz geçiş gerektiren uygulamalar için kullanışlıdır.
Medya Yönlendiricisi
Yeni MediaRouter, MediaRouteActionProvider ve MediaRouteButton API'leri, medyanın nerede oynatılacağını seçmek için standart mekanizmalar ve kullanıcı arayüzü sağlar. Kablolu kulaklıklar ve a2dp bluetooth mikrofonlu kulaklıklar ile hoparlörler için yerleşik destek vardır. Kendi uygulamanız içinde kendi yönlendirme seçeneklerinizi ekleyebilirsiniz.
Renderscript Hesaplaması
Android 4.1, Renderscript hesaplamasını size daha fazla esneklik sağlamak için genişletir. Artık Renderscript işlem komut dosyalarınızda dokuları örnekleyebilirsiniz ve komut dosyalarınızın gerektirdiği kayan nokta hassasiyetini tanımlamak için yeni pragmalar kullanılabilir. Bu sayede, tam IEEE 754-2008 standardıyla mümkün olmayan hızlı vektör matematik işlemleri gibi NEON talimatlarını etkinleştirebilirsiniz.
Artık x86 tabanlı emülatörde ve donanım cihazlarında Renderscript işlem komut dosyalarınızda hata ayıklama yapabilirsiniz. Ayrıca, tek bir Renderscript kaynak dosyasında birden çok kök stili çekirdek tanımlayabilirsiniz.
Android Tarayıcı ve Web Görünümü
Android 4.1'de, Android Tarayıcı ve Web Görünümleri şu geliştirmeleri içerir:
- Dokunarak oynatma/duraklatma ve satır içi moddan tam ekran moduna yumuşak geçiş dahil, daha iyi HTML5 video kullanıcı deneyimi.
- Daha iyi kaydırma ve yakınlaştırma performansı için iyileştirilmiş oluşturma hızı ve daha düşük bellek kullanımı.
- İyileştirilmiş HTML5/CSS3/Canvas animasyon performansı.
- İyileştirilmiş metin girişi.
- Daha iyi JavaScript performansı için JavaScript Engine (V8) güncellendi.
- Güncellenen HTML5 Medya Yakalama spesifikasyonu desteği (giriş type=file öğelerinde "capture" özelliği).
Google API'leri ve hizmetleri
Android'in özelliklerini daha da genişletmek için, Android için pek çok yeni hizmet mevcuttur.
Android için Google Cloud Messaging
Google Cloud Messaging (GCM), geliştiricilerin özel bir senkronizasyon çözümüne ihtiyaç duymadan Android cihazlarda kullanıcılarına kısa mesaj verileri göndermelerine olanak tanıyan bir hizmettir.
GCM, iletileri sıraya alma ve bunları hedeflenen Android cihazlara verimli bir şekilde iletme ile ilgili tüm ayrıntıları işler. Mesaj çoklu yayın özelliğini destekler ve tek bir istekle aynı anda 1.000'e kadar bağlı cihaza erişebilir. Ayrıca, mesaj yüklerini de destekler. Yani geliştiricilerin, cihazdaki bir uygulamaya gıdıklanma mesajları göndermenin yanı sıra 4K'ya kadar veri de gönderebilecekleri anlamına gelir.
Google Cloud Messaging, tüm geliştiriciler için tamamen ücretsizdir ve kaydolmak kolaydır. Kayıt, indirme işlemleri ve belgeler için Google Cloud Messaging sayfasına bakın.
Uygulama Şifreleme
Android 4.1'den itibaren Google Play, tüm ücretli uygulamaları teslim edilmeden ve bir cihazda depolanmadan önce cihaza özel bir anahtarla şifreleyerek uygulama öğelerini korumaya yardımcı olacaktır.
Akıllı Uygulama Güncellemeleri
Akıllı uygulama güncellemeleri, uygulama güncellemelerini cihazlara daha iyi sunmanızı sağlayan yeni bir Google Play özelliğidir. Geliştiriciler bir güncelleme yayınladıklarında Google Play artık APK'nın tamamı yerine yalnızca değişen bitleri cihazlara sunuyor. Bu, güncellemeleri çoğu durumda çok daha hafif hale getirir. Böylece, daha hızlı indirilir, cihazın pilinden tasarruf edilir ve kullanıcıların mobil veri tarifesinde bant genişliği kullanımından tasarruf edilir. Ortalama olarak, bir akıllı uygulama güncellemesi, tam APK güncellemesine kıyasla yaklaşık 1/3 boyutundadır.
Google Play hizmetleri
Google Play Hizmetleri, geliştiricilerin Google Play aracılığıyla sunulan uygulamalarına kimlik doğrulama gibi Google hizmetlerini entegre etmelerine yardımcı olur.
Google Play Hizmetleri, Google Play tarafından son kullanıcı cihazlarına otomatik olarak sağlanır. Böylece uygulamalarınızda ince bir istemci kitaplığı oluşturmanız yeterlidir.
Uygulamanız yalnızca küçük istemci kitaplığını içerdiğinden, indirme boyutunda ve depolama alanı kullanımında büyük bir artış olmadan bu hizmetlerden yararlanabilirsiniz. Ayrıca Google Play, geliştiricilerin bunlardan yararlanmak için uygulama güncellemeleri yayınlamalarına gerek kalmadan düzenli olarak hizmetlere güncellemeler yayınlayacaktır.
Google Play Hizmetleri'ne dahil olan API'lar hakkında daha fazla bilgi için Google Play Hizmetleri geliştirici sayfasına bakın.