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 * | الوصول إلى واجهات برمجة التطبيقات القابلة للإنشاء والمستندة إلى Activity |
| مكوّنات التصميم المتعدد الأبعاد 3 التكيّفية | إنشاء واجهات مستخدم تكيُّفية باستخدام مكوّنات "التصميم المتعدد الأبعاد 3" |
| appcompat * | يتيح الوصول إلى واجهات برمجة التطبيقات الجديدة على إصدارات واجهة برمجة التطبيقات القديمة للنظام الأساسي (يستخدم العديد منها التصميم المتعدد الأبعاد). |
| appsearch * | إنشاء إمكانات بحث مخصّصة داخل التطبيق للمستخدمين |
| camera * | إنشاء تطبيقات كاميرا للأجهزة الجوّالة |
| compose * | يمكنك تحديد واجهة المستخدم آليًا باستخدام دوال مركّبة تصف شكلها واعتماديتها على البيانات. |
| ربط البيانات * | يمكنك ربط مكوّنات واجهة المستخدم في تنسيقاتك بمصادر البيانات في تطبيقك باستخدام تنسيق تعريفي. |
| fragment * | قسِّم تطبيقك إلى شاشات متعددة ومستقلة مستضافة ضمن نشاط. |
| hilt * | يمكنك توسيع وظائف Dagger Hilt لتفعيل حقن التبعية لفئات معيّنة من مكتبات androidx. |
| lifecycle * | يمكنك إنشاء مكوّنات تدرك مراحل النشاط ويمكنها تعديل السلوك استنادًا إلى حالة مراحل النشاط الحالية لنشاط أو جزء. |
| مكوّنات التصميم المتعدد الأبعاد * | مكوّنات واجهة مستخدم التصميم المتعدد الأبعاد قابلة للتعديل والتخصيص لنظام التشغيل Android |
| navigation * | يمكنك إنشاء واجهة المستخدم داخل التطبيق وتنظيمها، والتعامل مع الروابط لصفحات معيّنة، والتنقّل بين الشاشات. |
| paging * | تحميل البيانات في صفحات وعرضها في RecyclerView |
| room * | يمكنك إنشاء بيانات ثابتة وتخزينها وإدارتها باستخدام قاعدة بيانات SQLite. |
| room3 * | إنشاء بيانات ثابتة وتخزينها وإدارتها باستخدام قاعدة بيانات SQLite |
| test * | الاختبار في Android. |
| العمل * | جدولة المهام في الخلفية القابلة للتأجيل والمستندة إلى قيود وتنفيذها |
| a2ui | يوفّر عارض Agent-to-UI (A2UI) في Jetpack Compose عملية تنفيذ بروتوكول A2UI، ما يتيح لوكلاء الذكاء الاصطناعي إنشاء واجهات مستخدم تفاعلية وغنية تعرض مكوّنات Compose الأصلية بدون تنفيذ أي رموز برمجية عشوائية. |
| a2ui.compose | يوفّر محرّك عرض Agent-to-UI (A2UI) في Jetpack Compose تنفيذًا لبروتوكول A2UI، ما يتيح لوكلاء الذكاء الاصطناعي إنشاء واجهات مستخدم تفاعلية وغنية تعرض مكوّنات Compose الأصلية، بدون تنفيذ رمز عشوائي. |
| الإعلانات | الحصول على معرّف إعلاني مع "خدمات Play" أو بدونها |
| annotation.keep | TODO |
| annotation | عرض البيانات الوصفية التي تساعد الأدوات والمطوّرين الآخرين في فهم الرمز البرمجي لتطبيقك |
| appfunctions | تسمح للتطبيقات بمشاركة الوظائف والبيانات مع المساعدين المستنِدين إلى الذكاء الاصطناعي، ما يتيح لهم استكشاف المهام وتنفيذها مباشرةً على الجهاز لتلبية طلبات المستخدمين. |
| arch.core | مساعد لتبعيات البنية الأخرى، بما في ذلك قواعد اختبار JUnit التي يمكن استخدامها مع LiveData. |
| asynclayoutinflater | توسيع التنسيقات بشكل غير متزامن لتجنُّب حدوث بطء في واجهة المستخدم |
| autofill | تحسين دقة الملء التلقائي من خلال توسيع نطاق التلميحات |
| benchmark | يمكنك قياس أداء الرمز البرمجي بدقة داخل "استوديو Android". |
| biometric | المصادقة باستخدام المقاييس الحيوية أو بيانات اعتماد الجهاز وإجراء عمليات التشفير |
| bluetooth | استخدِم ميزات البلوتوث في نظام 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 اللازمة للتفاعل مع الجهاز، بما في ذلك التنسيق والرسم والإدخال |
| concurrent | نقل المهام من سلسلة التعليمات الرئيسية باستخدام الروتينات الفرعية والاستفادة من ListenableFuture |
| constraintlayout | يمكنك وضع التطبيقات المصغّرة وتحديد حجمها بطريقة مرنة باستخدام ضبط الموضع نسبيًا. |
| contentpager | تحميل البيانات والتنقّل بين صفحاتها في ContentProvider في سلسلة محادثات في الخلفية |
| coordinatorlayout | تحديد موضع التطبيقات المصغّرة ذات المستوى الأعلى، مثل AppBarLayout وFloatingActionButton |
| locationbutton | |
| core | استهدِف أحدث ميزات المنصة وواجهات برمجة التطبيقات مع إتاحة استخدام الأجهزة القديمة أيضًا. |
| core.uwb | تنفيذ تقنية النطاق الفائق العرض (UWB) على الأجهزة المتوافقة |
| بيانات الاعتماد | توفّر هذه المكتبة إمكانية الوصول الموحّد إلى بيانات اعتماد المستخدم. ويمكن أن يشمل ذلك كلمات المرور ومفاتيح المرور وبيانات الاعتماد الموحّدة. يجب استخدام هذه المكتبة لتوفير تجارب تسجيل دخول سلسة وآمنة. |
| credentials.providerevents | توفّر هذه المكتبة مجموعة من واجهات برمجة التطبيقات لمقدّمي بيانات الاعتماد للمشاركة في أحداث المقدّم، مثل نقل بيانات الاعتماد والإشارة إلى تغييرات بيانات الاعتماد. |
| credentials.registry | لحلّ هذه المشاكل، سنضيف آلية تسجيل جديدة تتيح للتطبيق تقديم بيانات الاعتماد الرقمية بطريقة تحافظ على الخصوصية. على مستوى عالٍ، سيسجّل تطبيق مقدّمي الخدمات مسبقًا جميع بيانات الاعتماد الرقمية المرشحة في Credential Manager. وعندما يتلقّى Credential Manager طلبًا من تطبيق للحصول على بيانات اعتماد رقمية معيّنة، سيشغّل واجهة مستخدم مطابقة بيانات الاعتماد وأداة اختيار المستخدم في وضع الحماية. |
| cursoradapter | عرض بيانات Cursor في تطبيق 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 |
| graphics | الاستفادة من إمكانات الرسومات في إصدارات متعددة من نظام Android الأساسي |
| gridlayout | تنفيذ تصميم شبكة |
| الصحة | إنشاء تطبيقات صحية عالية الأداء بطريقة مستقلة عن النظام الأساسي |
| health.connect | يسمح هذا الإذن للمطوّرين بقراءة سجلّات الصحة واللياقة البدنية الخاصة بالمستخدم أو كتابتها. |
| heifwriter | ترميز صورة أو مجموعة صور بتنسيق HEIF باستخدام برامج الترميز المتاحة على جهاز Android |
| ink | إلهام أفضل تطبيقات القلم تسهيل عملية تطوير تجارب الكتابة بالحبر الرقمي العالية الأداء والجميلة يتيح استخدام ميزة "الكتابة بالحبر" على أجهزة Android وJVM من جهة الخادم (متاحة حاليًا على نظام التشغيل Linux لأجهزة x86_64). |
| input | تقليل وقت استجابة تفاعلات الإدخال من خلال توقُّع أحداث MotionEvents المستقبلية |
| interpolator | استخدِم أدوات الربط بين الصور المتحركة على الأنظمة الأساسية القديمة. |
| javascriptengine | فعِّل تطبيق Android لتقييم JavaScript. |
| jetifier | أداة مستقلة تنقل الاعتماديات الخاصة بمكتبة على مكتبة الدعم المتوقّفة نهائيًا إلى الاعتماديات المكافئة في AndroidX. |
| leanback | أداة مستقلة تنقل الاعتماديات الخاصة بمكتبة على مكتبة الدعم المتوقّفة نهائيًا إلى الاعتماديات المكافئة في AndroidX. |
| legacy | تم إيقاف هذا العنصر وفئاته نهائيًا. اعتبارًا من الإصدار Android 8، أصبحت هذه الفئة غير مفيدة بسبب القيود المفروضة على عمليات فحص الخدمات في الخلفية. |
| 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 والتنسيقات المرتبطة به بدلاً من ذلك. |
| performance | توفّر هذه السمة تعليقات توضيحية للمصدر بشأن تحسينات الأداء. |
| 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 | تتيح للمكتبات التعبئة تلقائيًا لآثار التجميع المسبق قبل وقت التشغيل ليقرأها وقت تشغيل Android (ART). |
| اقتراح | الترويج للمحتوى على الشاشة الرئيسية لمشغّل تطبيقات Android TV. |
| 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 باستخدام نظام التصميم Material 3 Expressive. |
| wear.protolayout | تتيح هذه المكتبة تحديد مجموعة من تصاميم واجهة المستخدم والتعبيرات غير المتعلّقة بواجهة المستخدم ليتم عرضها أو تقييمها على مساحات العرض عن بُعد. |
| wear.tiles | أنشِئ تطبيقات لساعات Wear OS من Google الذكية. |
| wear.watchface | إنشاء تطبيقات لساعات Wear OS الذكية من Google |
| wear.watchfacepush | تتيح ميزة "إرسال خلفية شاشة الساعة" لأحد تطبيقات Wear OS تثبيت خلفية شاشة الساعة على الساعة آليًا. |
| webgpu | واجهة برمجة تطبيقات حديثة لوحدة معالجة الرسومات (GPU) مخصّصة للرسومات والحوسبة من Kotlin. |
| webkit | العمل مع واجهات برمجة تطبيقات WebView الحديثة على Android 5 والإصدارات الأحدث |
| نافذة | يساعد في إتاحة أشكال الأجهزة المختلفة، مثل الأجهزة القابلة للطي. |
| window.extensions.core | واجهات برمجة التطبيقات الأساسية لإضافات مكتبة Window Manager |
| xr.arcore | يمكنك دمج المحتوى الرقمي في العالم الحقيقي باستخدام إمكانات الإدراك. |
| xr.compose | يمكنك إنشاء تصاميم واجهة مستخدم مكانية بشكل تعريفي تستفيد من الإمكانات المكانية في Android XR. |
| xr.compose.material3 | إنشاء تطبيقات باستخدام مكوّنات وتنسيقات Material التي تتوافق مع الواقع الممتد |
| xr.glimmer | لغة التصميم ومجموعة أدوات واجهة المستخدم لإنشاء تجارب واقع ممتد معزَّز على Android XR |
| xr.projected | إنشاء تجارب تستفيد من الإمكانات الفريدة لأجهزة XR المتصلة |
| xr.runtime | ابدأ جلسة الواقع المعزّز أو الجلسة الثلاثية الأبعاد المخصّصة باستخدام بيئة التشغيل الأصلية. |
| xr.scenecore | إنشاء رسم بياني لمشهد Android XR ومعالجته باستخدام محتوى ثلاثي الأبعاد |