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 * | يمكنك تحديد واجهة المستخدم آليًا باستخدام دوال مركّبة تصف شكلها وتبعيات البيانات. |
| databinding * | يمكنك ربط مكوّنات واجهة المستخدم في التنسيقات بمصادر البيانات في تطبيقك باستخدام تنسيق تعريفي. |
| fragment * | يمكنك تقسيم تطبيقك إلى شاشات متعددة ومستقلة تتم استضافتها ضمن نشاط. |
| hilt * | يمكنك توسيع وظائف Dagger Hilt لتفعيل حقن التبعية لفئات معيّنة من مكتبات androidx. |
| lifecycle * | يمكنك إنشاء مكوّنات تدرك مراحل النشاط ويمكنها تعديل السلوك استنادًا إلى حالة مراحل النشاط الحالية لنشاط أو جزء. |
| مكوّنات التصميم المتعدد الأبعاد * | مكوّنات واجهة مستخدم التصميم المتعدد الأبعاد قابلة للتخصيص والتعديل لنظام التشغيل Android |
| navigation * | يمكنك إنشاء واجهة المستخدم داخل التطبيق وتنظيمها، والتعامل مع الروابط لصفحات معيّنة، والتنقّل بين الشاشات. |
| paging * | تحميل البيانات في الصفحات وعرضها في RecyclerView |
| room * | يمكنك إنشاء بيانات دائمة وتخزينها وإدارتها باستخدام قاعدة بيانات SQLite. |
| room3 * | يمكنك إنشاء بيانات دائمة وتخزينها وإدارتها باستخدام قاعدة بيانات SQLite. |
| test * | الاختبار في Android. |
| work * | جدوِل المهام التي يمكن تأجيلها في الخلفية ونفِّذها استنادًا إلى القيود. |
| 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 | توسيع التنسيقات بشكل غير متزامن لتجنُّب حدوث بطء في واجهة المستخدم |
| الملء التلقائي | تحسين دقة الملء التلقائي من خلال تلميحات إضافية |
| مقياس الأداء | يمكنك قياس أداء الرمز البرمجي بدقة داخل استوديو Android. |
| biometric | يمكنك المصادقة باستخدام المقاييس الحيوية أو بيانات اعتماد الجهاز، وإجراء عمليات التشفير. |
| bluetooth | استخدِم ميزات البلوتوث في نظام Android الأساسي مع واجهات برمجة التطبيقات المتوافقة مع الأنظمة القديمة. |
| المتصفّح | عرض صفحات الويب في المتصفّح التلقائي للمستخدم |
| camera.featurecombinationquery | الاستعلام عن إمكانات الكاميرا |
| camera.media3 | TODO |
| camera.viewfinder | عدسة كاميرا مستقلة قابلة للإنشاء ومستندة إلى العرض |
| 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 باستخدام مكوّنات Material Design 3، وهو الإصدار التالي من Material Design. يتضمّن 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 | استلهِم أفكارًا لتطبيقات القلم الرقمي الأفضل في فئتها. تسهيل عملية تطوير تجارب الكتابة بالحبر الرقمي العالية الأداء والجميلة يتيح استخدام Inking على أجهزة 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 | يمكنك تفعيل عرض الوسائط وتشغيلها على أجهزة الاستقبال عن بُعد باستخدام واجهة مستخدم مشتركة. |
| ملفات DEX متعددة | نشر التطبيقات التي تحتوي على ملفات dex متعددة على الأجهزة التي تعمل بإصدارات أقدم من Android 5 |
| المقاييس | تتبُّع مقاييس وقت التشغيل المختلفة لتطبيقك والإبلاغ عنها |
| navigation3 | Navigation 3 هي مكتبة تنقّل جديدة مصمّمة للعمل مع Compose. |
| navigationevent | توفّر مكتبة Navigation Event واجهة برمجة تطبيقات KMP-first لمعالجة زر الرجوع في النظام بالإضافة إلى [إيماءة إظهار شاشة الرجوع](/guide/navigation/custom-back/predictive-back-gesture). |
| palette | استخرِج لوحات ألوان تمثيلية من الصور. |
| مكتبة لإضافة إمكانات عرض ملفات 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 Studio. |
| savedstate | مكوّنات برمجية قابلة للإضافة تحفظ حالة واجهة المستخدم عند تعطّل إحدى العمليات وتستعيدها عند إعادة تشغيلها. |
| الأمان | يمكنك إدارة المفاتيح وتشفير الملفات والإعدادات المفضّلة المشتركة بأمان. |
| 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 | تتيح واجهة Watch Face Push لتطبيق Wear OS تثبيت خلفية شاشة الساعة على الساعة آليًا. |
| webgpu | واجهة برمجة تطبيقات حديثة لوحدة معالجة الرسومات (GPU) مخصّصة للرسومات والحوسبة من Kotlin |
| webkit | العمل مع واجهات برمجة تطبيقات WebView الحديثة على Android 5 والإصدارات الأحدث |
| window | يساعد في إتاحة أشكال الأجهزة المختلفة، مثل الأجهزة القابلة للطي. |
| 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 ومعالجته باستخدام محتوى ثلاثي الأبعاد |