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 * | يمكنك إنشاء إمكانات بحث مخصّصة داخل التطبيق للمستخدمين. |
| camera * | يمكنك إنشاء تطبيقات كاميرا للأجهزة الجوّالة. |
| compose * | يمكنك تحديد واجهة المستخدم برمجيًا باستخدام الدوال القابلة للإنشاء التي تصف شكلها والبيانات التي تعتمد عليها. |
| databinding * | يمكنك ربط مكوّنات واجهة المستخدم في تنسيقاتك بمصادر البيانات في تطبيقك باستخدام تنسيق إعلاني. |
| fragment * | يمكنك تقسيم تطبيقك إلى شاشات متعدّدة ومستقلة يتم استضافتها ضمن نشاط. |
| hilt * | يمكنك توسيع وظائف Dagger Hilt لتفعيل عملية إدخال التبعية لبعض الفئات من مكتبات AndroidX. |
| lifecycle * | يمكنك إنشاء مكوّنات تراعي مراحل النشاط ويمكنها تعديل السلوك استنادًا إلى حالة مرحلة النشاط الحالية أو جزء. |
| Material Design Components * | مكوّنات واجهة مستخدم التصميم المتعدد الأبعاد معيارية وقابلة للتخصيص لنظام Android |
| navigation * | يمكنك إنشاء واجهة المستخدم داخل التطبيق وتنظيمها، والتعامل مع الروابط المؤدية إلى صفحات في التطبيق، والتنقّل بين الشاشات. |
| paging * | يمكنك تحميل البيانات على شكل صفحات وعرضها في RecyclerView. |
| room * | يمكنك إنشاء بيانات مستمرة وتخزينها وإدارتها، مع الاستناد إلى قاعدة بيانات SQLite. |
| room3 * | يمكنك إنشاء بيانات مستمرة وتخزينها وإدارتها، مع الاستناد إلى قاعدة بيانات SQLite. |
| test * | الاختبار في Android |
| work * | يمكنك جدولة وتنفيذ مهام الخلفية القابلة للتأجيل والمستندة إلى القيود. |
| ads | يمكنك الحصول على معرّف إعلاني مع "خدمات Play" أو بدونها. |
| annotation | يمكنك عرض البيانات الوصفية التي تساعد الأدوات والمطوّرين الآخرين في فهم رمز تطبيقك. |
| appfunctions | تسمح هذه المكتبة للتطبيقات بمشاركة الوظائف والبيانات مع مساعدي الذكاء الاصطناعي، ما يتيح لهم اكتشاف المهام وتنفيذها مباشرةً على الجهاز لتلبية طلبات المستخدمين. |
| arch.core | تساعد هذه المكتبة في توفير تبعيات أخرى في بنية التطبيق، بما في ذلك قواعد اختبار JUnit التي يمكن استخدامها مع LiveData. |
| asynclayoutinflater | يمكنك عرض التنسيقات بشكل غير متزامن لتجنُّب حدوث إيقاف مؤقت لعرض واجهة المستخدم في واجهة المستخدم. |
| autofill | يمكنك تحسين دقة الملء التلقائي من خلال توسيع التلميحات. |
| benchmark | يمكنك قياس أداء الرمز بدقة ضمن "استوديو Android". |
| biometric | يمكنك المصادقة باستخدام المقاييس الحيوية أو بيانات اعتماد الجهاز، وإجراء عمليات التشفير. |
| bluetooth | يمكنك استخدام ميزات البلوتوث في نظام Android الأساسي مع واجهات برمجة التطبيقات المتوافقة مع الإصدارات السابقة. |
| browser | يمكنك عرض صفحات الويب في المتصفّح التلقائي للمستخدم. |
| camera.featurecombinationquery | يمكنك الاستعلام عن إمكانات الكاميرا. |
| camera.media3 | المهام المطلوبة |
| 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 | Remote Compose هو إطار عمل لإنشاء واجهة مستخدم لمساحات عرض عن بُعد |
| compose.runtime | الوحدات الأساسية لنموذج برمجة Compose وإدارة الحالة، ووقت التشغيل الأساسي الذي يستهدفه المكوّن الإضافي لمترجم Compose |
| compose.ui | المكوّنات الأساسية لواجهة مستخدم Compose اللازمة للتفاعل مع الجهاز، بما في ذلك التنسيق والرسم والإدخال |
| concurrent | يمكنك نقل المهام خارج السلسلة الرئيسية باستخدام الروتينات الفرعية والاستفادة من ListenableFuture. |
| constraintlayout | يمكنك وضع التطبيقات المصغّرة وتغيير حجمها بطريقة مرنة باستخدام ضبط الموضع نسبيًا. |
| contentpager | يمكنك تحميل البيانات من ContentProvider وعرضها على شكل صفحات في سلسلة محادثات في الخلفية. |
| coordinatorlayout | يمكنك وضع التطبيقات المصغّرة على مستوى التطبيق الأعلى، مثل AppBarLayout وFloatingActionButton. |
| core | يمكنك استهداف أحدث ميزات النظام الأساسي وواجهات برمجة التطبيقات مع توفير الدعم للأجهزة الأقدم. |
| core.uwb | يمكنك تنفيذ النطاق الفائق العرض (UWB) على الأجهزة المتوافقة. |
| credentials | توفّر هذه المكتبة وصولاً موحّدًا إلى بيانات اعتماد المستخدم. ويمكن أن يشمل ذلك كلمات المرور ومفاتيح المرور وبيانات الاعتماد الموحّدة. يجب استخدام هذه المكتبة لتوفير تجارب تسجيل دخول سلسة وآمنة. |
| credentials.providerevents | توفّر هذه المكتبة مجموعة من واجهات برمجة التطبيقات لمزوّدي بيانات الاعتماد للمشاركة في أحداث المزوّد، مثل نقل بيانات الاعتماد وتغيير إشارات بيانات الاعتماد. |
| credentials.registry | لحلّ هذه المشاكل، نضيف آلية تسجيل جديدة تسمح للتطبيق بتوفير بيانات الاعتماد الرقمية بطريقة تحافظ على الخصوصية. على مستوى عالٍ، سيسجّل تطبيق مقدّمي الخدمات مسبقًا جميع بيانات الاعتماد الرقمية المحتمَلة لدى Credential Manager. عندما يتلقّى Credential Manager طلبًا من تطبيق للحصول على بيانات اعتماد رقمية معيّنة، سيشغّل واجهة مستخدم مطابقة بيانات الاعتماد وأداة اختيار المستخدم في وضع الحماية. |
| cursoradapter | يمكنك عرض بيانات Cursor على عنصر واجهة مستخدم ListView. |
| customview | يمكنك تنفيذ طرق عرض مخصّصة. |
| datastore | يمكنك تخزين البيانات بشكل غير متزامن ومتّسق ومعاملاتي، ما يحلّ بعض عيوب SharedPreferences |
| documentfile | يمكنك عرض مستند ملف. |
| draganddrop | يمكنك قبول بيانات السحب والإفلات من تطبيق آخر أو داخل تطبيق، وعرض إمكانية متّسقة للوصول إلى هدف الإفلات. |
| drawerlayout | يمكنك تنفيذ عنصر واجهة مستخدم الدرج في التصميم المتعدد الأبعاد. |
| dynamicanimation | يمكنك إنشاء صور متحركة سلسة باستخدام واجهة برمجة تطبيقات للصور المتحركة مستندة إلى الفيزياء. |
| emoji | يمكنك عرض رموز الإيموجي على الأجهزة الحالية والأقدم. |
| emoji2 | يمكنك عرض رموز الإيموجي على الأجهزة الحالية والأقدم. |
| enterprise | يمكنك إنشاء تطبيقات جاهزة للاستخدام في المؤسسات. |
| exifinterface | يمكنك قراءة علامات EXIF لملف الصورة وكتابتها. |
| games | يمكنك استخدام حزمة Android Game SDK بشكل أصلي في تطبيقك لتنفيذ مهام معقّدة في الألعاب، مثل ميزة "تحديد معدّل عرض الإطارات". |
| glance | يمكنك إنشاء تنسيقات لمساحات عرض عن بُعد باستخدام واجهة برمجة تطبيقات بنمط Jetpack Compose. |
| glance.wear | Glance Wear هي مكتبة لإنشاء تطبيقات مصغّرة لنظام التشغيل Wear OS |
| graphics | يمكنك الاستفادة من إمكانات الرسومات في إصدارات متعدّدة من نظام Android الأساسي |
| gridlayout | يمكنك تنفيذ تنسيق شبكة. |
| health | يمكنك إنشاء تطبيقات صحية عالية الأداء بطريقة مستقلة عن النظام الأساسي. |
| health.connect | تسمح هذه المكتبة للمطوّرين بقراءة سجلّات المستخدمين الصحية واللياقة البدنية أو كتابتها. |
| heifwriter | يمكنك ترميز صورة أو مجموعة صور بتنسيق HEIF باستخدام برامج الترميز المتاحة على جهاز Android. |
| ink | يمكنك استلهام أفكار لإنشاء أفضل تطبيقات القلم في المجال. يمكنك تقليل العوائق التي تواجه المطوّرين في إنشاء تجارب كتابة بالحبر عالية الأداء وجميلة. تتوافق هذه المكتبة مع الكتابة بالحبر على Android وJVM من جهة الخادم (تتوافق حاليًا مع Linux لأجهزة x86_64). |
| input | يمكنك تقليل مدة استجابة تفاعلات الإدخال من خلال توقُّع أحداث MotionEvents المستقبلية |
| interpolator | يمكنك استخدام أدوات تعديل الصور المتحركة على الأنظمة الأساسية الأقدم. |
| javascriptengine | يمكنك تفعيل تطبيق Android لتقييم JavaScript. |
| jetifier | أداة مستقلة تنقل تبعيات المكتبة على مكتبة الدعم التي تم إيقافها نهائيًا إلى تبعيات AndroidX المكافئة |
| leanback | يمكنك استخدام Compose for TV بدلاً من هذا العنصر. |
| legacy | تم إيقاف هذا العنصر وفئاته. بدءًا من Android 8، لم تعُد هذه الفئة مفيدة بسبب القيود المفروضة على عمليات التحقّق في الخلفية. |
| lint | عمليات التحقّق من Lint للتحقّق من استخدام واجهات برمجة تطبيقات Gradle |
| loader | يمكنك تحميل البيانات لواجهة المستخدم التي تظل متاحة بعد تغييرات الإعدادات. |
| localbroadcastmanager | تم إيقاف هذا العنصر وفئاته. يمكنك استخدام LiveData أو تدفقات تفاعلية بدلاً من ذلك. |
| media | يمكنك مشاركة محتويات الوسائط وعناصر التحكّم فيها مع تطبيقات أخرى. حلّت media3 محل هذا العنصر. |
| media3 * | مكتبات الدعم لحالات استخدام الوسائط |
| mediarouter | يمكنك تفعيل عرض الوسائط وتشغيلها على أجهزة استقبال عن بُعد باستخدام واجهة مستخدم شائعة. |
| multidex | يمكنك نشر التطبيقات التي تحتوي على ملفات dex متعدّدة على الأجهزة التي تسبق Android 5. |
| metrics | يمكنك تتبُّع مختلف مقاييس وقت التشغيل لتطبيقك والإبلاغ عنها |
| navigation3 | Navigation 3 هي مكتبة تنقّل جديدة مصمّمة للعمل مع Compose. |
| navigationevent | توفّر مكتبة Navigation Event واجهة برمجة تطبيقات أولية لـ KMP للتعامل مع الزر "رجوع" في النظام، بالإضافة إلى [ميزة "الرجوع التنبؤي"](/guide/navigation/custom-back/predictive-back-gesture). |
| palette | يمكنك استخراج لوحات ألوان تمثيلية من الصور. |
| مكتبة لإضافة إمكانات عرض ملفات PDF داخل التطبيقات | |
| percentlayout | تم إيقاف هذا العنصر وفئاته. يمكنك استخدام ConstraintLayout والتنسيقات المرتبطة بدلاً من ذلك. |
| performance | توفّر هذه المكتبة تعليقات توضيحية للمصدر من أجل تحسين الأداء. |
| photopicker | توفّر هذه المكتبة عملية دمج لـ Compose وAndroid Views من أجل أداة اختيار الصور المضمّنة. |
| preference | يمكنك إنشاء شاشات إعدادات تفاعلية بدون الحاجة إلى التفاعل مع مساحة التخزين على الجهاز أو إدارة واجهة المستخدم. |
| يمكنك طباعة الصور والمستندات والرسومات والصور الأخرى من تطبيقك. | |
| privacysandbox.activity | المهام المطلوبة |
| privacysandbox.ads | تتيح هذه المكتبة التكامل مع واجهات برمجة التطبيقات التي تحافظ على الخصوصية، والتي تشكّل جزءًا من "مبادرة حماية الخصوصية" على Android. |
| privacysandbox.plugins | المكوّن الإضافي لنظام Gradle لمكتبة حزمة تطوير البرامج (SDK) من "مبادرة حماية الخصوصية" على Android |
| privacysandbox.sdkruntime | توفّر هذه المكتبة مكوّنات للمستهلكين الذين يدركون وقت تشغيل حزمة تطوير البرامج (SDK) |
| privacysandbox.tools | مكتبة لاستخدام وظائف "مبادرة حماية الخصوصية" في Android |
| privacysandbox.ui | المهام المطلوبة |
| profileinstaller | تتيح هذه المكتبة للمكتبات التعبئة تلقائيًا لعمليات تتبُّع التجميع مسبقًا ليقرأها وقت تشغيل Android (ART). |
| recommendation | يمكنك الترويج للمحتوى على الشاشة الرئيسية لمشغّل Android TV. |
| recyclerview | يمكنك عرض مجموعات كبيرة من البيانات في واجهة المستخدم مع تقليل استخدام الذاكرة. |
| remotecallback | يمكنك إنشاء برنامج تضمين يسهّل على المطوّرين توفير PendingIntent. |
| resourceinspection | يمكنك عرض سمات طرق العرض المخصّصة في "أداة فحص التنسيق المباشر" في "استوديو Android". |
| savedstate | مكوّنات برمجية قابلة للإضافة تحفظ حالة واجهة المستخدم عند تعطّل إحدى العمليات وتستعيدها عند إعادة تشغيلها. |
| security | يمكنك إدارة المفاتيح وتشفير الملفات وsharedpreferences بأمان. |
| sharetarget | يمكنك توفير التوافق مع الإصدارات السابقة لاستخدام الاختصارات كأهداف مشاركة مباشرة. |
| slice | يمكنك عرض عناصر واجهة مستخدم مستندة إلى نماذج خارج تطبيقك. |
| slidingpanelayout | يمكنك تنفيذ نمط واجهة مستخدم لوحة منزلقة. |
| startup | يمكنك تنفيذ طريقة بسيطة وعالية الأداء لتهيئة المكوّنات عند بدء تشغيل التطبيق. |
| sqlite | يمكنك استخدام قواعد بيانات SQLite المحلية. من الأفضل استخدام Room إذا أمكن ذلك. |
| swiperefreshlayout | يمكنك تنفيذ نمط واجهة مستخدم السحب لإعادة التحميل. |
| test.uiautomator | إطار عمل لاختبار واجهة المستخدم الوظيفية بين التطبيقات |
| textclassifier | يمكنه تحديد المحادثات والروابط وعمليات الاختيار والإنشاءات الأخرى المماثلة في النص. |
| tracing | يمكنك كتابة أحداث التتبُّع في المخزن المؤقت لتتبُّع النظام. |
| transition | يمكنك تحريك الحركة في واجهة المستخدم باستخدام تنسيقات البدء والانتهاء. |
| tv | توفّر هذه المكتبة للمطوّرين وظائف Compose وMaterial Design لكتابة تطبيقات للتلفزيون |
| tvprovider | يمكنك توفير قنوات Android TV. |
| text-vertical | المهام المطلوبة |
| 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 | واجهة برمجة تطبيقات حديثة لوحدة معالجة الرسومات من أجل الرسومات والحوسبة من 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.runtime | يمكنك بدء جلسة الواقع المعزّز أو الجلسة ثلاثية الأبعاد المخصّصة باستخدام وقت التشغيل الأصلي. |
| xr.scenecore | يمكنك إنشاء ومعالجة الرسم البياني لمشهد Android XR باستخدام محتوى ثلاثي الأبعاد. |