Saat Yüzü Biçimi kurulumu

Bu kılavuzda, Saat Kadranı Formatı'nı 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ı Saat Kadranı Formatı'nı kullanmaya 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 ihtiyaç duymuyorsa 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.

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<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"
        ...>
        <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>
    <!-- Only "Preview" is required. -->
    <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 görüntüsünü içeren çekmeceye referans veriyor.
Category

Kadranın kategorisini tanımlar. Bir dize veya @string/ref_name gibi bir dizeye referans olmalıdır. Her cihaz üreticisi kendi kadran kategorisini 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ın cihazın perakende demo modunda kullanılabilir olup olmadığı. 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 kadranın bir ayara veya sabit olmayan en az bir komplikasyona sahip olup olmadığı. 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 ş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çeklenmesinden memnunsanız bu adımı atlayabilirsiniz.

Uygulamanızın res/xml kaynak dizininde, watch_face_shapes.xml ürününde desteklediğiniz kadran şekillerini tanımlayın:

<WatchFaces>
    <!-- The default shape is "CIRCLE". -->
    <WatchFace shape="CIRCLE" width="300" height="300"
               file="@raw/watchface"/>
    <WatchFace shape="CIRCLE" width="450" height="450"
               file="@raw/watchface_large_circle"/>
    <WatchFace shape="RECTANGLE" width="380" height="400"
               file="@raw/watchface_rectangle"/>
</WatchFaces>

Kadran ayrıntılarını belirtme

Uygulamanızın res/raw kaynaklar dizininde, kadran şekillerini desteklediğinizi beyan ettiğinizde kullanılan file özellik değerlerine karşılık gelen dosyalar oluşturun.

Her kadran şekli için kadran görünümünü ve davranışını burada tanımlarsınız. Şekil dosyası tanımlamadıysanız tek bir dosya oluşturmanız gerekir: watchface.xml.

Bu sayfadaki örnekten yararlanarak ham XML dosyaları şu şekilde olur:

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

Kök öğe her zaman WatchFace şeklindedir:

<WatchFace width="450" height="450" clipShape="CIRCLE">
    <!-- Remainder of your Watch Face Format definition here. -->
    <!-- If this file defines a watch face for a circular device shape, place
         resources used in this file in the "/res/drawable-nodpi" directory. -->
    <!-- If this file defines a watch face for a rectangular or other
         non-circular shape, place resources ued in this file in the
         "/res/drawable-notround-nodpi" directory. -->
</WatchFace>

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ımlayın:

<application ...>
    ...
    <property
        android:name="com.google.wear.watchface.format.publisher"
        android:value="{toolName}-{toolVersion}" />
</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ğinden ve bellek kullanımı önerilerine uygun olduğundan emin olmak 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.