Oreo özellikleri

Android 'in en son sürümüne yönelik uygulamalar geliştirmek için Xamarin. Android ' i kullanmaya başlama.

Android 8,0 Oreo , Google 'ın sunduğu en son Android sürümüdür. Android Oreo, Xamarin. Android geliştiricilerine ilgi çekici birçok yeni özellik sunmaktadır. Bu özellikler bildirim kanallarını, bildirim rozetlerini, XML 'deki özel yazı tiplerini, indirilebilir yazı tiplerini, otomatik olarak ve resim (PıP) resmini içerir. Android Oreo, bu yeni yetenekler için yeni API 'Ler içerir ve Xamarin. Android 8,0 ve üstünü kullandığınızda bu API 'Ler Xamarin. Android uygulamaları tarafından kullanılabilir.

Android Oreo Hero görüntüsü

Bu makale, Android 8,0 Oreo için Xamarin. Android uygulamaları geliştirmeye başlamanıza yardımcı olacak şekilde yapılandırılmıştır. Gerekli güncelleştirmelerin nasıl yükleneceğini, SDK 'nın nasıl yapılandırılacağını ve test için bir öykünücü (veya cihaz) nasıl oluşturulacağını açıklar. Ayrıca, Android 8,0 Oreo ' deki yeni özelliklerin, Xamarin. Android uygulamalarında Android Oreo özelliklerinin nasıl kullanılacağını gösteren örnek uygulamalara yönelik bağlantılarla bir özetini sağlar.

Gereksinimler

Xamarin tabanlı uygulamalarda Android Oreo özelliklerinin kullanılması için aşağıdakiler gereklidir:

  • Visual Studio – Windows kullanıyorsanız, Visual Studio sürüm 15,5 veya sonraki bir sürümü gereklidir. Mac kullanıyorsanız, Mac için Visual Studio sürüm 7.2.0 gerekir.

  • Xamarin. Android – Xamarin. Android 8,0 veya üzeri, Visual Studio yüklenmiş ve yapılandırılmış olmalıdır.

  • Android SDK – Android SDK 8,0 (API 26) veya üzeri Android SDK Manager aracılığıyla yüklenmelidir.

Başlarken

Xamarin. Android ile Android Oreo kullanmaya başlamak için, bir Android Oreo projesi oluşturabilmeniz için en son araçları ve SDK paketlerini indirmeniz ve kurmanız gerekir:

  1. Visual Studio en son sürümüne güncelleştirin.

  2. Android 8.0.0 (API 26) veya üzeri paketleri ve araçları SDK Yöneticisi aracılığıyla yüklersiniz.

  3. Android Oreo (API 26) hedefleyen yeni bir Xamarin. Android projesi oluşturun.

  4. Android Oreo uygulamalarını test etmek için bir öykünücü veya cihaz yapılandırın.

Bu adımların her biri aşağıdaki bölümlerde açıklanmıştır:

Visual Studio ve Xamarin. Android güncelleştirme

Visual Studio için Android Oreo desteği eklemek için aşağıdakileri yapın:

  • Visual Studio 2019 için SDK yöneticisi ' ni kullanarak apı düzeyi 26,0 veya üstünü yüklersiniz.

  • Visual Studio 2017 kullanıyorsanız:

    1. Visual Studio 2017 sürüm 15,7 veya sonraki bir sürüme güncelleştirin (bkz. güncelleştirme Visual Studio 2017).

    2. API düzeyi 26,0 veya üstünü yüklemek için SDK yöneticisini kullanın.

Android Oreo için Xamarin desteği hakkında daha fazla bilgi için Xamarin. Android 8,0 sürüm notlarınabakın.

Android SDK 'i yükler

Xamarin. Android 8,0 ile bir proje oluşturmak için, önce Android 8,0-Oreo veya üzeri SDK platformunu yüklemek üzere Xamarin Android SDK Manager 'ı kullanmanız gerekir. Ayrıca, Android SDK Tools 26,0 veya sonraki bir sürümünü de yüklemelisiniz.

  1. SDK yöneticisini başlatın (Visual Studio, araçlar Android > Android SDK yöneticisi' ne tıklayın).

  2. Android 8,0-Oreo paketlerini yükler. Android SDK öykünücüsü kullanıyorsanız, ihtiyacınız olacak x86 sistem görüntülerini eklediğinizden emin olun:

    Android SDK yöneticisinde Android 8,0 paketlerini seçme

  3. Android SDK Tools 26.0.2 veya üzeri, Android SDK Platform-Tools 26.0.0 veya üzeri ve Android SDK Build-Tools 26.0.0 (veya üzeri).

    Android SDK yöneticisinde Android SDK Tools 26 seçme

Xamarin. Android Project başlatın

Yeni bir Xamarin. Android projesi oluşturun. Xamarin ile Android geliştirmeye yeni çalışıyorsanız, Xamarin. Android projeleri oluşturma hakkında bilgi edinmek için bkz. Merhaba, Android .

Bir Android projesi oluşturduğunuzda, Android 8,0 veya üstünü hedeflemek için sürüm ayarlarını yapılandırmanız gerekir. Örneğin, projenizi Android 8,0 için hedeflemek için, projenizin hedef Android API düzeyini android 8,0 (API 26)olarak yapılandırmanız gerekir. Ayrıca, hedef çerçeve düzeyinizi API 26 veya üzeri bir sürüme 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.

Emulator veya cihaz yapılandırma

Android SDK Tools 26,0 veya sonraki bir sürümünü yükledikten sonra varsayılan Google GUI tabanlı AVD Manager 'ı başlatmaya çalışırsanız, bunun yerine AVD Manager Aracı avdmanager komut satırını kullanmanızı sağlayan aşağıdaki hata iletişim kutusunu alabilirsiniz:

Bu ileti, Google artık API 26,0 ve üstünü destekleyen tek başına bir GUI AVD Yöneticisi sunmadığından görüntülenir. android 8,0 Oreo için, avdmanager android Oreo için sanal aygıtlar oluşturmak üzere Xamarin Android Emulator Manager veya komut satırı aracını kullanmanız gerekir.

Sanal cihazları oluşturmak ve yönetmek için Android Device Manager kullanmak için, bkz. Android Device Manager Ile sanal cihazları yönetme. Android Device Manager olmadan sanal aygıtlar oluşturmak için sonraki bölümdeki adımları izleyin.

Avdmanager kullanarak sanal cihazlar oluşturma

Avdmanager 'ı yeni bir sanal cihaz oluşturmak üzere kullanmak için şu adımları izleyin:

  1. Bir komut Istemi penceresi açın ve JAVA_HOME bilgisayarınızdaki Java SDK 'sının konumuna ayarlayın. Tipik bir Xamarin yüklemesi için aşağıdaki komutu kullanabilirsiniz:

    setx JAVA_HOME "C:\Program Files\Java\jdk1.8.0_131"
    
  2. Android SDK klasörünün konumunu ekleyin binPATH . Tipik bir Xamarin yüklemesi için aşağıdaki komutu kullanabilirsiniz:

    setx PATH "%PATH%;C:\Program Files (x86)\Android\android-sdk\tools\bin"
    
  3. Komut Istemi penceresini kapatın ve yeni bir komut Istemi penceresi açın. Avdmanager komutunu kullanarak yeni bir sanal cihaz oluşturun. Örneğin, API düzeyi 26 için x86 sistem görüntüsünü kullanarak AVD -Oreo-8,0 adlı bir AVD adı oluşturmak için aşağıdaki komutu kullanın:

    avdmanager create avd -n AVD-Oreo-8.0 -k "system-images;android-26;google_apis;x86"
    
  4. Size sorulduğunda, özel bir donanım profili oluşturmak istiyor musunuz [Hayır] , Hayır girebilir ve varsayılan donanım profilini kabul edebilirsiniz. Evetsöylediğinizde avdmanager , donanım profilini özelleştirmeye yönelik soruların bir listesini ister.

Sanal cihazınızı oluşturmak için avdmanager ' ı tamamladıktan sonra cihaz aşağı açılan menüsüne dahil edilir:

Cihaz aşağı açılan menüsüne yeni AVD eklendi

Test ve hata ayıklama için bir Android öykünücüsü yapılandırma hakkında daha fazla bilgi için, Android Emulator hata ayıklamabölümüne bakın.

Bir Nexus veya piksel gibi fiziksel bir cihaz kullanıyorsanız, AIR (OTA) güncelleştirmeleri üzerinden otomatik olarak cihazınızı güncelleştirebilir veya bir sistem görüntüsünü indirebilir ve cihazınızı doğrudan Flash 'a yükleyebilirsiniz. Cihazınızı Android Oreo 'ye el ile güncelleştirme hakkında daha fazla bilgi için bkz. Nexus ve Pixel cihazları Için fabrika görüntüleri.

Yeni Özellikler

Android Oreo, bildirim kanalları, bildirim rozetleri, XML 'deki özel yazı tipleri, indirilebilir yazı tiplerinde, otomatik doldurma ve resim içi resim gibi çeşitli yeni özellikler ve yetenekler sunmaktadır. Aşağıdaki bölümlerde bu özellikler vurgulanacak ve uygulamanızda kullanmaya başlamanıza yardımcı olacak bağlantılar sağlanmaktadır.

Bildirim Kanalları

Bildirim kanalları , bildirimler için uygulama tanımlı kategorileridir. Göndermeniz gereken her bildirim türü için bir bildirim kanalı oluşturabilir ve uygulama kullanıcılarının yaptığı seçimleri yansıtacak bildirim kanalları oluşturabilirsiniz. Yeni bildirim kanalları özelliği, kullanıcılara farklı bildirim türleri üzerinde daha fazla denetim vermelerini sağlar. Örneğin, bir mesajlaşma uygulaması gerçekleştiriyorsanız, bir kullanıcı tarafından oluşturulan her konuşma grubu için ayrı bildirim kanalları oluşturabilirsiniz.

Bildirim Kanalları, bir bildirim kanalının nasıl oluşturulacağı ve yerel bildirimlerin gönderilmesi için nasıl kullanılacağı hakkında bilgi sağlar. Gerçek bir kod örneği için NotificationChannels örneğine bakın; Bu örnek uygulama iki kanalı yönetir ve ek bildirim seçenekleri ayarlar.

Bildirim Rozetleri

Bildirim rozetleri, bu ekran görüntüsünde gösterildiği gibi uygulama simgelerinin üzerinde görünen küçük noktalardır:

Uygulama simgelerde örnek bildirim rozetleri

Bu noktalar, uygulamada bu uygulama simgesiyle ilişkili bir veya daha fazla bildirim kanalı için yeni bildirimler olduğunu gösterir. Bunlar kullanıcının henüz işten çıkarmamış veya üzerinde eylemde bulunan bildirimlerdir. Kullanıcılar bir bildirim rozetiyle ilişkili bildirimlere göz atarak, uzun süre basan menüden bildirimleri silen veya bu bildirimlere göre işlem yapmak için uzun süre basabilirsiniz.

Bildirim rozetleri hakkında daha fazla bilgi için Android Geliştirici Bildirimi Rozetleri konu başlığına bakın.

XML'de Özel Yazı Tipleri

Android Oreo, özel yazı tiplerinikaynak olarak dahil etmek için XML'de Yazı Tipleri'ni tanıtıyor. OpenType (.otf) ve TrueType (.ttf) yazı tipi biçimleri de desteklemektedir. Yazı tiplerini kaynak olarak eklemek için şunları yapın:

  1. Kaynaklar/yazı tipi klasörü oluşturun.

  2. Yazı tipi dosyalarınızı (örneğin, .ttf ve .otf dosyaları) Kaynaklar/yazı tipine kopyalayın.

  3. Gerekirse, her yazı tipi dosyasını Android dosya adlandırma kurallarına uygun olacak şekilde yeniden adlandırın (örneğin, dosya adlarında yalnızca küçük a-z, 0-9ve alt çizgi kullanın). Örneğin, yazı tipi dosyası Pacifico-Regular.ttf gibi bir adla yeniden adlandırabilirsiniz. pacifico.ttf

  4. Düzen XML'inize yeni özniteliği kullanarak android:fontFamily özel yazı tipini uygulama. Örneğin, aşağıdaki bildirim TextView eklenen TextView kaynağını kullanır:

    <TextView
      android:text="Example Text in Pacifico Regular"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:fontFamily="@font/pacifico" />
    

Ayrıca, stil ve ağırlık ayrıntılarının yanı sıra birden çok yazı tipini açıklayan bir yazı tipi ailesi XML dosyası da oluşturabilirsiniz. Daha fazla bilgi için XML'de Android Geliştirici Yazı Tipleri konu başlığına bakın.

İndirilebilir Yazı Tipleri

Android Oreo'dan itibaren uygulamalar, yazı tiplerini APK'ye değil, bir sağlayıcıdan talepte bulundurabilirsiniz. Yazı tipleri yalnızca gerektiğinde ağdan indirilir. Bu özellik APK boyutunu azaltarak telefon belleğini ve hücresel veri kullanımını azaltır. Android Destek Kitaplığı 26 paketini yükleyerek bu özelliği Android API sürüm 14 ve üzerinde de kullanabilirsiniz.

Uygulamanın yazı tipine ihtiyacı olduğunda bir nesnesi oluşturur (indirilen yazı tipini belirtirsiniz) ve ardından yazı tipini indirmek FontsRequestFontsContract için bir yönteme iletirsiniz. Aşağıdaki adımlarda yazı tipi indirme işlemi daha ayrıntılı olarak açıklanmaktadır:

  1. Bir FontRequest nesnesi örneği oluşturma.

  2. FontsContract.FontRequestCallbackalt sınıfı ve örneği.

  3. Yazı tipi isteğinin tamamlanmasını işlemek için kullanılan FontRequestCallback.OnTypeFaceRetrieved yöntemini uygulama.

  4. Yazı tipi isteği işlemi sırasında oluşan hataları uygulamanıza bildirmek için kullanılan FontRequestCallback.OnTypeFaceRequestFailed yöntemini kullanın.

  5. Yazı tipi sağlayıcısından yazı tipini almak için FontsContract.RequestFonts yöntemini çağırma.

yöntemini çağırarak ilk olarak yazı tipinin yerel olarak önbelleğe alınarak (önceki bir çağrısından ) alınarak RequestFonts önbelleğe alın olup olamay olduğunu RequestFont denetler. Önbelleğe alınmazsa yazı tipi sağlayıcısını çağırarak yazı tipini zaman uyumsuz olarak alabilir ve ardından yönteminizi çağırarak sonuçları uygulamanıza OnTypeFaceRetrieved geri iletir.

İndirilebilir Yazı Tipleri örneği, Android Oreo'da tanıtilen İndirilebilir Yazı Tipleri özelliğinin nasıl kullanıla bir örnektir.

Yazı tiplerini indirme hakkında daha fazla bilgi için Android Geliştirici İndirilebilir Yazı Tipleri konu başlığına bakın.

Otomatik doldurma

Android Oreo'daki yeni Otomatik Doldurma çerçevesi kullanıcıların oturum açma, hesap oluşturma ve kredi kartı işlemleri gibi yinelenen görevleri işlemesini kolaylaştırır. Kullanıcılar bilgileri yeniden yazmak için daha az zaman harcayarak giriş hatalarına yol açabilirsiniz. Uygulamanın Otomatik Doldurma Çerçevesi ile çalışamadan önce sistem ayarlarında bir otomatik doldurma hizmetinin etkinleştirilmesi gerekir (kullanıcılar otomatik doldurmayı etkinleştirilebilir veya devre dışı bırakabilir).

AutofillFramework örneği, Autofill Framework kullanımını gösterir. Bu, otomatik doldurulması gereken görünümlere sahip istemci Etkinliklerinin ve istemci Etkinliklerine otomatik doldurma verileri sağlay sunan bir Hizmet'in uygulanmasını içerir.

Yeni Otomatik Doldurma özelliği ve uygulamanızı otomatik doldurma için iyileştirme hakkında daha fazla bilgi için Android Geliştirici Otomatik Doldurma Çerçevesi konu başlığına bakın.

Resimdeki Resim (PIP)

Android Oreo, bir Etkinliğin resim içinde (PIP) modunda başlatılmasını ve başka bir Etkinliğin ekranına katmanlamanın mümkün olduğunu gösterir. Bu özellik video kayıttan yürütmeye yöneliktir.

Uygulama etkinliğinin PIP modunu kullanabileceğini belirtmek için Android bildiriminde aşağıdaki bayrağı true olarak ayarlayın:

android:supportsPictureInPicture

Etkinliğinizin PIP modundayken nasıl davranacağını belirtmek için yeni PictureInPictureParams nesnesini kullanırsınız. PictureInPictureParams , PIP modunda etkinliği başlatmak ve güncelleştirmek için kullanabileceğiniz bir parametre kümesidir (örneğin, Etkinliğin tercih edilen en boy oranı). Android Oreo'da aşağıdaki yeni PIP Activity yöntemleri eklendi:

  • EnterPictureInPictureMode: Etkinliği PIP moduna koyar. Etkinlik ekranın köşesine yerleştirilir ve ekranın geri kalanı, ekranda yer alan önceki Etkinlik ile doldurulur.

  • SetPictureInPictureParams: Etkinliğin PIP yapılandırma ayarlarını (en boy oranındaki bir değişiklik gibi) günceller.

PictureInPicture örneği, Oreo'da tanıt kullanılan cihazlar için Resim Içinde Resim (PiP) modunun temel kullanımını gösterir. Örnek, görüntü modları veya diğer etkinlikler arasında geçiş yaparken kesintisiz olarak devam eden bir video oynatıyor.

Diğer Özellikler

Android Oreo; Emoji destek kitaplığı, Konum API'si, arka plan sınırları, uygulamalar için geniş oyun rengi, yeni ses codec bileşenleri, WebView geliştirmeleri, geliştirilmiş klavye gezinti desteği ve yüksek performanslı düşük gecikmeli ses için yeni bir AAudio (pro ses) API'si gibi birçok yeni özellik içerir. Bu özellikler hakkında daha fazla bilgi için Android Geliştirici Android Oreo Özellikleri ve API'leri konusuna bakın.

Davranış Değişiklikleri

Android Oreo, mevcut uygulamaların işlevselliğini etkileyen çeşitli sistem ve API davranışı değişiklikleri içerir. Bu değişiklikler aşağıdaki gibi açıklanmıştır.

Arka Plan Yürütme Sınırları

Kullanıcı deneyimini geliştirmek için Android Oreo, arka planda çalışırken uygulamaların neler yapaları konusunda sınırlamalar sunar. Örneğin, kullanıcı bir video izliyorsa veya oyun oynatıyorsa, arka planda çalışan bir uygulama, ön planda çalışan yoğun video kullanımlı bir uygulamanın performansını olumsuz etkileyebilir. Sonuç olarak, Android Oreo kullanıcıyla doğrudan etkileşim kurmadan uygulamalara aşağıdaki kısıtlamaları sağlar:

  1. Arka Plan Hizmeti Sınırlamaları: Bir uygulama arka planda çalıştır çalıştırıken, hizmet oluşturmasına ve kullanmasına izin verilen birkaç dakikalık bir pencereye sahiptir. Bu pencerenin sonunda Android, uygulamanın arka plan hizmetini durdurur ve boşta olarak davranır.

  2. Yayın Sınırlamaları – Android 7.0 (API 25), bir uygulamanın almak için kaydolan yayınlarla ilgili sınırlamalara sahiptir. Android Oreo bu sınırlamaları daha sıkı hale gelir. Örneğin Android Oreo uygulamaları artık bildirimlerinde örtülü yayınlar için yayın alıcılarını kaydedemeyecek.

Yeni arka plan yürütme sınırları hakkında daha fazla bilgi için Android Geliştirici Arka Plan Yürütme Sınırları konu başlığına bakın.

Hataya Neden Olan Değişiklikler

Android Oreo veya sonraki bir sürümü hedef alan uygulamaların, uygun olduğunda aşağıdaki değişiklikleri destekleyecek şekilde uygulamalarını değiştirmesi gerekir:

  • Android Oreo, tek tek bildirimlerin önceliğini ayarlama yeteneğini kullanım dışıdır. Bunun yerine, bildirim kanalı oluştururken önerilen önem düzeyini ayarlayın. Bir bildirim kanalına atadığınız önem düzeyi, bu kanala yayınladığınız tüm bildirim iletileri için geçerlidir.

  • Android Oreo'yu hedef alan uygulamalarda, arka planda PendingIntent.GetService() başlayan hizmetlere yerleştirilen yeni sınırlar nedeniyle çalışmıyor. Android Oreo'yu hedefle ediyorsanız bunun yerine PendingIntent.GetBroadcast kullansanız iyi olur.

Örnek Kod

Android Oreo özelliklerinden nasıl yararlanabilirsiniz? için çeşitli Xamarin.Android örnekleri kullanılabilir:

  • NotificationsChannels, Android Oreo'da tanıtilen yeni Bildirim Kanalları sisteminin nasıl kullanılacagı gösteriyor. Bu örnek iki bildirim kanalını yönetir: biri varsayılan öneme sahip, diğeri yüksek öneme sahip.

  • PictureInPicture, Oreo'da tanıtan cihazlar için Resim Içinde Resim (PiP) modunun temel kullanımını gösterir. Örnek, görüntü modları veya diğer etkinlikler arasında geçiş yaparken kesintisiz olarak devam eden bir video oynatıyor.

  • AutofillFramework, Autofill Framework'in kullanımını gösterir. Bu, otomatik doldurulması gereken görünümlere sahip istemci Etkinliklerinin ve istemci Etkinliklerine otomatik doldurma verileri sağlay sunan bir Hizmet'in uygulanmasını içerir.

  • İndirilebilir Yazı Tipleri, daha önce açıklanan İndirilebilir Yazı Tipleri özelliğinin kullanımına bir örnek sağlar.

  • EmojiCompat, EmojiCompat destek kitaplığının kullanımını gösterir. Bu kitaplığı, uygulamanın eksik emoji karakterlerini "tofu" karakterleri olarak göstermesini önlemek için kullanabilirsiniz.

  • Konum Güncelleştirmeleri Bekleniyor Amacı, kullanarak bir cihazın konumuyla ilgili güncelleştirmeleri almak için Konum API'sini kullanmayı gösterir.

  • Konum Güncelleştirmeleri Ön Plan Hizmeti, bağlı ve başlatan bir ön plan hizmeti kullanarak bir cihazın konumu hakkında güncelleştirmeler almak için Konum API'sini kullanmayı gösterir.

Video

C ile Android 8.0 Oreo geliştirme #

Özet

Bu makalede Android Oreo tanıtıldı ve Android Oreo'da Xamarin.Android geliştirmesi için en son araçların ve paketlerin nasıl yük yapılandırıldığından ve yapılandırıldığından söz edildi. Android Oreo'da bulunan temel özelliklere genel bir bakış sağlanmıştır ve çeşitli yeni özelliklerin örnek kaynak koduna bağlantılar sağlanmıştır. Android Oreo için uygulama oluşturmaya başlamanıza yardımcı olmak için API belgelerine ve Android Geliştirici konularına bağlantılar içerir. Ayrıca, mevcut uygulamaları etkileyene en önemli Android Oreo davranış değişiklikleri de vurgulanmış.