Tarcza zegarka to usługa w aplikacji na Wear OS. Gdy użytkownik wybierze dostępną tarczę, pojawi się tarcza metody wywołania zwrotnego usługi.
Gdy użytkownik zainstaluje aplikację Wear z tarczami, tarcze są dostępne na zegarku. Użytkownik może też wybrać tarczę zegarka z aplikacji towarzyszącej na sparowanym telefonie.
Z tego artykułu dowiesz się, jak skonfigurować projekt na Wear OS, aby uwzględniać tarcze zegarka wdrożyć usługę tarczy zegarka.
Tworzenie projektu tarczy zegarka
Uwaga: do programowania na Wear OS zalecamy używanie Android Studio. zapewnia konfigurację projektu, włączenie biblioteki i ułatwienia w tworzeniu pakietów.
Wykonaj te czynności, aby utwórz projekt w Android Studio na tarczy zegarka:
- Kliknij Plik > Nowe > Nowy projekt.
- W oknie Wybierz szablon projektu kliknij kartę Wear, a następnie wybierz Tarczę zegarka z listy opcji i kliknij Dalej.
- W oknie Configure your project (Skonfiguruj projekt) zaakceptuj domyślne i kliknij Zakończ.
Android Studio utworzy projekt z modułem app
na potrzeby usługi tarczy zegarka.
Zależności
Android Studio automatycznie dodaje wymagane zależności w narzędziu build.gradle
.
. Zależności zawierają
AndroidX
biblioteka tarcz zegarka, zobacz
przykładowy kod na GitHubie.
Dokumentacja API biblioteki pomocy do noszenia
Dokumentacja zawiera szczegółowe informacje o klasach, których używasz do i wdrożyć tarcze zegarka. Przeglądaj Dokumentacja API dokumentacji biblioteki pomocy dotyczącej urządzeń do noszenia.
Deklarowanie uprawnień
Tarcza zegarka wymaga uprawnienia WAKE_LOCK
.
Dodaj te uprawnienia do plików manifestu aplikacji na Wear OS
oraz aplikację na telefon komórkowy w elemencie manifest
:
<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>
Obsługa bezpośredniego rozruchu
Musisz udostępnić tarczę zegarka przed odblokowaniem użytkownika. W tym celu wykonaj Wskazówki dotyczące bezpośredniego uruchamiania:
- Ustaw wartość atrybutu
android:directBootAware
natrue
dla swojej usługi w pliku manifestu. - Tarcza zegarka powinna przechowywać informacje w: zaszyfrowanego urządzenia.
Wdrażanie metod usługi i wywołań zwrotnych
Tarcze zegarka w Wear OS są zaimplementowane jako
WatchFaceService
Implementacja obiektu WatchFaceService
wymaga utworzenia 3 obiektów:
UserStyleSchema
, ComplicationSlotsManager
i
WatchFace
Te 3 obiekty są określane przez zastąpienie 3 metod abstrakcyjnych z
WatchFaceService
w tym przykładzie:
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 = // ... }
Rejestrowanie usługi tarczy zegarka
Po wdrożeniu usługi tarczy zegarka zarejestruj implementację w pliku manifestu z aplikacji do noszenia. Gdy użytkownicy zainstalują tę aplikację, system użyje informacji o: aby udostępnić tarczę zegarka w aplikacji towarzyszącej Wear OS i w selektorze tarcz zegarka na urządzeniu do noszenia.
Z przykładu poniżej dowiesz się, jak zarejestrować implementację tarczy zegarka
w
Element <application>
:
<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>
Aplikacja towarzysząca Wear OS by Google i selektor tarcz zegarka na urządzeniu do noszenia korzystają z wersji testowej
obraz zdefiniowany przez wpis metadanych com.google.android.wearable.watchface.preview_circular
, gdy
wyświetlanie użytkownikom wszystkich tarcz zegarka zainstalowanych na urządzeniu. Aby uzyskać ten obiekt rysowalny,
uruchom tarczę zegarka na urządzeniu z Wear OS lub w instancji emulatora –
zrobienie zrzutu ekranu. Na Wear
urządzeń wyposażonych w ekran hdpi, obraz podglądu ma zwykle 320 x 320 pikseli.
Wpis metadanych android.service.wallpaper
określa
watch_face.xml
plik zasobów, który zawiera wallpaper
jak w tym przykładzie:
<?xml version="1.0" encoding="UTF-8"?> <wallpaper xmlns:android="http://schemas.android.com/apk/res/android" />
Aplikacja do noszenia może zawierać więcej niż 1 tarczę zegarka. Do parametru plik manifestu aplikacji do noszenia dla każdej implementacji tarczy zegarka.
Przydatne materiały
Zapoznaj się z tymi powiązanymi materiałami: