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:
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: