شرح App Shortcuts

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

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

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

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

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

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

اضافة App Shortcuts :

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

 

nov-28-2016-15-57-19

 

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("https://another.local")))
                .build();


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

 

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

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

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

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *