شرح App Shortcuts

احمد الجعيدمنذ 7 سنوات

قامت شركة قوقل باطلاق انسخة ٧.١ من نظام نوقا ولم يكن التحديث لاصلاح المشاكل وانما جلب معه بعض المميزات الجديدة ولعل من ابرزها هو اختصارات التطبيق  App Shortcuts وسنقوم باذن الله في هذا الدرس بشرح هذه الميزه وطريقة استخدامها.

ماهي App Shortcuts ومتى نستخدمها ؟!

ببساطة تقوم باضافة قائمة على التطبيق تسمح للمستخدم بعرضها دون الدخول الى التطبيق وهي مشابهه لما يوجد في نظام ios  . ويمكن استخدامها لعرض مهمات او خصائص للمستخدم تسهل الوصول لها بسرعه وسلاسة !،

تحتوي على نوعين :

static : تضاف في ملفات الريسورس للتطبيق وتكون ثابته ولايمكن تغييرها الا بنشر التطبيق مره اخرى

dynamic : نقوم باضافة في الوقت الفعلي ويمكن تحديثها دون الحاجة الى نشر التطبيق مره اخرى

اضافة App Shortcuts :

اضافة اختصارات التطبيق تكون بشكل سهل وسنبدأ باضافة القائمة الثابته والتي سنعرفها من ملفات resources .

Nov-28-2016 15-57-19.gif

 

STATIC SHORTCUTS

ساقوم بافتراض ان لديك مشروع في تطبيق اندرويد ستديو واحتاج منك الذهاب الى ملف AndroidManifest.xml وستقوم باضافة meta-data الموجود في الكود في الاسفل :


<meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcuts" />

تلاحظ في تاق meta-data يوجد android:resource وهذا المفتاح من يتعامل مع resource في التطبيق والذي عرف في res/xml/shourtscuts.xml هنا يمكنك تعريف اختصاراتك الثابته للتطبيق.

الان سنقوم باضافة اختصار يفتح لنا مثلاً StaticShourtcutActivity كما سنلاحظ في الكود التالي :


<?xml version="1.0" encoding="utf-8"?>
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
    <shortcut
        android:enabled="true"
        android:icon="@drawable/ic_home_black_24dp"
        android:shortcutDisabledMessage="@string/static_shortcut_disabled_message"
        android:shortcutId="static"
        android:shortcutLongLabel="@string/static_shortcut_long_label"
        android:shortcutShortLabel="@string/static_shortcut_short_label">
        <intent
            android:action="android.intent.action.VIEW"
            android:targetClass="com.example.ahmed.appshoutcut.StaticActivity"
            android:targetPackage="com.example.ahmed.appshoutcut" />
    </shortcut>
</shortcuts>

 

تلاحظ ان root للكود هو shortcuts والذي سيقوم بالتعامل مع اكثر من shourtcut في التطبيق :

enabled

هنا تقوم بتفعيل او الغاء تفعيل الاختصار

icon

الايقونة الخاصة بالاختصار

shortcutDisabledMessage 

تظهر رسالة في حال قام المستخدم بالضغط على اختصار غير مفعل

shortcutLongLabel

عنوان طويل يظهر في حال كان الانشر يستطيع عرضها “التابلت مثلاً”

shortcutShortLabel

هنا هو النص الذي سيظهر للمستخدم كعنوان للاختصار

intent

هنا المهمه او الامر الذي سيظهر في حال المستخدم اختار الاختصار


DYNAMIC SHORTCUTS

الان سنقوم بالتعامل مع النوع الثاني من الاختصارات وهي “المتغيره” والتي تتحدث مباشرة دون الحاةه الى نشر التطبيق مره اخرى وعلى عكس الاختصارات الثابته لن نحتاج الى اضافتها في xml او resource التطبيق ولكن سنقوم بكتابتها في كود Java .

الان سنقوم باضافة اول اختصار متغير وسنتعامل مع ShortcutManager و ShortcutInfo.Builder وسنقوم ببناء اول اختصار متغير في الشاشة الرئيسية MainActivity.onCreate#

 ShortcutManager shortcutManager = getSystemService(ShortcutManager.class);
        
        ShortcutInfo webShortcut = new ShortcutInfo.Builder(this, "shortcut_web")
                .setShortLabel("a7med.name")
                .setLongLabel("Open a7med.name web site")
                .setIcon(Icon.createWithResource(this, R.drawable.ic_web_black_24dp))
                .setIntent(new Intent(Intent.ACTION_VIEW, Uri.parse("http://a7med.name")))
                .build();

        shortcutManager.setDynamicShortcuts(Collections.singletonList(webShortcut));

الان عند تشغيل التطبيق سنلاحظ اضافة الاختصار الثاني الخاص بنا .

هناك الكثير عن App Shortcuts سأتكلم عنه في تدوينات لاحقة باذن الله

شكرا لكم جميعاً وعذراً على الانقطاع

كلمات دليلية:
0
إعجاب
4076
مشاهدات
0
مشاركة
0
متابع
متميز
محتوى رهيب

التعليقات (0)

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !