Saat yüzü hizmeti oluşturma

Kadran, Wear OS uygulamasında paketlenmiş bir hizmettir. Kullanıcı, kullanılabilir kadran seçtiğinde kadran görüntülenir ve hizmet geri çağırma yöntemleri çağrılır.

Bir kullanıcı, kadranlar içeren bir Wear uygulaması yüklediğinde, kadranlar kadran seçici aracılığıyla saatte kullanılabilir. Alternatif olarak kullanıcı, eşlenen telefondaki bir tamamlayıcı uygulamadan kadran seçebilir.

Bu sayfada, bir Wear OS projesinin kadran içerecek şekilde nasıl yapılandırılacağı ve kadran hizmetinin nasıl uygulanacağı açıklanmaktadır.

Kadran projesi oluşturma

Not: Proje kurulumu, kitaplığa dahil etme ve paketleme kolaylığı sağladığından Wear OS geliştirme için Android Studio'yu kullanmanızı öneririz.

Kadranınız için Android Studio'da bir proje oluşturmak üzere aşağıdaki adımları uygulayın:

  1. Dosya > Yeni > Yeni proje'yi tıklayın.
  2. Proje şablonu seçin penceresinde Wear sekmesini seçin, ardından seçenekler listesinden Kadran'ı seçip İleri'yi tıklayın.
  3. Projenizi yapılandırın penceresinde varsayılan değerleri kabul edin ve Son'u tıklayın.

Android Studio, kadran hizmetiniz için app modülü olan bir proje oluşturur.

Bağımlılıklar

Android Studio, gerekli bağımlılıkları build.gradle dosyalarınıza otomatik olarak ekler. Bağımlılıklara AndroidX kadran kitaplığı dahildir. Bu kitaplıkla ilgili ayrıntılı bilgi için GitHub'daki kod örneğine bakın.

Giyilebilir cihaz destek kitaplığı API referansı

Referans belgelerinde, kadranları uygulamak için kullandığınız sınıflar hakkında ayrıntılı bilgi verilmektedir. Giyilebilir cihaz destek kitaplığı için API referans belgelerine göz atın.

İzinleri beyan et

Kadran kullanmak için WAKE_LOCK izni gerekir. manifest öğesinin altındaki hem Wear OS uygulamasının hem de cep telefonu uygulamasının manifest dosyalarına aşağıdaki izni ekleyin:

<manifest ...>
    <uses-permission
        android:name="android.permission.WAKE_LOCK" />

    <!-- Required for complications to receive complication data and open the provider chooser. -->
    <uses-permission
        android:name="com.google.android.wearable.permission.RECEIVE_COMPLICATION_DATA"/>
    ...
</manifest>

Doğrudan başlatmayı destekler

Doğrudan Başlatma yönergelerini uygulayarak kadranınızı kullanıcı kilidini açmadan önce kullanılabilir hale getirmeniz gerekir:

  1. Manifest'inizde hizmetiniz için android:directBootAware özelliğini true olarak ayarlayın.
  2. Kadranınız cihazla şifrelenmiş depolama alanında bilgi depolayacaktır.

Hizmet ve geri çağırma yöntemlerini uygulama

Wear OS'teki kadranlar WatchFaceService olarak uygulanmıştır. WatchFaceService uygulamak için üç nesne oluşturulması gerekir: UserStyleSchema, ComplicationSlotsManager ve WatchFace.

Bu üç nesne, aşağıdaki örnekte gösterilen WatchFaceService parametresindeki üç soyut yöntemi geçersiz kılarak belirtilir:

Kotlin

class CustomWatchFaceService : WatchFaceService() {

    /**
     * The specification of settings the watch face supports.
     * This is similar to a database schema.
     */
    override fun createUserStyleSchema(): UserStyleSchema = // ...

    /**
     * The complication slot configuration for the watchface.
     */
    override fun createComplicationSlotsManager(
        currentUserStyleRepository: CurrentUserStyleRepository
    ): ComplicationSlotsManager = // ...

    /**
     * The watch face itself, which includes the renderer for drawing.
     */
    override suspend fun createWatchFace(
        surfaceHolder: SurfaceHolder,
        watchState: WatchState,
        complicationSlotsManager: ComplicationSlotsManager,
        currentUserStyleRepository: CurrentUserStyleRepository
    ): WatchFace = // ...

}

Kadran hizmetini kaydettirin

Kadran hizmetini uyguladıktan sonra söz konusu uygulamayı giyilebilir uygulamanın manifest dosyasına kaydedin. Kullanıcılar bu uygulamayı yüklediğinde sistem, kadranın Wear OS tamamlayıcı uygulamasında ve giyilebilir cihazdaki kadran seçicide kullanılabilir hale gelmesi için hizmetle ilgili bilgileri kullanır.

Aşağıdaki örnekte, <application> öğesi altında kadran uygulamasının nasıl kaydedileceği gösterilmektedir:

<service
    android:name=".AnalogWatchFaceService"
    android:label="@string/analog_name"
    android:permission="android.permission.BIND_WALLPAPER" >
    <meta-data
        android:name="android.service.wallpaper"
        android:resource="@xml/watch_face" />
    <meta-data
        android:name="com.google.android.wearable.watchface.preview_circular"
        android:resource="@drawable/preview_analog_circular" />
    <intent-filter>
        <action android:name="android.service.wallpaper.WallpaperService" />
        <category
            android:name=
            "com.google.android.wearable.watchface.category.WATCH_FACE" />
    </intent-filter>
</service>

Wear OS by Google tamamlayıcı uygulaması ve giyilebilir cihazdaki kadran seçici, kullanıcılara cihazda yüklü tüm kadranları sunarken com.google.android.wearable.watchface.preview_circular meta veri girişi tarafından tanımlanan önizleme resmini kullanır. Bu çizimi elde etmek için kadranınızı Wear OS cihazınızda veya bir emülatör örneğinde çalıştırın ve ekran görüntüsü alın. HD ekranlı Wear cihazlarda önizleme resmi genellikle 320x320 piksel boyutundadır.

android.service.wallpaper meta veri girişi, aşağıdaki örnekte gösterildiği gibi, wallpaper öğesi içeren watch_face.xml kaynak dosyasını belirtir:

<?xml version="1.0" encoding="UTF-8"?>
<wallpaper xmlns:android="http://schemas.android.com/apk/res/android" />

Giyilebilir cihaz uygulamanızda birden fazla kadran bulunabilir. Kadran uygulamalarınızın her biri için giyilebilir uygulamanın manifest dosyasına bir hizmet girişi eklemeniz gerekir.

Aşağıdaki ilgili kaynaklara bakın: