خدمة إنشاء أوجه الساعه

الإعلانات

خدمة إنشاء أوجه الساعه

 

 

خدمة إنشاء أوجه الساعه

وجه الساعة عبارة عن خدمة تم حزمها في تطبيق مصمم بواسطة نظام تشغيل الساعات. عندما يختار المستخدم وجه ساعة متاح، يتم عرض وجه الساعة ويتم تنفيذ دوال طلب الخدمة.

عندما يثبّت أحد المستخدمين تطبيق ساعه، يحتوي على أوجه ساعه، تكون أوجه الساعة متوفرة على الساعة، من خلال محدد وجه الساعة.

بدلاً من ذلك، يمكن للمستخدم تحديد وجه للساعه، من التطبيق المصاحب على الهاتف المقترن.

هذه الصفحة، تصف كيفية تهيئة مشروع نظام تشغيل الساعات، ليشمل أوجه الساعة وكيفية تنفيذ خدمة وجه الساعه.

اقرأ المصادر التالية:

أوجه الساعة التفاعليه
نموذج لوجه الساعه
كود إختبار لإنشاء وجه للساعه

 

 

 

 

 

إنشاء مشروع لوجه الساعة


 

لإنشاء مشروع لوجه الساعه في أندرويد ستوديو: خدمة إنشاء أوجه الساعه

1- أنقر فوق ملف> جديد> مشروع جديدخدمة إنشاء أوجه الساعه

2- في نافذة إنشاء مشروع أندرويد، قم بقبول القيم الإفتراضية ثم أنقر فوق التالي.

3- في نافذة أجهزة الأندرويد المستهدفه، حدد خيار الساعه فقط، وفي قائمة إصدارات SDK، حدد أحدث إصدار متاح. ثم أنقر فوق التالي.

4- في نافذة إضافة نشاط للساعه، حدد وجه الساعه ثم أنقر فوق التالي.

5- في نافذة تكوين النشاط، قم بقبول القيم الإفتراضية ثم أنقر فوق إنهاء.

ينشئ أندرويد ستوديو مشروع بوحدة تطبيق app نمطية لخدمة وجه الساعة. لمزيد من المعلومات حول المشاريع في أندرويد ستوديو، راجع إنشاء مشروع.

 

 

الإعتمادات

توفر مكتبة دعم الساعات الفئات الضرورية، التي تقوم بتوسيعها، لإنشاء تطبيقات وجه الساعة.

إن مكتبات عملاء خدمات قوقل بلي ( play-services و play-services-wearable)، تكون مطلوبة لمزامنة عناصر البيانات..

بين الهاتف المقترن والساعه، بإستخدام واجهة برمجة تطبيقات طبقة البيانات.

يعمل أندرويد ستوديو تلقائياً، على إضافة الإدخالات المطلوبة، في ملفات البناء build.gradle عند إنشاء المشروع، كما في الإرشادات المذكورة أعلاه.

 

 

مرجع واجهة برمجة تطبيقات مكتبة دعم الساعات

توفر الوثائق المرجعية معلومات تفصيلية حول الفئات التي تقوم بإستخدامها لتنفيذ أوجه الساعة. تصفح الوثائق المرجعية لواجهة برمجة تطبيقات مكتبة دعم الساعات.

ملاحظة: نوصي بإستخدام أندرويد ستوديو لتطوير تطبيقات تعمل بنظام تشغيل الساعات، لأنه يوفر إعداد للمشروع، وإدراج للمكتبة، ووسائل مريحة للحزم.

 

 

إعلان الأذونات

يتطلب وجه الساعة الحصول على إذن “قفل التنبيه” WAKE_LOCK. أضف الإذن التالي إلى ملفات الإيضاح الخاصة بكلٍ من، تطبيق الساعه وتطبيق الهاتف ضمن عنصر الإيضاح:

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

 

تحذير: يجب أن يحتوي تطبيق الساعه على جميع الأذونات المعلنة في تطبيق الساعه.

 

 

 

تنفيذ الخدمة ودوال الإستدعاء


يتم تنفيذ أوجه الساعه في نظام تشغيل الساعات كخدمات. عندما يكون وجه الساعة نشطاً، يقوم النظام بطلب الدوال في خدمته..

عندما يتغير الوقت أو عند حدوث، حدثٍ مهم (مثل التبديل إلى الوضع المحيطي أو تلقي إشعار جديد).

عندها يقوم تطبيق الخدمة، بعرض وجه الساعة على الشاشة، بإستخدام الوقت المحدث وأي بيانات أخرى ذات صلة.

لتنفيذ وجه للساعة، يمكنك توسيع الفئات CanvasWatchFaceService و CanvasWatchFaceService.Engine..

ثم تقوم بتجاوز دوال الإستدعاء في فئة CanvasWatchFaceService.Engine. هذه الفئات موجودة في مكتبة دعم الساعات.

يوضح المقتطف التالي الدوال الرئيسية التي تحتاج إلى تنفيذها:

KOTLIN

class AnalogWatchFaceService : CanvasWatchFaceService() {

    override fun onCreateEngine(): Engine {
        /* provide your watch face implementation */
        return Engine()
    }

    /* implement service callback methods */
    inner class Engine : CanvasWatchFaceService.Engine() {

        override fun onCreate(holder: SurfaceHolder) {
            super.onCreate(holder)
            /* initialize your watch face */
        }

        override fun onPropertiesChanged(properties: Bundle?) {
            super.onPropertiesChanged(properties)
            /* get device features (burn-in, low-bit ambient) */
        }

        override fun onTimeTick() {
            super.onTimeTick()
            /* the time changed */
        }

        override fun onAmbientModeChanged(inAmbientMode: Boolean) {
            super.onAmbientModeChanged(inAmbientMode)
            /* the wearable switched between modes */
        }

        override fun onDraw(canvas: Canvas, bounds: Rect) {
            /* draw your watch face */
        }

        override fun onVisibilityChanged(visible: Boolean) {
            super.onVisibilityChanged(visible)
            /* the watch face became visible or invisible */
        }
    }
}

 

JAVA

public class AnalogWatchFaceService extends CanvasWatchFaceService {

    @Override
    public Engine onCreateEngine() {
        /* provide your watch face implementation */
        return new Engine();
    }

    /* implement service callback methods */
    private class Engine extends CanvasWatchFaceService.Engine {

        @Override
        public void onCreate(SurfaceHolder holder) {
            super.onCreate(holder);
            /* initialize your watch face */
        }

        @Override
        public void onPropertiesChanged(Bundle properties) {
            super.onPropertiesChanged(properties);
            /* get device features (burn-in, low-bit ambient) */
        }

        @Override
        public void onTimeTick() {
            super.onTimeTick();
            /* the time changed */
        }

        @Override
        public void onAmbientModeChanged(boolean inAmbientMode) {
            super.onAmbientModeChanged(inAmbientMode);
            /* the wearable switched between modes */
        }

        @Override
        public void onDraw(Canvas canvas, Rect bounds) {
            /* draw your watch face */
        }

        @Override
        public void onVisibilityChanged(boolean visible) {
            super.onVisibilityChanged(visible);
            /* the watch face became visible or invisible */
        }
    }
}

 

 

 

توفر الفئة CanvasWatchFaceService آلية إبطال مشابهه للداله ()View.invalidate .

يمكنك إستدعاء دالة ()invalidate طوال عملية التنفيذ، عندما ترغب أن يقوم النظام بإعادة عرض وجه الساعة.

يمكنك إستخدام الداله ()invalidate فقط في التسلسل الرئيسي، لواجهة المستخدم. لإبطال اللوحة من تسلسل آخر، قم بإستدعاء دالة ()postInvalidate .

لمزيد من المعلومات حول تنفيذ الدوال في فئة CanvasWatchFaceService.Engine، راجع رسم أوجه الساعه.

 

 

 

 

تسجيل خدمة وجه الساعه


بعد تنفيذ خدمة وجه الساعة، قم بتسجيل التنفيذ في ملف الإيضاح الخاص بتطبيق الساعه.

عندما يقوم المستخدمون بتثبيت هذا التطبيق، يستخدم النظام المعلومات عن الخدمة لجعل وجه الساعة، متاحاً في التطبيق المرافق لنظام تشغيل الساعات، وفي منتقي وجه الساعة الموجود على الساعه.

يوضح المقتطف التالي كيفية تسجيل “تنفيذ وجه الساعة” تحت عنصر التطبيق:

<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"
        android:resource="@drawable/preview_analog" />
    <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>

 

يستخدم التطبيق المصاحب لنظام تشغيل الساعات، ومنتقي وجه الساعه، في الساعه صورة المعاينة..

المحددة بواسطة com.google.android.wearable.watchface.preview إدخال البيانات الوصفية عند عرض كافة أوجه الساعة المثبته على جهاز المستخدمين.

للحصول على هذه الرسوميات، شغّل وجه الساعة، على الساعه أو على محاكي الساعه، و خذ لقطة للشاشة.

في أجهزة نظام تشغيل الساعات المزودة بشاشات hdpi، تكون صورة المعاينة عادة بحجم 320×320 بكسل.

أوجه الساعة التي تبدو مختلفة بشكلٍ كبير، على الأجهزة الدائرية، يمكنها توفير صور معاينة لكل من الأجهزة الدائرية و المربعة.

لتحديد صورة معاينة مستديرة، إستخدم الإدخال com.google.android.wearable.watchface.preview_circular metadata.

إذا كان وجه الساعة يتضمن كلتا صور المعاينة، فسيقوم التطبيق المصاحب ومنتقي الشاشة على الساعه، بعرض الصورة المناسبة، بناءً على شكل الساعة.

إذا لم يتم تضمين صورة المعاينة المستديرة، يتم إستخدام صورة المعاينة المربعه لكلٍ من الأجهزة المربعة ودائرية الشكل.

بالنسبة للأجهزة الدائرية، يتم إقتصاص صورة المعاينة المربعة بإستخدام شكلٍ دائري.

يحدد إدخال البيانات الوصفية android.service.wallpaper ملف المصدر watch_face.xml، والذي يحتوي على عنصر الخلفية wallpaper:

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

 

يمكن أن يحتوي تطبيق الساعه، على أكثر من وجه للساعة. يجب عليك إضافة إدخال خدمة إلى ملف الإيضاح، الخاص بتطبيق الساعه لكلٍ من عمليات تنفيذ وجه الساعة التي قمت بتنفيذها.

 

 


للإطلاع على المقال باللغة الإنجليزية أضغط هنا.

الإعلانات