Saat Yüzü Biçimi kurulumu

Not: Bu sayfada, kadran yapılandırmanızı manuel olarak yönetme sürecinin bir adımı gösterilmektedir. Bunun yerine, WYSIWYG (ne görüyorsanız onu alırsınız) stil aracı kullanarak kadranınızı tasarlamak istiyorsanız önce Watch Face Studio kılavuzlarına göz atın.

Bu kılavuzda, saat kadranı biçimini kullanarak bir kadranı yapılandırmak için ihtiyaç duyduğunuz araçlarla ilgili adımlar, proje yapısıyla ilgili bazı öneriler ve bu yapıyı oluşturmak için araçları uygulamayla ilgili adım adım bir kılavuz yer almaktadır.

Ön koşullar

Geliştirme ortamınızı, kadran biçimini kullanacak şekilde hazırlamak için aşağıdaki kurulum adımlarını tamamlayın:

  1. Android 14 (API düzeyi 34) veya sonraki sürümler için SDK'yı yükleyin. Kadranınız 2 sürümüne özgü özelliklere veya davranışa dayanmıyorsa bunun yerine Android 13 (API düzeyi 33) SDK'sını yükleyebilirsiniz.

    SDK, aapt2 ve android.jar dahil olmak üzere gerekli diğer araçları içerir.

  2. Alternatif olarak bu araçları da sağlayabilen Android Studio'yu yükleyebilirsiniz.

Proje yapısı

Saat Kadranı Formatı'nı kullanan özel bir kadran oluşturduğunuzda, özel kadran dosyasını içeren Android App Bundle, Wear OS uygulamanızın mantığını içeren Android App Bundle'dan tamamen ayrı olmalıdır. Google Play dahil bazı uygulama mağazaları, hem Wear OS mantığını hem de özel bir kadran içeren bir Android App Bundle yüklemenizi engeller.

Kadran paketi oluşturma

Kadran dosyası içeren bir Android uygulama paketi oluşturmak için aşağıdaki bölümlerde gösterilen adımları tamamlayın.

Saat Kadranı Formatı'nın kullanımını beyan etme

Yeni uygulamanızın manifest dosyasına (AndroidManifest.xml), saat kadranı biçimini kullandığınızı belirten bir uygulama özelliği ekleyin. Wear OS 5 veya sonraki sürümleri çalıştıran cihazlarda kadranınıza erişimi kısıtlamak istemiyorsanız biri 2. sürümü, diğeri 1. sürümü destekleyen 2 farklı kadran APK'sı oluşturun. Uygulamanızın sürümlerini yapılandırma hakkında daha fazla bilgi edinin.

<manifest ...>
    <!--
        Use SDK version 34 for version 2 of WFF, and SDK version 33 for version
        1 of WFF
    -->
    <uses-sdk
        android:minSdkVersion="34"
        android:targetSdkVersion="34" />

    <!--
        WFF is a resource-only format, so the hasCode attribute should be set to
        false to reflect this.
    -->
    <application
        android:label="@string/watch_face_name"
        android:hasCode="false"
        ...>
        <meta-data android:name="com.google.android.wearable.standalone"
            android:value="true" />
        <property
            android:name="com.google.wear.watchface.format.version"
            android:value="2" />
    </application>
</manifest>

Kadran meta verilerini beyan etme

Uygulamanızın res/xml kaynaklar dizininde watch_face_info.xml adlı yeni bir dosya oluşturun. Kadranınızın meta verilerini burada tanımlarsınız:

<?xml version="1.0" encoding="utf-8"?>
<WatchFaceInfo>

    <Preview value="@drawable/watch_face_preview" />
    <Category value="CATEGORY_EMPTY" />
    <AvailableInRetail value="true" />
    <MultipleInstancesAllowed value="true" />
    <Editable value="true" />
</WatchFaceInfo>

Bu dosyadaki alanlar aşağıdaki ayrıntıları temsil eder:

Preview
Kadranın önizleme resmini içeren çizilebilir öğeyi referans alır.
Category

Kadranın kategorisini tanımlar. Bir dize veya @string/ref_name gibi bir dizeye referans olmalıdır. Her cihaz üreticisi kendi kadran kategorilerini tanımlayabilir.

Varsayılan değer: empty_category_meta. Bu değer, kadran seçici görünümünün en altındaki diğer "boş kategori" kadranlarıyla birlikte bu kadranı gruplandırır.

AvailableInRetail

Kadran, cihazın perakende demo modunda kullanılabilir mi? Boole değeri veya @bool/watch_face_available_in_retail gibi bir boole değerine referans olmalıdır.

Varsayılan değer: false

MultipleInstancesAllowed

Kadran için birden fazla favori olup olamayacağı. Boole değeri veya @bool/watch_face_multiple_instances_allowed gibi bir boole değerine referans olmalıdır.

Varsayılan değer: false

Editable

Kadranın düzenlenebilir olup olmadığı (yani kadranda bir ayar veya en az bir sabit olmayan komplikasyon bulunması). Bu, favoriler listesindeki kadran için Düzenle düğmesini göstermek veya gizlemek amacıyla kullanılır.

Varsayılan değer: false

Kadran adını belirtme

Uygulamanızın manifest dosyasında (AndroidManifest.xml), android:label özelliğini kadranınızın adına ayarlayın:

<application android:label="@string/watch_face_name" >

Kadran ayrıntılarını belirtme

Temel bir WFF kadran belgesinin yapısı aşağıdaki gibidir:

<WatchFace width="450" height="450">
  <Scene>
    <!-- Content to be rendered -->
  </Scene>
</WatchFace>

Tek bir kadranla çalışıyorsanız kadranınızı oluştururken bu XML dosyasını res/raw/watchface.xml olarak oluşturun. Farklı ekran şekillerini ve boyutlarını desteklemek için birden fazla şekil ve boyut için destek beyan edin.

Kök öğe her zaman WatchFace şeklindedir. height ve width, kadranınızda kullanılacak koordinat alanının kapsamını tanımlar. Kadran, kullanıldığı cihaza sığacak şekilde ölçeklendirilir. height ve width gerçek pikselleri temsil etmez.

Saat Kadranı Formatı, kadranınızla ilgili çeşitli ayrıntıları düzenler:

  • Kadranınızın önizleme resminde gösterilen saat ve adım sayısı gibi meta veriler.
  • Kadranınız için farklı renk temaları, kullanıcı tarafından değiştirilebilir öğeler ve çeşitli öğeler arasından seçim yapma gibi kullanıcı yapılandırmaları. 2. sürümdeki kadran biçimi, kullanıcı yapılandırmasında görünebilen lezzetleri kullanıma sunar. Her bir çeşni, kadranınızda saatle birlikte görünen öğelerin türünü ve stilini belirten önceden ayarlanmış bir kullanıcı yapılandırması belirtir. Bu hazır ayarlar, görsel açıdan hoş öğe grupları oluşturmanızı kolaylaştırır. Wear OS tamamlayıcı uygulamasında kullanıcılar, kadranınızın farklı versiyonlarını kaydırılabilir bir satırda görür.
  • Kadranın görsel öğelerini içeren bir sahne. Sahnenin sonuna daha yakın görünen öğeler diğer öğelerin üzerinde görünür. Bu nedenle, genel sıralama aşağıdaki gibidir:
    • Analog saatin ibreleri veya dijital saatin metni
    • Haftanın günü veya kullanıcının adım sayısı gibi ek bilgileri gösteren komplikasyonlar
    • Kadran için görsel ilgi veya süsleme sağlayan diğer grafikler (ör. kamp alanı resmi)
  • Aynı anda birden fazla öğeyi değiştirmenize olanak tanıyan öğe grupları. Bir sahnede bu grupların varyantlarını oluşturabilirsiniz. Bu sayede, sistem güç tasarrufu sağlayan ortam moduna girdiğinde içeriği seçerek gizleyebilir veya değiştirebilirsiniz.

Özellikler güçlü bir şekilde yazılmıştır ve kadran oluştururken hata kaynaklarının çoğunu önlemek için sıklık ve geçerli değerlerle ilgili kurallara sahiptir.

Kadran şekilleri için destek beyanı (isteğe bağlı)

Bu adım yalnızca farklı kadran boyutları için farklı davranışları desteklemek istiyorsanız gereklidir. Kadranınızın saatin boyutuna göre ölçeklenmesini istiyorsanız bu adımı atlayabilirsiniz.

Uygulamanızın res/xml kaynak dizininde, watch_face_shapes.xml içinde desteklediğiniz kadran şekli grubunu beyan edin:

<WatchFaces>

    <WatchFace shape="CIRCLE" width="300" height="300"
               file="@raw/watchface"/>
    <WatchFace shape="CIRCLE" width="450" height="450"
               file="@raw/watchface_large_circle"/>

    <!-- Remove any references to rectangular watch faces -->
    <WatchFace shape="RECTANGLE" width="380" height="400"
               file="@raw/watchface_rectangle"/>
</WatchFaces>

Ardından, her kadran şekli için kadran görünümünüzü ve davranışını tanımlayın. Şekil dosyası tanımlamadıysanız yalnızca bir dosya (watchface.xml) oluşturmanız gerekir.

Bu bölümdeki örnekten yararlanarak ham XML dosyaları şu şekilde olur:

  • res/raw/watchface.xml
  • res/raw/watchface_large_circle.xml
  • res/raw/watchface_rectangle.xml

Kadran yayıncısını tanımlama (isteğe bağlı)

İsteğe bağlı olarak, uygulamanızın manifest dosyasında, kadranın yayıncısını veya kullandığınız araç adını ve sürümünü tanımlamak için kullanabileceğiniz bir dize tanımlayabilirsiniz:

<application ...>
    ...
    <property
        android:name="com.google.wear.watchface.format.publisher"
        android:value="<var>{toolName}-{toolVersion}</var>" />
</application>

Kadranınızın doğruluğunu ve performansını kontrol etme

Geliştirme sırasında ve Google Play'e yüklemeden önce, kadranınızın hata içermediğini ve bellek kullanımı önerilerine uyduğunu kontrol etmek için doğrulayıcı araçlarını kullanın.

Kadran uygulama paketinizi oluşturma

Kadranınızı içeren Android App Bundle'ı derlemek için Gradle derleme sistemini kullanın. Gradle'i kullanarak uygulama oluşturma hakkında daha fazla bilgi edinin.

Bu işlem GitHub örneklerinde gösterilmektedir.