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 * | يمكنك تقسيم تطبيقك إلى شاشات متعددة ومستقلة يتم عرضها ضمن Activity. |
| hilt * | يمكنك توسيع وظائف Dagger Hilt لتفعيل عملية إدخال التبعية لفئات معيّنة من مكتبات AndroidX. |
| lifecycle * | يمكنك إنشاء مكوّنات تراعي مراحل النشاط ويمكنها تعديل السلوك استنادًا إلى حالة مرحلة النشاط الحالية أو جزء معيّن. |
| مكوّنات التصميم المتعدد الأبعاد * | مكوّنات واجهة مستخدم التصميم المتعدد الأبعاد معيارية وقابلة للتخصيص لنظام التشغيل 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 | مكوّن 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 | يمكنك استخدام حزمة تطوير البرامج (SDK) لألعاب Android بشكل أصلي في تطبيقك لتنفيذ مهام معقدة في الألعاب، مثل ميزة "تحديد معدّل عرض الإطارات". |
| 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-first للتعامل مع الزر "رجوع" في النظام، بالإضافة إلى [ميزة "الرجوع التنبؤي"](/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 | المهام المطلوبة |
| xr.arcore | يمكنك إدخال المحتوى الرقمي إلى العالم الحقيقي باستخدام إمكانات الإدراك. |
| xr.compose | يمكنك إنشاء تنسيقات واجهة مستخدم مكانية بشكل إعلاني تستفيد من الإمكانات المكانية في Android XR. |
| xr.compose.material3 | يمكنك إنشاء مكوّنات وتنسيقات Material تتكيّف مع XR |
| xr.glimmer | لغة تصميم ومجموعة أدوات واجهة مستخدم لإنشاء تجارب Android XR المعزّزة |
| xr.projected | يمكنك إنشاء تجارب تستفيد من الإمكانات الفريدة لأجهزة XR المتصلة. |
| xr.runtime | يمكنك بدء جلسة الواقع المعزّز أو الجلسة الثلاثية الأبعاد المخصّصة باستخدام وقت التشغيل الأصلي. |
| xr.scenecore | يمكنك إنشاء ومعالجة الرسم البياني لمشهد Android XR باستخدام محتوى ثلاثي الأبعاد. |
| 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 | هذه واجهة برمجة تطبيقات حديثة لوحدة معالجة الرسومات من أجل الرسومات والحوسبة من Kotlin. |
| webkit | يمكنك استخدام واجهات برمجة تطبيقات WebView الحديثة على Android 5 والإصدارات الأحدث. |
| window | تساعد هذه المكتبة في دعم عوامل شكل الأجهزة المختلفة، مثل الأجهزة القابلة للطي. |
| window.extensions.core | واجهات برمجة التطبيقات الأساسية لإضافات مكتبة Window Manager |