Aracılığıyla paylaş


Oreo Özellikleri

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

Android 8.0 Oreo , Google'dan edinilebilen en son Android sürümüdür. Android Oreo, Xamarin.Android geliştiricilerine ilgi çekici birçok yeni özellik sunar. Bu özellikler arasında bildirim kanalları, bildirim rozetleri, XML'deki özel yazı tipleri, indirilebilir yazı tipleri, otomatik doldurma ve resim içinde resim (PIP) bulunur. Android Oreo, bu yeni özellikler için yeni API'ler içerir ve bu API'ler Xamarin.Android 8.0 ve üzerini kullandığınızda Xamarin.Android uygulamalarında 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ştirmeleri yükleme, SDK'yı yapılandırma ve test için öykünücü (veya cihaz) oluşturma açıklanmaktadır. Ayrıca, Android 8.0 Oreo'daki yeni özelliklerin ana hatlarını ve Xamarin.Android uygulamalarında Android Oreo özelliklerinin nasıl kullanılacağını gösteren örnek uygulamaların bağlantılarını sağlar.

Gereksinimler

Xamarin tabanlı uygulamalarda Android Oreo özelliklerini kullanmak için aşağıdakiler gereklidir:

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

  • Xamarin.Android – Xamarin.Android 8.0 veya üstü Visual Studio ile yüklenip yapılandırılmalıdır.

  • Android SDK – Android SDK 8.0 (API 26) veya üzeri, Android SDK Yöneticisi aracılığıyla yüklenmelidir.

Kullanmaya Başlama

Android Oreo'u Xamarin.Android ile kullanmaya başlamak için bir Android Oreo projesi oluşturabilmeniz için önce en son araçları ve SDK paketlerini indirip yüklemeniz gerekir:

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

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

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

  4. Android Oreo uygulamalarını test 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'i güncelleştirme

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

Android Oreo için Xamarin desteği hakkında daha fazla bilgi için bkz . Xamarin.Android 8.0 sürüm notları.

Android SDK'sını yükleme

Xamarin.Android 8.0 ile proje oluşturmak için, önce Android 8.0 - Oreo veya üzeri için SDK platformunu yüklemek üzere Xamarin Android SDK Yöneticisi'ni kullanmanız gerekir. Android SDK Araçları 26.0 veya üzerini de yüklemeniz gerekir.

  1. SDK Yöneticisi'ni başlatın (Visual Studio'da Araçlar > Android > Android SDK Yöneticisi'ne tıklayın).

  2. Android 8.0 - Oreo paketlerini yükleyin. 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öneticisi'nde Android 8.0 paketlerini seçme

  3. Android SDK Araçları 26.0.2 veya üzerini, Android SDK Platform Araçları 26.0.0 veya üzerini ve Android SDK Derleme Araçları 26.0.0 (veya üzerini) yükleyin:

    Android SDK Yöneticisi'nde Android SDK Araçları 26'nın seçilmesi

Xamarin.Android Projesi Başlatma

Yeni bir Xamarin.Android projesi oluşturun. Xamarin ile Android geliştirme konusunda yeniyseniz Xamarin.Android projeleri oluşturma hakkında bilgi edinmek için bkz. Merhaba, Android.

Bir Android projesi oluşturduğunuzda, sürüm ayarlarını Android 8.0 veya sonraki bir sürümü hedef olacak şekilde yapılandırmanız gerekir. Örneğin, projenizi Android 8.0'a hedeflemek için projenizin hedef Android API düzeyini Android 8.0 (API 26) olarak yapılandırmanız gerekir. Hedef çerçeve düzeyinizi API 26 veya üzeri olarak da 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.

Öykünücü veya Cihaz Yapılandırma

Android SDK Araçları 26.0 veya sonraki bir sürümü yükledikten sonra varsayılan Google GUI tabanlı AVD Yöneticisi'ni başlatmayı denerseniz, bunun yerine avdmanager komut satırı AVD yönetici aracını kullanmanızı sağlayan aşağıdaki hata iletişim kutusunu alabilirsiniz:

Google artık API 26.0 ve üzerini destekleyen tek başına bir GUI AVD yöneticisi sağlamadığından bu ileti görüntülenir. Android 8.0 Oreo için, Android Oreo için sanal cihazlar oluşturmak için Xamarin Android Öykünücü Yöneticisi'ni veya komut satırı avdmanager aracını kullanmanız gerekir.

Android Aygıt Yöneticisi kullanarak sanal cihaz oluşturmak ve yönetmek için bkz. Android Aygıt Yöneticisi ile Sanal Cihazları Yönetme. Android Aygıt Yöneticisi olmadan sanal cihazlar oluşturmak için sonraki bölümdeki adımları izleyin.

avdmanager Kullanarak Sanal Cihaz Oluşturma

Avdmanager kullanarak yeni bir sanal cihaz oluşturmak için şu adımları izleyin:

  1. Bir Komut İstemi penceresi açın ve bilgisayarınızda Java SDK'sının konumuna ayarlayın JAVA_HOME . 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 bin klasörünün konumunu dosyanıza PATHekleyin. 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 İstemi penceresini kapatın ve yeni bir Komut İstemi 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 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. Özel bir donanım profili oluşturmak isteyip istemediğiniz sorulduğunda [hayır] hayır girebilir ve varsayılan donanım profilini kabul edebilirsiniz. Evet derseniz, avdmanager donanım profilini özelleştirmek için size bir soru listesi sorar.

Sanal cihazınızı oluşturmak için avdmanager'ı oluşturduktan sonra cihaz açılır menüsüne eklenir:

Cihaz açılır 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 bkz . Android Öykünücüsü'nda Hata Ayıklama.

Nexus veya Pixel gibi fiziksel bir cihaz kullanıyorsanız, cihazınızı otomatik olarak hava (OTA) güncelleştirmeleri aracılığıyla güncelleştirebilir veya bir sistem görüntüsü indirip cihazınızı doğrudan yanıp sönersiniz. Cihazınızı Android Oreo'ya el ile güncelleştirme hakkında daha fazla bilgi için bkz . Nexus ve Piksel Cihazlar için Fabrika Görüntüleri.

Yeni Özellikler

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

Bildirim Kanalları

Bildirim Kanalları , bildirimler için uygulama tanımlı kategorilerdir. Göndermeniz gereken her bildirim türü için bir bildirim kanalı oluşturabilir ve uygulamanızın kullanıcıları tarafından yapılan seçimleri yansıtacak bildirim kanalları oluşturabilirsiniz. Yeni bildirim kanalları özelliği, kullanıcılara farklı bildirim türleri üzerinde ayrıntılı denetim vermenizi mümkün kılar. Örneğin, bir mesajlaşma uygulaması uyguluyorsanız, bir kullanıcı tarafından oluşturulan her konuşma grubu için ayrı bildirim kanalları oluşturabilirsiniz.

Bildirim Kanalları , bir bildirim kanalı oluşturmayı ve bunu yerel bildirimleri göndermek için kullanmayı açıklar.

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 simgelerinde örnek bildirim rozetleri

Bu noktalar, uygulamada bu uygulama simgesiyle ilişkilendirilmiş bir veya daha fazla bildirim kanalı için yeni bildirimler olduğunu gösterir; bunlar kullanıcının henüz kapatmadığı veya işlem yapmadığı bildirimlerdir. Kullanıcılar, bir bildirim rozetiyle ilişkili bildirimlere göz atmak için bir simgeye uzun süre basabilir, bildirimleri kapatabilir veya bu bildirimlere göre hareket edebilir.

Bildirim rozetleri hakkında daha fazla bilgi için Android Geliştirici Bildirimi Rozetleri konusuna bakın.

XML'de Özel Yazı Tipleri

Android Oreo XML'de Yazı Tipleri'ni tanıtır ve bu da özel yazı tiplerini kaynak olarak birleştirmenizi mümkün kılar. OpenType (.otf) ve TrueType (.ttf) yazı tipi biçimleri desteklenir. Yazı tiplerini kaynak olarak eklemek için aşağıdakileri yapın:

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

  2. Yazı tipi dosyalarınızı (örneğin, .ttf ve .otf dosyaları) Kaynaklar'a/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 harf a-z, 0-9 ve alt çizgi kullanın). Örneğin, yazı tipi dosyası Pacifico-Regular.ttf gibi pacifico.ttfbir adla yeniden adlandırılabilir.

  4. Düzen XML'inizdeki yeni android:fontFamily özniteliği kullanarak özel yazı tipini uygulayın. Örneğin, aşağıdaki TextView bildirim eklenen pacifico.ttf yazı tipi 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 kalınlı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 konusuna bakın.

İndirilebilir Yazı Tipleri

Android Oreo'dan başlayarak, uygulamalar bunları APK'ya paketlemek yerine bir sağlayıcıdan yazı tipleri isteyebilir. Yazı tipleri yalnızca gerektiğinde ağdan indirilir. Bu özellik APK boyutunu azaltarak telefon belleğini ve hücresel veri kullanımını korur. Bu özelliği Android Destek Kitaplığı 26 paketini yükleyerek Android API sürüm 14 ve üzeri sürümlerde de kullanabilirsiniz.

Uygulamanızın bir yazı tipine ihtiyacı olduğunda, bir FontsRequest nesne oluşturursunuz (indirilmesi gereken yazı tipini belirtir) ve ardından yazı tipini indirmek için bir FontsContract yönteme geçirirsiniz. Aşağıdaki adımlarda yazı tipi indirme işlemi daha ayrıntılı olarak açıklanmaktadır:

  1. FontRequest nesnesinin örneğini oluşturma.

  2. FontsContract.FontRequestCallback öğesini alt sınıfa ekleyin ve örneği oluştur.

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

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

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

yöntemini çağırdığınızda RequestFonts , önce yazı tipinin yerel olarak önbelleğe alınıp alınmadığını denetler (önceki bir çağrısından RequestFont). Önbelleğe alınmazsa, yazı tipi sağlayıcısını çağırır, yazı tipini zaman uyumsuz olarak alır ve ardından yönteminizi çağırarak sonuçları uygulamanıza OnTypeFaceRetrieved geri geçirir.

Yazı tiplerini indirme hakkında daha fazla bilgi için Android Geliştirici İndirilebilir Yazı Tipleri konusuna 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 gerçekleştirmesini kolaylaştırır. Kullanıcılar bilgileri yeniden yazmak için daha az zaman harcar (bu da giriş hatalarına neden olabilir). Uygulamanızın Otomatik Doldurma Çerçevesi ile çalışabilmesi için sistem ayarlarında bir otomatik doldurma hizmetinin etkinleştirilmesi gerekir (kullanıcılar otomatik doldurmayı etkinleştirebilir veya devre dışı bırakabilir).

Yeni Otomatik Doldurma özelliği ve uygulamanızı otomatik doldurma için iyileştirme hakkında daha fazla bilgi için Android Developer Autofill Framework konusuna bakın.

Resimdeki Resim (PIP)

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

Uygulamanızın Etkinliği'nin 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 davranması gerektiğini belirtmek için yeni PictureInPictureParams nesnesini kullanırsınız. PictureInPictureParams , PIP modunda bir Etkinliği başlatmak ve güncelleştirmek için kullandığınız bir parametre kümesini temsil eder (örneğin, Etkinliğin tercih edilen en boy oranı). Android Oreo'da aşağıdaki Activity yeni PIP yöntemleri eklendi:

  • EnterPictureInPictureMode – Etkinliği PIP moduna alır. Etkinlik ekranın köşesine yerleştirilir ve ekranın geri kalanı ekranda bulunan önceki Etkinlik ile doldurulur.

  • SetPictureInPictureParams – Etkinliğin PIP yapılandırma ayarlarını (örneğin, en boy oranındaki bir değişiklik) Güncelleştirmeler.

Diğer Özellikler

Android Oreo; Emoji destek kitaplığı, Konum API'si, arka plan sınırları, uygulamalar için geniş gamut rengi, yeni ses codec'leri, WebView iyileş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 diğer birçok yeni özelliği 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 etkileyebilecek ç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ı

Android Oreo, kullanıcı deneyimini geliştirmek için arka planda çalışırken uygulamaların yapabilecekleri konusunda sınırlamalar uygular. Örneğin, kullanıcı bir video izliyorsa veya oyun oynuyorsa, arka planda çalışan bir uygulama ön planda çalışan yoğun video kullanan bir uygulamanın performansını bozabilir. Sonuç olarak, Android Oreo kullanıcıyla doğrudan etkileşime girmeyen uygulamalara aşağıdaki kısıtlamaları uygular:

  1. Arka Plan Hizmeti Sınırlamaları – Bir uygulama arka planda çalışırken, hizmetleri oluşturmasına ve kullanmasına izin verilen birkaç dakikalık bir penceresi vardır. Bu pencerenin sonunda Android, uygulamanın arka plan hizmetini durdurur ve boşta olarak görür.

  2. Yayın Sınırlamaları – Android 7.0 (API 25), bir uygulamanın almak üzere kaydolduğunu yayınlara sınırlamalar koydu. Android Oreo bu sınırlamaları daha sıkı hale getirir. Örneğin, Android Oreo uygulamaları artık bildirimlerindeki örtük yayınlar için yayın alıcılarını kaydedemez.

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ı konusuna bakın.

Hataya Neden Olan Değişiklikler

Android Oreo veya üzerini hedefleyen uygulamalar, uygun olduğunda aşağıdaki değişiklikleri destekleyecek şekilde uygulamalarını değiştirmelidir:

  • Android Oreo, tek tek bildirimlerin önceliğini ayarlama özelliğini kullanım dışı bırakmıştır. Bunun yerine, bildirim kanalı oluştururken önerilen önem düzeyini ayarlarsınız. Bildirim kanalına atadığınız önem düzeyi, bildirim kanalına gönderdiğiniz tüm bildirim iletileri için geçerlidir.

  • Android Oreo'yu hedefleyen uygulamalar için, PendingIntent.GetService() arka planda başlatılan hizmetlere eklenen yeni sınırlar nedeniyle çalışmaz. Android Oreo'yı hedeflediyseniz, bunun yerine PendingIntent.GetBroadcast kullanmalısınız.

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ı ve paketleri yükleme ve yapılandırma işlemi açıklandı. Android Oreo'da bulunan temel özelliklere genel bir bakış ve çeşitli yeni özellikler için örnek kaynak kodu bağlantıları sağladı. Android Oreo için uygulama oluşturmaya başlamanıza yardımcı olmak için API belgelerinin ve Android Geliştirici konularının bağlantılarını içerir. Ayrıca mevcut uygulamaları etkileyebilecek en önemli Android Oreo davranış değişikliklerini de vurguladı.