پیکربندی یک اکشن

یک اکشن ، رویدادهای رابط کاربری مقیاس‌پذیر را بین رابط کاربری سیستم و سایر برنامه‌های سیستمی برقرار می‌کند تا برنامه‌ها را اجرا کند یا رفتار رابط کاربری را در پاسخ به رویدادهای خاص سیستم تنظیم کند.

یک اکشن (action) یک ساختار پیکربندی است که مستقل از هرگونه وابستگی خاص به پنل رابط کاربری (UI) می‌باشد. یک اکشن شامل یک هدف (intent) مورد نیاز است که هنگام فعال شدن توسط یک رویداد، ارسال می‌شود.

شما از اکشن‌ها برای انتشار اهداف در پاسخ به رویدادها استفاده می‌کنید.

رابط کاربری مقیاس‌پذیر، اشیاء اکشن را بر اساس رویدادهای ورودی مدیریت و ارسال می‌کند. هنگامی که یک رویداد مدیریت می‌شود، رابط کاربری مقیاس‌پذیر تأیید می‌کند که شرط فعال‌سازی یک اکشن توسط رویداد برآورده شده است و یک broadcast مرتب‌شده با هدف مرتبط با اکشن ارسال می‌کند. اکشن‌ها:

  • تعریف پنل و منطق اجرای برنامه را از هم جدا کنید: اکشن‌ها، تعریف استاتیک پنل‌های رابط کاربری را از منطق دینامیکی که نحوه اجرای برنامه‌ها را درون آنها تعیین می‌کند، جدا می‌کنند. این به شما کنترل کامل بر زمان اجرا می‌دهد.
    اهداف، صرف نظر از وضعیت پنل.

  • کاهش توسعه سفارشی: اکشن‌ها یک راه‌حل قابل تنظیم و بدون کد برای راه‌اندازی برنامه‌ها در اختیار شما قرار می‌دهند.

  • ساده‌سازی مقداردهی اولیه پنل: اکشن‌ها منطق استانداردی را برای شروع برنامه‌ها در پاسخ به رویدادهای رایج سیستم، از جمله شروع ناوبری، فراهم می‌کنند.

  • بهبود عملکرد سیستم با بارگذاری تنبل: اکشن‌ها، بارگذاری تنبل برنامه‌ها را تسهیل می‌کنند که می‌تواند پاسخگویی درک شده و عملکرد کلی سیستم را افزایش دهد. اکشن‌ها همچنین می‌توانند کنترل بیشتری بر روی اینکه کدام برنامه‌ها در زمان بوت اجرا شوند، ارائه دهند.

  • تسهیل سازگاری یک رابط کاربری پویا: تریگرها، که بخشی از اکشن‌ها هستند، به شما امکان می‌دهند حالت‌های رابط کاربری مقیاس‌پذیر را خارج از برنامه رابط کاربری سیستم اصلی، با یکدیگر ارتباط برقرار کرده و هماهنگ کنید. در نتیجه، سازگاری پویای رابط کاربری را دریافت می‌کنید.

ویژگی‌های XML

اکشن‌ها به صورت خارجی، معمولاً در یک فایل XML، تعریف می‌شوند و در رابط کاربری مقیاس‌پذیر بارگذاری می‌شوند. پیکربندی کامل اکشن به طور مداوم در xml/scalable_ui_actions.xml ذخیره می‌شود. فقط یک فایل از این نوع برای هر نمونه سیستم مجاز است. هر تعریف دیگری نادیده گرفته می‌شود.

ویژگی توضیحات
<Action> تگ <Actions> بالاترین سطح برای فهرستی از اقدامات است. هر تعریف <Action> می‌تواند دارای ویژگی‌های اجباری و اختیاری باشد.
  • (اجباری) intent رشته URI مربوط به intent را که باید هنگام فعال شدن action ارسال شود، تعریف می‌کند.
  • Action می‌تواند شامل چندین نقطه‌ی شروع (trigger point) به شکل رویداد باشد. برای اینکه یک اکشن بتواند یک intent را ارسال کند، باید رویدادی دریافت کند که حداقل با یکی از توصیفات رویداد مطابقت داشته باشد.

عناصر فرزند XML

ویژگی توضیحات
<Event> ویژگی‌های رویدادی را که می‌تواند این عمل را آغاز کند، شرح می‌دهد. می‌توان برای هر عمل، چندین فرزند رویداد مشخص کرد. عمل زمانی آغاز می‌شود که حداقل یکی از رویدادهای آن مطابقت داشته باشد.
  • (اجباری) id : شناسه منحصر به فرد رویداد Scalable UI برای فعال کردن این تریگر.
  • (اختیاری) panelID : شناسه منحصر به فرد پنل مرتبط با این رویداد.
  • (اختیاری) componentName نام کامپوننت مرتبط با این رویداد.
  • (اختیاری) packageName نام بسته‌ی مرتبط با این رویداد.

تطبیق رویداد

اکشن‌ها از یک مکانیزم تطبیق رویداد مشابه مکانیزم انتقال‌ها استفاده می‌کنند.