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 | 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 باستخدام مكوّنات التصميم المتعدد الأبعاد 3، وهي التطور التالي للتصميم المتعدد الأبعاد. يتضمّن 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 | أداة مستقلة تنقل تبعيات المكتبة على مكتبة الدعم التي تم إيقافها إلى تبعيات AndroidX المكافئة |
| 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 | TODO |
| privacysandbox.ads | تتيح هذه المكتبة التكامل مع واجهات برمجة التطبيقات التي تحافظ على الخصوصية، والتي تشكّل جزءًا من "مبادرة حماية الخصوصية" على Android. |
| privacysandbox.plugins | المكوّن الإضافي لنظام Gradle لمكتبة حزمة تطوير البرامج (SDK) من "مبادرة حماية الخصوصية" على Android |
| privacysandbox.sdkruntime | توفّر هذه المكتبة مكوّنات للمستهلكين الذين يدركون وقت تشغيل حزمة تطوير البرامج (SDK) |
| privacysandbox.tools | مكتبة لاستخدام وظائف "مبادرة حماية الخصوصية" في Android |
| privacysandbox.ui | TODO |
| profileinstaller | السماح للمكتبات بملء عمليات تتبُّع التجميع المسبق مسبقًا ليقرأها وقت تشغيل Android (ART) |
| recommendation | الترويج للمحتوى على الشاشة الرئيسية لمشغّل Android TV |
| recyclerview | عرض مجموعات كبيرة من البيانات في واجهة المستخدم مع تقليل استخدام الذاكرة |
| remotecallback | إنشاء برنامج تضمين يسهّل على المطوّرين توفير PendingIntent |
| resourceinspection | عرض سمات طرق العرض المخصّصة في أداة فحص التنسيق المباشر في "استوديو Android" |
| savedstate | مكوّنات برمجية قابلة للإضافة تحفظ حالة واجهة المستخدم عند تعطّل إحدى العمليات وتستعيدها عند إعادة تشغيلها. |
| security | إدارة المفاتيح وتشفير الملفات وSharedPreferences بأمان |
| sharetarget | توفير التوافق مع الإصدارات السابقة لاستخدام الاختصارات كأهداف مشاركة مباشرة |
| slice | عرض عناصر واجهة مستخدم مستندة إلى نماذج خارج تطبيقك |
| slidingpanelayout | تنفيذ نمط واجهة مستخدم لوحة منزلقة |
| startup | تنفيذ طريقة بسيطة وعالية الأداء لتهيئة المكوّنات عند بدء تشغيل التطبيق |
| sqlite | العمل مع قواعد بيانات SQLite المحلية يُرجى استخدام Room بدلاً من ذلك إذا أمكن. |
| swiperefreshlayout | تنفيذ نمط واجهة مستخدم السحب لإعادة التحميل |
| test.ext | TODO |
| test.uiautomator | إطار عمل لاختبار واجهة المستخدم الوظيفية بين التطبيقات |
| text-vertical | TODO |
| textclassifier | تحديد المحادثات والروابط وعمليات الاختيار والإنشاءات الأخرى المماثلة في النص |
| tracing | كتابة أحداث التتبُّع في المخزن المؤقت لتتبُّع النظام |
| 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 | واجهة برمجة تطبيقات حديثة لوحدة معالجة الرسومات للرسومات والحوسبة من 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 باستخدام محتوى ثلاثي الأبعاد |