Android Jetpack
Jetpack هي مجموعة من المكتبات تساعدك على اتّباع أفضل الممارسات وتقليل الرموز البرمجية النموذجية وكتابة رموز برمجية تعمل بشكل متسق على جميع إصدارات Android والأجهزة وأحجام الشاشات، ما يتيح لك التركيز على الرموز البرمجية التي تهمّك.
Jetpack Compose
تطوير واجهة المستخدم باستخدام Compose
مجموعة أدوات حديثة لإنشاء واجهة مستخدم أصلية تمكّنك من تبسيط عملية تطوير واجهة المستخدم على Android وتسريعها.
لماذا يُنصح باستخدام Android Jetpack؟
اتّباع أفضل الممارسات
ويستند نظام "مكتبات Android Jetpack" إلى ممارسات التصميم الحديثة، ما يتيح تقليل الأعطال وتقليل التسرُّب في الذاكرة من خلال التوافق مع الأنظمة القديمة.
إزالة الرمز النموذجي
يتولّى Android Jetpack المهام الشاقة، مثل إدارة مهام الخلفية والتنقّل ودورة حياة النشاط، ما يتيح لك التركيز على تطوير تطبيقك.
تقليل التجزئة
يمكنك تقليل درجة التعقيد من خلال المكتبات التي تعمل باستمرار على مختلف إصدارات Android والأجهزة.
التصميم لجميع أحجام الشاشات
تسهّل مكتبات Jetpack، مثل androidx.compose.material3.adaptive.layout، عملية تطوير التصاميم التكيُّفية المحسَّنة لجميع أحجام الشاشات.
التعرّف على كيفية استخدام Jetpack
الدورة التدريبية الخاصة بالأساسيات
تعلَّم مكتبات Jetpack الأساسية في دورة Android Basics (أساسيات Android) من خلال الدورة التدريبية Compose وقلِّل النصوص النموذجية في تطبيقك.
برنامج تعليمي عملي
احصل على تجربة عملية من خلال ثلاث مكتبات Jetpack تبسّط طبقة بياناتك: LiveData وViewModel وroom
الآن في نموذج تطبيق Android
استكشاف كيفية تطبيق بنية Android الحديثة في تطبيق واقعي
مكتبات Jetpack استكشاف جميع المكتبات
* يتم إدراج المكتبات الرائجة والمستخدَمة غالبًا أولاً
| النشاط * | الوصول إلى واجهات برمجة التطبيقات القابلة للإنشاء والمستندة إلى Activity |
| مكوّنات التصميم المتعدد الأبعاد 3 التكيّفية | إنشاء واجهات مستخدم تكيُّفية باستخدام مكوّنات التصميم المتعدد الأبعاد 3 |
| appcompat * | يتيح الوصول إلى واجهات برمجة التطبيقات الجديدة على إصدارات واجهة برمجة التطبيقات القديمة للنظام الأساسي (العديد منها يستخدم التصميم المتعدد الأبعاد). |
| appsearch * | إنشاء إمكانات بحث مخصّصة داخل التطبيق للمستخدمين |
| الكاميرا * | إنشاء تطبيقات كاميرا للأجهزة الجوّالة |
| إنشاء * | يمكنك تحديد واجهة المستخدم آليًا باستخدام دوال قابلة للإنشاء تصف شكلها واعتمادها على البيانات. |
| ربط البيانات * | ربط عناصر واجهة المستخدم في التصاميم بمصادر البيانات في تطبيقك باستخدام تنسيق تعريفي |
| fragment * | قسِّم تطبيقك إلى شاشات متعددة ومستقلة مستضافة ضمن نشاط. |
| hilt * | توسيع وظائف Dagger Hilt لتفعيل إدخال التبعية لفئات معيّنة من مكتبات androidx |
| دورة الحياة * | إنشاء مكوّنات تراعي مراحل النشاط ويمكنها تعديل السلوك استنادًا إلى حالة مرحلة النشاط الحالية لأحد الأنشطة أو الأجزاء |
| مكوّنات التصميم المتعدد الأبعاد * | مكوّنات واجهة مستخدم التصميم المتعدد الأبعاد نمطية وقابلة للتخصيص لنظام التشغيل Android |
| التنقّل * | إنشاء بنية واجهة المستخدم داخل التطبيق وتنظيمها، والتعامل مع الروابط المؤدية إلى صفحات في التطبيق، والتنقّل بين الشاشات |
| paging * | تحميل البيانات في صفحات وعرضها في RecyclerView |
| الغرفة * | إنشاء بيانات ثابتة وتخزينها وإدارتها باستخدام قاعدة بيانات SQLite |
| room3 * | إنشاء بيانات ثابتة وتخزينها وإدارتها باستخدام قاعدة بيانات SQLite |
| اختبار * | الاختبار على Android |
| العمل * | جدولة وتنفيذ مهام الخلفية التي يمكن تأجيلها والتي تستند إلى قيود |
| a2ui | يوفّر عارض Agent-to-UI (A2UI) في Jetpack Compose عملية تنفيذ بروتوكول A2UI، ما يتيح لوكلاء الذكاء الاصطناعي إنشاء واجهات مستخدم تفاعلية وغنية تعرض مكوّنات Compose الأصلية بدون تنفيذ أي رموز برمجية عشوائية. |
| a2ui.compose | يوفّر عارض Agent-to-UI (A2UI) في Jetpack Compose عملية تنفيذ بروتوكول A2UI، ما يتيح لوكلاء الذكاء الاصطناعي إنشاء واجهات مستخدم تفاعلية وغنية تعرض مكوّنات Compose الأصلية بدون تنفيذ أي رموز برمجية عشوائية. |
| الإعلانات | الحصول على معرّف إعلاني مع "خدمات Play" أو بدونها |
| التعليق التوضيحي | عرض البيانات الوصفية التي تساعد الأدوات والمطوّرين الآخرين في فهم الرمز البرمجي لتطبيقك |
| appfunctions | تسمح هذه الميزة للتطبيقات بمشاركة الوظائف والبيانات مع مساعدي الذكاء الاصطناعي، ما يتيح لهم اكتشاف المهام وتنفيذها مباشرةً على الجهاز لتلبية طلبات المستخدمين. |
| arch.core | أداة مساعدة لعمليات الربط الأخرى في حزمة بنية التطبيق، بما في ذلك قواعد اختبار JUnit التي يمكن استخدامها مع LiveData. |
| asynclayoutinflater | يمكنك تضخيم التصاميم بشكل غير متزامن لتجنُّب حدوث إيقاف مؤقت لعرض واجهة المستخدم في واجهة المستخدم. |
| الملء التلقائي | تحسين دقة الملء التلقائي من خلال توسيع نطاق التلميحات |
| مقياس الأداء | قياس أداء الرمز البرمجي بدقة ضمن "استوديو Android" |
| بيومترية | المصادقة باستخدام المقاييس الحيوية أو بيانات اعتماد الجهاز وإجراء عمليات التشفير |
| البلوتوث | استخدام ميزات البلوتوث في نظام Android الأساسي مع واجهات برمجة التطبيقات المتوافقة مع الإصدارات القديمة |
| المتصفّح | عرض صفحات الويب في المتصفّح التلقائي للمستخدم |
| camera.featurecombinationquery | الاستعلام عن إمكانات الكاميرا |
| camera.media3 | TODO |
| camera.viewfinder | أداة "عرض الكاميرا" المستندة إلى Composable وView بشكل مستقل |
| car-app | إنشاء تطبيقات تستند إلى نماذج لكل من Android Auto ونظام التشغيل Android Automotive |
| cardview | تنفيذ نمط بطاقة التصميم المتعدد الأبعاد بزوايا مستديرة وظلال منسدلة |
| collection | تقليل تأثير الذاكرة في المجموعات الحالية والجديدة الصغيرة |
| compose.animation | إنشاء رسوم متحركة في تطبيقات Jetpack Compose لإثراء تجربة المستخدم |
| compose.compiler | يمكنك تحويل دوال @Composable وإتاحة عمليات التحسين باستخدام إضافة لبرنامج التجميع في Kotlin. |
| compose.foundation | كتابة تطبيقات Jetpack Compose باستخدام وحدات أساسية جاهزة للاستخدام وتوسيع نطاق الأساس لإنشاء أجزاء نظام التصميم الخاص بك |
| compose.material | إنشاء واجهات مستخدم Jetpack Compose باستخدام "مكوّنات التصميم المتعدد الأبعاد" الجاهزة للاستخدام هذه هي نقطة الدخول الأعلى مستوى في Compose، وهي مصمَّمة لتوفير مكوّنات تتطابق مع تلك الموضّحة في www.material.io. |
| compose.material3 | يمكنك إنشاء واجهات مستخدم Jetpack Compose باستخدام مكوّنات التصميم المتعدد الأبعاد 3، وهي أحدث إصدار من التصميم المتعدد الأبعاد. يتضمّن تصميم Material 3 عناصر وميزات محدّثة لتخصيص التصميم، مثل الألوان الديناميكية في Material You، وهو مصمّم ليكون متوافقًا مع الأسلوب المرئي الجديد وواجهة مستخدم النظام في Android 12. |
| compose.material3.adaptive | استخدِم مكتبة Material 3 المتجاوبة لإنشاء واجهات مستخدم متجاوبة تتكيّف تلقائيًا مع إعدادات النوافذ، مثل فئات حجم النوافذ أو أوضاع الجهاز. توفّر المكتبة عمليات تنفيذ تلقائية للأساسيات ووحدات أساسية قابلة للإنشاء لإنشاء تجارب مخصّصة. |
| compose.remote.foundation | TODO |
| compose.remote | Remote Compose هو إطار عمل لإنشاء واجهة مستخدم لمساحات عرض عن بُعد |
| compose.runtime | هي اللبنات الأساسية لنموذج برمجة Compose وإدارة الحالة، ووقت التشغيل الأساسي الذي يستهدفه المكوّن الإضافي لبرنامج تجميع Compose. |
| compose.ui | المكوّنات الأساسية لواجهة مستخدم Compose اللازمة للتفاعل مع الجهاز، بما في ذلك التصميم والرسم والإدخال |
| متزامن | نقل المهام من سلسلة التعليمات الرئيسية باستخدام إجراءات روتينية مشتركة والاستفادة من ListenableFuture |
| constraintlayout | يمكنك وضع التطبيقات المصغّرة وتحديد حجمها بطريقة مرنة باستخدام تحديد الموضع النسبي. |
| contentpager | تحميل البيانات من ContentProvider وتصفّحها في صفحة ضمن سلسلة محادثات في الخلفية |
| coordinatorlayout | تحديد موضع أدوات التطبيق ذات المستوى الأعلى، مثل AppBarLayout وFloatingActionButton |
| locationbutton | |
| core | استهداف أحدث ميزات النظام الأساسي وواجهات برمجة التطبيقات مع إتاحة التطبيق أيضًا على الأجهزة القديمة |
| core.uwb | استخدام تقنية النطاق الفائق العرض (UWB) على الأجهزة المتوافقة |
| بيانات الاعتماد | توفّر هذه المكتبة إمكانية الوصول الموحّد إلى بيانات اعتماد المستخدم. يمكن أن يشمل ذلك كلمات المرور ومفاتيح المرور وبيانات الاعتماد الموحّدة. يجب استخدام هذه المكتبة لتوفير تجارب تسجيل دخول سلسة وآمنة. |
| credentials.providerevents | توفّر هذه المكتبة مجموعة من واجهات برمجة التطبيقات لمقدّمي بيانات الاعتماد للمشاركة في أحداث المقدّم، مثل نقل بيانات الاعتماد والإشارة إلى تغييرات بيانات الاعتماد. |
| credentials.registry | لحلّ هذه المشاكل، نضيف آلية تسجيل جديدة تتيح للتطبيق تقديم مستندات تعريف رقمية بطريقة تحافظ على الخصوصية. بشكل عام، سيسجّل تطبيق مقدّم الخدمة مسبقًا جميع مستندات التعريف الرقمية المرشّحة في Credential Manager. وعندما يتلقّى Credential Manager طلب تطبيق للحصول على مستند تعريف رقمي معيّن، سيشغّل واجهة المستخدم الخاصة بمطابقة مستند التعريف واختيار المستخدم في بيئة الاختبار المعزولة. |
| cursoradapter | عرض بيانات المؤشر في تطبيق ListView المصغّر |
| customview | تنفيذ طرق العرض المخصّصة |
| datastore | تخزين البيانات بشكل غير متزامن ومتّسق ومعاملاتي، ما يتيح التغلّب على بعض عيوب SharedPreferences |
| documentfile | عرض مستند ملف |
| draganddrop | قبول البيانات التي يتم سحبها وإفلاتها من تطبيق آخر أو داخل تطبيق، وعرض إشارة متسقة إلى إمكانية إفلات البيانات |
| drawerlayout | تنفيذ تطبيق مصغّر للوحة التنقّل في "التصميم المتعدد الأبعاد" |
| dynamicanimation | يمكنك إنشاء صور متحركة سلسة باستخدام واجهة برمجة تطبيقات للصور المتحركة مستنِدة إلى الفيزياء. |
| إيموجي | عرض رموز الإيموجي على الأجهزة الحالية والأقدم |
| emoji2 | عرض رموز الإيموجي على الأجهزة الحالية والأقدم |
| enterprise | إنشاء تطبيقات جاهزة للمؤسسات |
| exifinterface | قراءة علامات EXIF لملفات الصور وكتابتها |
| الألعاب | استخدام حزمة تطوير البرامج (SDK) الخاصة بـ "ألعاب Android" بشكلٍ أصلي في تطبيقك لتنفيذ مهام الألعاب المعقّدة، مثل "مزامنة اللقطات" |
| glance.adaptive | TODO |
| glance | إنشاء تصاميم لمساحات عرض عن بُعد باستخدام واجهة برمجة تطبيقات بتصميم Jetpack Compose |
| glance.wear | Glance Wear هي مكتبة لإنشاء تطبيقات مصغّرة لنظام التشغيل Wear OS |
| الرسومات | الاستفادة من إمكانات الرسومات في إصدارات متعددة من نظام Android الأساسي |
| gridlayout | تنفيذ تصميم شبكة |
| health | إنشاء تطبيقات صحية عالية الأداء بطريقة مستقلة عن النظام الأساسي |
| health.connect | يتيح هذا الإذن للمطوّرين قراءة سجلّات الصحة واللياقة البدنية الخاصة بالمستخدم أو كتابتها. |
| heifwriter | ترميز صورة أو مجموعة صور بتنسيق HEIF باستخدام برامج الترميز المتاحة على جهاز Android |
| ink | إلهام أفضل تطبيقات القلم تسهيل دخول المطوّرين إلى عالم تجارب الكتابة اليدوية الجميلة وعالية الأداء يتيح استخدام ميزة "الكتابة بالحبر الرقمي" على Android وJVM من جهة الخادم (متاح حاليًا على Linux لأجهزة x86_64). |
| input | تقليل وقت الاستجابة لتفاعلات الإدخال من خلال توقّع أحداث MotionEvent المستقبلية |
| interpolator | استخدام أدوات الربط بين الصور المتحركة على المنصات القديمة |
| javascriptengine | فعِّل تطبيق Android لتقييم JavaScript. |
| jetifier | أداة مستقلة تنقل الاعتمادات الخاصة بمكتبة على مكتبة الدعم المتوقّفة نهائيًا إلى اعتمادات AndroidX المكافئة. |
| leanback | أداة مستقلة تنقل الاعتمادات الخاصة بمكتبة على مكتبة الدعم المتوقّفة نهائيًا إلى اعتمادات AndroidX المكافئة. |
| قديمة | تم إيقاف هذا العنصر وفئاته نهائيًا. بدءًا من الإصدار 8 من نظام التشغيل Android، أدت القيود المفروضة على عمليات التحقّق في الخلفية إلى عدم جدوى استخدام هذه الفئة. |
| lint | عمليات التحقّق من Lint للتحقّق من استخدام واجهات برمجة تطبيقات Gradle |
| loader | تحميل البيانات لواجهة المستخدم التي تظل محفوظة بعد تغييرات الإعدادات |
| localbroadcastmanager | تم إيقاف هذا العنصر وفئاته نهائيًا. استخدِم LiveData أو مصادر البيانات التفاعلية بدلاً من ذلك. |
| media | مشاركة محتوى الوسائط وعناصر التحكّم مع تطبيقات أخرى تم استبداله بـ Media3. |
| media3 * | مكتبات حالات استخدام الوسائط |
| mediarouter | تفعيل عرض الوسائط وتشغيلها على أجهزة الاستقبال البعيدة باستخدام واجهة مستخدم مشتركة |
| multidex | نشر التطبيقات التي تحتوي على ملفات dex متعددة على الأجهزة التي تعمل بإصدارات Android الأقدم من 5 |
| المقاييس | تتبُّع مقاييس وقت التشغيل المختلفة لتطبيقك وإعداد تقارير عنها |
| navigation3 | Navigation 3 هي مكتبة تنقّل جديدة مصمَّمة للعمل مع Compose. |
| navigationevent | توفّر مكتبة Navigation Event واجهة برمجة تطبيقات متوافقة مع KMP للتعامل مع الرجوع إلى الخلف في النظام بالإضافة إلى [إيماءة إظهار شاشة الرجوع](/guide/navigation/custom-back/predictive-back-gesture). |
| لوحة الألوان | استخراج لوحات ألوان تمثيلية من الصور |
| مكتبة لإضافة إمكانات عرض ملفات PDF داخل التطبيقات | |
| percentlayout | تم إيقاف هذا العنصر وفئاته نهائيًا. استخدِم ConstraintLayout والتنسيقات المرتبطة بدلاً من ذلك. |
| الأداء | توفّر تعليقات توضيحية للمصدر بشأن تحسينات الأداء. |
| photopicker | توفّر هذه المكتبة عملية دمج بين Compose وAndroid Views لأداة اختيار الصور المضمّنة. |
| preference | يمكنك إنشاء شاشات إعدادات تفاعلية بدون الحاجة إلى التفاعل مع مساحة التخزين على الجهاز أو إدارة واجهة المستخدم. |
| طباعة | طباعة الصور والمستندات والرسومات والصور الأخرى من تطبيقك |
| privacysandbox.activity | TODO |
| privacysandbox.ads | تتيح هذه المكتبة إمكانية الدمج مع واجهات برمجة التطبيقات التي تحافظ على الخصوصية، والتي تشكّل جزءًا من "مبادرة حماية الخصوصية" على Android. |
| privacysandbox.plugins | المكوّن الإضافي لنظام Gradle الخاص بمكتبة حزمة تطوير البرامج (SDK) في "مبادرة حماية الخصوصية" على Android |
| privacysandbox.sdkruntime | توفّر هذه المكتبة مكونات للمستهلكين المتوافقين مع SdkRuntime |
| privacysandbox.tools | مكتبة للاستفادة من وظائف "مبادرة حماية الخصوصية" في Android |
| privacysandbox.ui | TODO |
| profileinstaller | تتيح للمكتبات ملء آثار التجميع مسبقًا قبل الوقت المحدد ليقرأها ART. |
| اقتراح | الترويج للمحتوى على شاشة Android TV Launcher الرئيسية |
| recyclerview | عرض مجموعات كبيرة من البيانات في واجهة المستخدم مع تقليل استخدام الذاكرة إلى الحدّ الأدنى |
| remotecallback | إنشاء برنامج تضمين يسهّل على المطوّرين توفير PendingIntent |
| resourceinspection | عرض سمات طرق العرض المخصّصة في "أداة فحص التنسيق المباشر" في "استوديو Android" |
| savedstate | مكوّنات برمجية قابلة للإضافة تحفظ حالة واجهة المستخدم عند تعطّل إحدى العمليات وتستعيدها عند إعادة تشغيلها. |
| الأمان | إدارة المفاتيح وتشفير الملفات وsharedpreferences بأمان |
| sharetarget | توفير توافق مع الأنظمة القديمة لاستخدام الاختصارات كأهداف للمشاركة المباشرة |
| slice | عرض عناصر واجهة مستخدم مستندة إلى نماذج خارج تطبيقك |
| slidingpanelayout | تنفيذ نمط واجهة مستخدم لوحة منزلقة |
| startup | استخدِم طريقة مباشرة وفعّالة لتهيئة المكوّنات عند بدء تشغيل التطبيق. |
| sqlite | العمل مع قواعد بيانات SQLite محلية استخدِم Room بدلاً من ذلك، إذا أمكن. |
| swiperefreshlayout | تنفيذ نمط واجهة المستخدم "السحب لإعادة التحميل" |
| test.backup | إطار عمل اختبار آلي للتحقّق من أنّ بيانات المستخدم وبيانات اعتماد الحساب تظلّ محفوظة بأمان عند ترقية الجهاز واستعادة البيانات من السحابة الإلكترونية. |
| test.ext | TODO |
| test.uiautomator | إطار عمل لاختبار واجهة المستخدم الوظيفية على مستوى التطبيقات |
| text-vertical | TODO |
| textclassifier | تحديد المحادثات والروابط وعمليات التحديد وغيرها من البُنى المشابهة في النص |
| تتبُّع | كتابة أحداث التتبُّع في مخزن مؤقت لتتبُّع النظام |
| transition | تحريك الحركة في واجهة المستخدم باستخدام تنسيقات البدء والانتهاء |
| tv | تزويد المطوّرين بوظائف Compose وMaterial Design لكتابة تطبيقات للتلفزيون |
| tvprovider | توفير قنوات Android TV |
| vectordrawable | عرض الرسومات المتّجهة |
| versionedparcelable | توفّر تنسيق تسلسل ثنائي ثابتًا ومضغوطًا يمكن تمريره بين العمليات أو الاحتفاظ به بأمان. |
| viewpager | عرض "طرق العرض" أو "اللقطات" بتنسيق قابل للتمرير استخدِم viewpager2 بدلاً من ذلك، إذا أمكن. |
| viewpager2 | عرض "طرق العرض" أو "اللقطات" بتنسيق قابل للتمرير |
| wear | إنشاء تطبيقات لساعات Wear OS الذكية من Google |
| wear.compose | يمكنك كتابة تطبيقات Jetpack Compose لأجهزة Wear OS من خلال توفير وظائف تتوافق مع أحجام الأجهزة المختلفة وإيماءات التنقّل. |
| wear.compose.remote | يمكنك كتابة أدوات Wear OS وغيرها من واجهات المستخدم عن بُعد باستخدام نظام التصميم Expressive في Material 3. |
| wear.protolayout | تتيح هذه المكتبة تحديد مجموعة من تصاميم واجهة المستخدم والتعبيرات غير الخاصة بواجهة المستخدم ليتم عرضها/تقييمها على مساحات عرض عن بُعد. |
| wear.tiles | إنشاء تطبيقات لساعات Wear OS الذكية من Google |
| wear.watchface | إنشاء تطبيقات لساعات Wear OS الذكية من Google |
| wear.watchfacepush | تتيح ميزة Watch Face Push لأحد تطبيقات Wear OS تثبيت خلفية شاشة الساعة على الساعة آليًا. |
| webgpu | واجهة برمجة تطبيقات حديثة لوحدة معالجة الرسومات (GPU) للرسومات والحوسبة من Kotlin |
| webkit | العمل مع واجهات برمجة تطبيقات WebView الحديثة على الإصدار 5 من نظام التشغيل Android والإصدارات الأحدث |
| window | تساعد في توفير أشكال مختلفة للأجهزة، مثل الأجهزة القابلة للطي. |
| window.extensions.core | واجهات برمجة التطبيقات الأساسية لإضافات "مكتبة Window Manager" |
| xr.arcore | يمكنك دمج المحتوى الرقمي في العالم الحقيقي باستخدام إمكانات الإدراك. |
| xr.compose | يمكنك إنشاء تنسيقات واجهة مستخدم مكانية بشكل تعريفي تستفيد من إمكانات Android XR المكانية. |
| xr.compose.material3 | إنشاء تطبيقات باستخدام مكوّنات وتصاميم Material تتكيّف مع تجارب الواقع الممتد |
| xr.glimmer | لغة التصميم ومجموعة أدوات واجهة المستخدم لإنشاء تجارب واقع ممتد (XR) معزَّز على Android XR |
| xr.projected | إنشاء تجارب تستفيد من الإمكانات الفريدة لأجهزة الواقع الممتد المتصلة |
| xr.runtime | ابدأ جلسة الواقع المعزّز أو الثلاثي الأبعاد المخصّصة باستخدام وقت التشغيل الأصلي. |
| xr.scenecore | إنشاء مخطط المشهد في Android XR وتعديله باستخدام محتوى ثلاثي الأبعاد |