Nookat Özellikleri
Android Noemat için uygulama geliştirmek için Xamarin.Android kullanmaya başlama.
Bu makalede, Android Noemat'ta tanıtilen özelliklerin ana hatları ve Android Nookat geliştirmesi için Xamarin.Android'in nasıl hazır hale getirildiklerine yer ve Xamarin.Android uygulamalarında Android Nookat özelliklerini kullanmayı gösteren örnek uygulamaların bağlantıları yer almaktadır.
Genel Bakış
Android Nolowt, Google'ın Android 6.0 Marshmallow'u takip ettiğini ifade eder. Xamarin.Android, Xamarin Android 7.0 ve sonraki cihazlarda Android 7.x Bağlamaları için destek sağlar. Android Nookat, aşağıda açıklanan Nookat özellikleri için birçok yeni API ekler; Bu API'ler, Xamarin.Android 7.0'ı kullanırken Xamarin.Android uygulamaları tarafından kullanılabilir.
Android 7.x API'leri hakkında daha fazla bilgi için bkz. Android 7.1 for Developers. Bilinen Xamarin.Android 7.0 sorunlarının listesi için lütfen sürüm notlarına bakın.
Android Nookat, Xamarin.Android geliştiricilerine birçok yeni ilgi özelliği sağlar. Bu özellikler şunları içerir:
Çok pencereli destek – Bu geliştirme, kullanıcıların ekranda aynı anda iki uygulama açmalarını mümkün sağlar.
Bildirim Geliştirmeleri – Android Nodİrt'te yeniden tasarlanan bildirim sistemi, kullanıcıların kısa mesajları doğrudan bildirim kullanıcı arabiriminden hızlı bir şekilde yanıtlamasına olanak sağlayan bir Doğrudan Yanıt özelliği içerir. Ayrıca, uygulamanız alınan iletiler için bildirimler oluşturursa, yeni paketlenmiş bildirimler özelliği, birden fazla ileti alınarak bildirimleri tek bir grup olarak pakette pakete aldırabilirsiniz.
Veri Koruyucu – Bu özellik, uygulamalar tarafından hücresel veri kullanımını azaltmaya yardımcı olan yeni bir sistem hizmetidir; kullanıcılara uygulamaların hücresel veri kullanımı üzerinde denetim sağlar.
Android Nookat ayrıca yeni ağ güvenliği yapılandırma özelliği, Doze on the Go, anahtar onay, yeni Hızlı Ayarlar API'leri, çok yerel ayarlar desteği, ICU4J API'leri, WebView geliştirmeleri, Java 8 dil özelliklerine erişim, kapsamlı dizin erişimi, özel işaretçi API'si, platform VR desteği, sanal dosyalar ve arka plan işleme iyileştirmeleri gibi diğer birçok geliştirmeyi de uygulama geliştiricilerine sunar.
Bu makalede, yeni özellikleri denemek ve yeni Android Norajt platformunu hedeflemek için geçiş veya özellik çalışması planlamak için Android Nookat ile uygulama inşa etmeye nasıl başlanacak açıklanmıştır.
Gereksinimler
Xamarin tabanlı uygulamalarda yeni Android No merkezli özellikleri kullanmak için aşağıdakiler gereklidir:
Visual Studio veya Mac için Visual Studio – Visual Studio kullanıyorsanız Xamarin için Visual Studio Araçları'nin 4.2.0.628 veya sonraki bir sürümü gereklidir. Mac için Visual Studio kullanıyorsanız, 6.1.0 veya sonraki bir Mac için Visual Studio gerekir.
Xamarin.Android – Xamarin.Android 7.0 veya sonraki bir sürümü yüklü olmalı ve Visual Studio veya Mac için Visual Studio.
Android SDK - Android SDK 7.0 (API 24) veya sonraki bir sürümü, Android SDK Yöneticisi.
Java Developer Kit – Xamarin Android 7.0 geliştirmesi, API düzeyi 24 veya daha fazlası için geliştiriyorsanız JDK 8 veya sonraki bir sürümü gerektirir (JDK 8, 24'ün önceki API düzeylerini de destekler). Özel denetimler veya Forms Önizici kullanıyorsanız JDK 8'in 64 bit sürümü gereklidir.
Önemli
Xamarin.Android, JDK 9'u desteklemez.
Android Nooidt ile güvenilir bir şekilde çalışmak için uygulamaların Xamarin C6SR4 veya sonraki bir sürümüyle yeniden oluşturulmuş olması gerektiğini unutmayın. Android Nookat yalnızca NDKtarafından sağlanan yerel kitaplıklara bağlantı kuraya sahip olduğundan, Mono.Data.Sqlite.dll gibi kitaplıkları kullanan mevcut uygulamalar, düzgün şekilde yeniden üretilemediklerinde Android Nookat üzerinde çalıştırılırken kilitlenmeye neden olabilir.
Başlarken
Xamarin.Android ile Android Noemat'ı kullanmaya başlamadan önce bir Android No aşağıdaki projesini oluşturamadan önce en son araçları ve SDK paketlerini indirip yüklemeniz gerekir:
Xamarin'den en son Xamarin.Android güncelleştirmelerini yükleyin.
Android 7.0 (API 24) paketlerini ve araçlarını veya sonraki bir sürümü yükleyin.
Android Noemat'ı hedef alan yeni bir Xamarin.Android projesi oluşturun.
Android Noulator için bir öykünücü veya cihaz yapılandırma.
Bu adımların her biri aşağıdaki bölümlerde açıklanmıştır:
Xamarin Güncelleştirmelerini Yükleme
Android Nookat için Xamarin desteği eklemek için, Visual Studio veya Mac için Visual Studio'de güncelleştirme kanalını Kararlı kanala değiştirebilir ve en son güncelleştirmeleri uygulayabilirsiniz. Şu anda yalnızca Alfa veya Beta kanalında kullanılabilen özelliklere de ihtiyacınız varsa, Alfa veya Beta kanalına geçebilirsiniz (Alfa ve Beta kanalları Android 7.x için de destek sağlar). Güncelleştirmeler (sürümler) kanalını değiştirme hakkında bilgi için bkz. Güncelleştirme kanalını değiştirme.
Install the Android SDK
Xamarin Android 7.0 ile bir proje oluşturmak için önce SDK Platformu Android N (API 24) Android SDK Yöneticisi veya sonraki bir sürümü yüklemek için Android SDK Yöneticisi'yi kullan gerekir. Ayrıca en son sürümü deAndroid SDK Tools:
Başlangıç Android SDK Yöneticisi (Mac için Visual Studio Araçlar Açık Android SDK Yöneticisi... kullanın;Visual Studio'de Araçlar Android > Android SDK Yöneticisi).
Android 7.0 (API 24) veya sonraki bir sürümü yükleyin:
En son Android SDK yükleyin:
Android SDK Tools 25.2.2 veya sonraki bir sürümü, Android SDK Platformu araçları 24.0.3 veya sonraki bir sürümü ve Android SDK Derleme araçları 24.0.2 veya sonraki bir sürümü yüklemeniz gerekir.
Java Geliştirme Seti Konumunun JDK 1.8 için yapılandırıldığından emin olmak için:
Bu ayarı uygulama içinde görüntülemek Visual Studio Araçlar Seçenekleri > Xamarin > Android Ayarlar. Bu Mac için Visual Studio, Tercihler Projeleri SDK Konumları Android > 'e > tıklayın.
Xamarin.Android Project
Yeni bir Xamarin.Android projesi oluşturun. Xamarin ile Android geliştirme konusunda yeniysiniz, Xamarin.Android projeleri oluşturma hakkında bilgi edinmek için bkz. Hello, Android.
Bir Android projesi 7.0 veya sonraki bir sürümü hedeflemek için sürüm ayarlarını yapılandırmanızı gerekir. Örneğin, Projenizi Android 7.0'a hedeflemek için projenizin hedef Android API düzeyini Android 7.0 (API 24 - Nomazsanızt) olarak yapılandırmanız gerekir. Hedef çerçeve düzeyinizi API 24 veya sonraki bir düzeye ayarlamanız önerilir. Android API düzeyi düzeylerini yapılandırma hakkında daha fazla bilgi için bkz. Android API Düzeylerini Anlama.
Not
Şu anda uygulamanızı Android Noulatort cihazlarına veya öykünücülerine dağıtmak için En düşük Android sürümünü Android 7.0 (API 24 - Noulatort) olarak ayarlayabilirsiniz.
Emulator veya Cihaz Yapılandırma
Öykünücü kullanıyorsanız, Android AVD Manager'ı başlatarak aşağıdaki ayarları kullanarak yeni bir cihaz oluşturun:
- Cihaz: Nexus 5X, Nexus 6, Nexus 6P, Nexus Player, Nexus 9 veya Pixel C.
- Hedef: Android 7.0 - API Düzeyi 24
- ABI: x86 veya x86_64
Örneğin, bu sanal cihaz Nexus 6'ya öykünacak şekilde yapılandırılmıştır:
Nexus 5X, 6 veya 9 gibi bir fiziksel cihaz kullanıyorsanız, cihazınızı havadan (OTA) otomatik güncelleştirmeler aracılığıyla güncelleştirebilirsiniz ya da bir sistem görüntüsü indirip cihazınızı doğrudan yanıp sönebilirsiniz. Cihazınızı Android No nexus'a el ile güncelleştirme hakkında daha fazla bilgi için bkz. Nexus Cihazlar için OTA Görüntüleri.
Nexus 5 cihazlarının Android No nexust tarafından desteklenene bir şey olmadığını unutmayın.
Yeni Özellikler
Android Nookat, Çok Pencereli Destek, Bildirimler geliştirmeleri ve Veri Koruyucu gibi çeşitli yeni özellikler ve özellikler sunar. Aşağıdaki bölümlerde bu özellikler vurgulanır ve bunları uygulamanıza kullanmaya başlamanıza yardımcı olacak bağlantılar sağlanmıştır.
Çok Pencereli Mod
Çok pencereli mod, kullanıcıların tam çoklu görev desteğiyle aynı anda iki uygulama açmalarını sağlar. Bu uygulamalar bölünmüş ekran modunda yan yana (yatay) veya bir yukarıda (dikey) çalışır. Kullanıcılar, yeniden boyutlandırmak için uygulamalar arasında bir bölücü sürükleyip içeriği uygulamalar arasında kesip yapıştırabilir. İki uygulama çok pencereli modda gösterilirse, seçili etkinlik seçilmemiş etkinlik duraklatılırken ancak yine de görünür durumdayken devam eder. Çok pencereli mod, Android etkinlik yaşam döngüsünü değiştirmez.
Xamarin.Android uygulamanıza yönelik etkinliklerin çok pencereli modu nasıl destekley olduğunu yapılandırabilirsiniz. Örneğin, çok pencereli modda en düşük boyutu ve uygulamanın varsayılan yüksekliğini ve genişliğini ayaran öznitelikleri yapılandırabilirsiniz. Etkinliğinizin çok Activity.IsInMultiWindowMode pencereli modda olup olmadığını belirlemek için yeni özelliği kullanabilirsiniz. Örnek:
if (!IsInMultiWindowMode) {
multiDisabledMessage.Visibility = ViewStates.Visible;
} else {
multiDisabledMessage.Visibility = ViewStates.Gone;
}
MultiWindowPlayground örnek uygulaması, uygulamanıza birden çok pencere kullanıcı arabiriminin nasıl avantaj katmak için kullanılağını gösteren C# kodu içerir.
Çok pencereli mod hakkında daha fazla bilgi için bkz. Çoklu Pencere Desteği.
Gelişmiş Bildirimler
Android Nookat, yeniden tasarlanan bir bildirim sistemi sağlar. Kullanıcıların gelen kısa mesajların bildirimlerini doğrudan bildirim kullanıcı arabiriminde hızlıca yanıtlamalarını mümkün kılan yeni bir Doğrudan Yanıt özelliğine sahiptir. Android 7.0'dan başlayarak, birden fazla ileti alınarak bildirim iletileri tek bir grup olarak bir araya toplanıyor. Ayrıca geliştiriciler bildirim görünümlerini özelleştirilebilir, bildirimlerde sistem süslemelerinden faydalanarak bildirim oluşturmada yeni bildirim şablonlarını kullanabilir.
Doğrudan Yanıt
Bir kullanıcı gelen ileti için bir bildirim aldığında, Android No anında iletiye bildirim içinde yanıt verilmesini mümkün hale (yanıt göndermek için mesajlaşma uygulamasını açmak yerine). Bu satır içi yanıt özelliği, kullanıcıların bir SMS'e veya kısa mesaja doğrudan bildirim arabirimi içinde hızla yanıt vermelerini sağlar:
Uygulamanıza bu özelliği desteklemek için, kullanıcıların doğrudan bildirim kullanıcı arabiriminden metin aracılığıyla yanıt verebilmesi için remoteInput nesnesi aracılığıyla uygulamanıza satır içi yanıt eylemleri eklemeniz gerekir.
Örneğin, aşağıdaki kod metin girişi almak için bir oluşturur, yanıt eylemi için bekleyen bir amaç oluşturur ve uzak giriş RemoteInput özellikli bir eylem oluşturur:
// Build a RemoteInput for receiving text input:
var remoteInput = new Android.Support.V4.App.RemoteInput.Builder (EXTRA_REMOTE_REPLY)
.SetLabel (GetString (Resource.String.reply))
.Build ();
// Build a Pending Intent for the reply action to trigger:
PendingIntent replyIntent = PendingIntent.GetBroadcast (ApplicationContext,
conversation.ConversationId,
GetMessageReplyIntent (conversation.ConversationId),
PendingIntentFlags.UpdateCurrent);
// Build an Android 7.0 compatible Remote Input enabled action:
NotificationCompat.Action actionReplyByRemoteInput = new NotificationCompat.Action.Builder (
Resource.Drawable.notification_icon,
GetString (Resource.String.reply),
replyIntent).AddRemoteInput (remoteInput).Build ();
Bu eylem bildirime eklenir:
// Create the notification:
NotificationCompat.Builder builder = new NotificationCompat.Builder (ApplicationContext)
.SetSmallIcon (Resource.Drawable.notification_icon)
...
.AddAction (actionReplyByRemoteInput);
Mesajlaşma Hizmeti örnek uygulaması, bildirimleri bir nesnesiyle genişletmeyi gösteren C# kodu içerir. Android 7.0 veya sonraki bir sürümü için uygulamanıza satır içi yanıt eylemleri ekleme hakkında daha fazla bilgi için Android Bildirimleri yanıtlama konu başlığına bakın.
Paketlenmiş Bildirimler
Android Nookat, bildirim iletilerini birlikte gruplaya (örneğin, ileti konu başlığına göre) ve her ayrı ileti yerine grubu görüntüler. Bu paketlenmiş bildirimler özelliği, kullanıcıların bir bildirim grubunu tek bir eylemde silmesi veya arşivlemesi mümkün olur. Kullanıcı, her bildirimi ayrıntılı olarak görüntülemek için bildirim demeti genişletmek için aşağı kaydırabilirsiniz:
Paketlenmiş bildirimleri desteklemek için, uygulamanız benzer bildirimleri pakete almak için Builder.SetGroup yöntemini kullanabilir. Android N'de paketlenmiş bildirim grupları hakkında daha fazla bilgi için Android Gruplama Bildirimleri konu başlığına bakın.
Özel Görünümler
Android Nookat, sistem bildirim üst bilgileri, eylemleri ve genişletilebilir düzenleriyle özel bildirim görünümleri oluşturmanızı mümkün hale getirdi. Android Nookat'ta özel bildirim görünümleri hakkında daha fazla bilgi için Android Bildirim Geliştirmeleri konu başlığına bakın.
Veri Koruyucu
Android Nookat'ı temel alan kullanıcılar, arka plan veri kullanımını engelleyen yeni bir Veri Koruyucu ayarını etkinleştirebilirsiniz. Bu ayar ayrıca mümkün olduğunca ön planda daha az veri kullanması için uygulamanıza sinyal gönderir. ConnectivityManager, Android Nookat'ta genişletildi. Böylece, uygulamanız kullanıcının Veri Koruyucu'nu etkinleştirip etkinleştirmemiş olduğunu kontrol edip veri tasarrufu etkinleştirildiğinde uygulamanın veri kullanımını sınırlamak için çaba gösterebilirsiniz.
Android Nookat'ta yeni Veri Koruyucu özelliği hakkında daha fazla bilgi için Android Ağ Veri Kullanımını İyi duruma getirme konu başlığına bakın.
Uygulama Kısayolları
Android 7.1'de, kullanıcıların uygulamanıza yönelik yaygın veya önerilen görevleri hızla başlatmalarını mümkün kılan bir Uygulama Kısayolları özelliği tanıtıldı. Kısayol menüsünü etkinleştirmek için kullanıcı uygulama simgesine bir saniye veya daha uzun süre basıyor; menü hızlı bir titreşimle görüntülenir. Basının serbest bırakılması menenin kalmasını sağlar:
Bu özellik yalnızca API düzeyi 25 veya daha yüksek kullanılabilir. Android 7.1'de yeni Uygulama Kısayolları özelliği hakkında daha fazla bilgi için Android Uygulama Kısayolları konu başlığına bakın.
Örnek Kod
Android Noemat özelliklerinden nasıl yararlanabilirsiniz? için çeşitli Xamarin.Android örnekleri kullanılabilir:
MultiWindowPlayground, Android Nookat'ta kullanılabilen çok pencereli API'nin kullanımını gösterir. Uygulamanın yaşam döngüsünü ve davranışını nasıl etkilediğini görmek için örnek uygulamayı çoklu windows moduna geçebilirsiniz.
Mesajlaşma Hizmeti, kullanarak bildirim gönderen basit bir hizmettir. Ayrıca, Android Noyit cihazlarının bir uygulamayı açmak zorunda kalmadan doğrudan bildirimden metin aracılığıyla yanıt vermesine izin vermek için bildirimi
RemoteInputbir nesnesiyle genişletmektedir.Etkin Bildirimler, uygulamanıza şu anda kaç bildirim görüntüleniyor olduğunu söylemek için API'yi nasıl kullanabileceğinizi gösterir.
Kapsamlı Dizin Erişimi Belirli dizinlere kolayca erişmek için kapsamlı dizin erişimi API'sini kullanmayı gösterir. Bu, bildiriminizi veya izinlerini
READ_EXTERNAL_STORAGEtanımlamayaWRITE_EXTERNAL_STORAGEalternatif olarak kullanılabilir.Doğrudan Önyükleme Herhangi bir kullanıcı kimlik bilgisi (PIN/Desen/Parola) girilirken cihazın hem önyüklenirken hem de girilirken her zaman kullanılabilir durumda olan bir cihaz şifreli depolamada nasıl veri depolandırılları gösterir.
Özet
Bu makalede Android Noemat tanıtıldı ve Android Noemat'ta Xamarin.Android geliştirmesi için en son araçların ve paketlerin nasıl yük ve yapılandırıldığında açıklandı. Ayrıca, Android No artık için uygulama oluşturmaya başlamanıza yardımcı olacak örnek kaynak kodunun bağlantılarıyla birlikte Android No aşağıdaki temel özelliklere genel bir bakış sağlanmıştır.








