स्मार्टवॉच की होम स्क्रीन के लिए ऐप्लिकेशन बनाएं

स्मार्टवॉच की होम स्क्रीन एक सेवा है ऐप्लिकेशन को Wear OS ऐप्लिकेशन में पैकेज किया गया हो. जब कोई उपयोगकर्ता स्मार्टवॉच की उपलब्ध होम स्क्रीन को चुनता है, तो स्मार्टवॉच की होम स्क्रीन दिखती है और सेवा कॉलबैक मेथड शुरू किए जाते हैं.

जब कोई उपयोगकर्ता ऐसा Wear ऐप्लिकेशन इंस्टॉल करता है जिसमें स्मार्टवॉच की होम स्क्रीन होती हैं, तो वॉच की होम स्क्रीन चुनने वाले टूल का इस्तेमाल करके, स्मार्टवॉच में होम स्क्रीन देखे जा सकते हैं. इसके अलावा, उपयोगकर्ता जोड़े गए फ़ोन पर साथी ऐप्लिकेशन की मदद से भी, स्मार्टवॉच की होम स्क्रीन चुन सकता है.

इस पेज पर, स्मार्टवॉच की होम स्क्रीन को शामिल करने के लिए Wear OS प्रोजेक्ट को कॉन्फ़िगर करने का तरीका और तरीका बताया गया है वॉच फ़ेस सेवा लागू करने के लिए.

स्मार्टवॉच की होम स्क्रीन के लिए प्रोजेक्ट बनाना

ध्यान दें: हमारा सुझाव है कि आप Wear OS को डेवलप करने के लिए, Android Studio का इस्तेमाल करें, जैसे कि यह प्रोजेक्ट सेटअप, लाइब्रेरी में शामिल करने की सुविधा, और पैकेजिंग से जुड़ी सुविधाएं देता है.

इसके लिए, नीचे दिया गया तरीका अपनाएं प्रोजेक्ट बनाना Android Studio में अपनी स्मार्टवॉच की होम स्क्रीन के लिए:

  1. फ़ाइल > नया > नया प्रोजेक्ट.
  2. प्रोजेक्ट टेंप्लेट चुनें विंडो में, Wear टैब पर जाएं. इसके बाद, विकल्पों की सूची में Watch Face और आगे बढ़ें पर क्लिक करें.
  3. अपना प्रोजेक्ट कॉन्फ़िगर करें विंडो में, स्वीकार करें डिफ़ॉल्ट वैल्यू चुनें और पूरा करें पर क्लिक करें.

Android Studio, स्मार्टवॉच की होम स्क्रीन के लिए app मॉड्यूल का इस्तेमाल करके एक प्रोजेक्ट बनाता है.

डिपेंडेंसी

Android Studio, ज़रूरी डिपेंडेंसी को build.gradle में अपने-आप जोड़ देता है फ़ाइलें शामिल हैं. डिपेंडेंसी में यह शामिल है: AndroidX स्मार्टवॉच की होम स्क्रीन वाली लाइब्रेरी; देखें इस लाइब्रेरी के बारे में जानकारी के लिए, GitHub पर कोड सैंपल देखें.

पहने जाने वाले डिवाइस से जुड़ी सहायता लाइब्रेरी एपीआई के बारे में जानकारी

रेफ़रंस दस्तावेज़ में उन क्लास के बारे में पूरी जानकारी मिलती है जिनका इस्तेमाल किया जाता है वॉच की होम स्क्रीन लागू करें. ब्राउज़ करें एपीआई के बारे में जानकारी Wearable की सहायता लाइब्रेरी के लिए दस्तावेज़.

अनुमतियों का एलान करना

स्मार्टवॉच की होम स्क्रीन के लिए, WAKE_LOCK की अनुमति की ज़रूरत होती है. Wear OS ऐप्लिकेशन, दोनों की मेनिफ़ेस्ट फ़ाइलों में यह अनुमति जोड़ें और 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>

डायरेक्ट-बूट के साथ काम करता है

उपयोगकर्ता को अनलॉक करने से पहले, आपको अपनी स्मार्टवॉच की होम स्क्रीन उपलब्ध कराने के लिए, नीचे दिए गए निर्देशों का पालन करना होगा डायरेक्ट बूट के लिए दिशा-निर्देश:

  1. इसमें अपनी सेवा के लिए, android:directBootAware एट्रिब्यूट को true पर सेट करें मेनिफ़ेस्ट फ़ाइल में दी गई जानकारी शामिल न करें.
  2. आपकी स्मार्टवॉच की होम स्क्रीन पर जानकारी में सेव होनी चाहिए डिवाइस का एन्क्रिप्ट (सुरक्षित) किया गया स्टोरेज.

सेवा और कॉलबैक के तरीके लागू करें

Wear OS में, स्मार्टवॉच की होम स्क्रीन इस तरह लागू की जाती हैं: WatchFaceService. WatchFaceService लागू करने के लिए तीन ऑब्जेक्ट बनाने होते हैं: a UserStyleSchema, ComplicationSlotsManager, और WatchFace.

इन तीन ऑब्जेक्ट से तीन अमूर्त विधियों को ओवरराइड किया जाता है WatchFaceService, इस उदाहरण में दिखाया गया है:

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 = // ...

}

स्मार्टवॉच की होम स्क्रीन के लिए सेवा रजिस्टर करें

स्मार्टवॉच की होम स्क्रीन वाली सेवा चालू करने के बाद, लागू करने की प्रोसेस को मेनिफ़ेस्ट में रजिस्टर करें डाउनलोड करें. जब उपयोगकर्ता इस ऐप्लिकेशन को इंस्टॉल करते हैं, तब सिस्टम में स्मार्टवॉच की होम स्क्रीन उपलब्ध कराने की सेवा Wear OS का साथी ऐप्लिकेशन और पहने जाने वाले डिवाइस की होम स्क्रीन चुनने वाले टूल में.

नीचे दिए गए सैंपल में, स्मार्टवॉच की होम स्क्रीन को लागू करने के लिए रजिस्टर करने का तरीका बताया गया है के अंतर्गत <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>

पहने जाने वाले डिवाइस पर, Wear OS by Google का साथी ऐप्लिकेशन और स्मार्टवॉच की होम स्क्रीन चुनने वाला टूल, झलक का इस्तेमाल करता है com.google.android.wearable.watchface.preview_circular मेटाडेटा एंट्री से तय की गई इमेज जब इससे उपयोगकर्ता को डिवाइस पर इंस्टॉल की गई सभी होम स्क्रीन दिखती हैं. इस ड्रॉएबल को पाने के लिए, अपने Wear OS डिवाइस या एम्युलेटर इंस्टेंस में स्मार्टवॉच की होम स्क्रीन चलाएं और स्क्रीनशॉट लें. Wear पर hdpi स्क्रीन वाले डिवाइस पर, पूर्वावलोकन इमेज आमतौर पर 320x320 पिक्सेल की होती है.

android.service.wallpaper मेटाडेटा एंट्री में watch_face.xml संसाधन फ़ाइल, जिसमें एक wallpaper है तत्व, जैसा कि नीचे दिए गए नमूने में दिखाया गया है:

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

पहने जाने वाले ऐप्लिकेशन में, स्मार्टवॉच की एक से ज़्यादा होम स्क्रीन हो सकती हैं. आपको आपकी स्मार्टवॉच की हर होम स्क्रीन को लागू करने के लिए, पहने जाने वाले ऐप्लिकेशन की मेनिफ़ेस्ट फ़ाइल अपलोड करती है.

यहां दिए गए मिलते-जुलते संसाधनों को देखें: