Android Jetpack
Jetpack هي مجموعة من المكتبات لمساعدة المطوّرين على اتّباع أفضل الممارسات وتقليل الرموز النموذجية وكتابة الرموز البرمجية التي تعمل بشكل متّسق على جميع إصدارات Android والأجهزة حتى يتمكّن المطوّرون من التركيز على الرمز البرمجي الذي يهمهم.
Jetpack Compose
تطوير واجهة المستخدم باستخدام Compose
مجموعة أدوات حديثة لإنشاء واجهة مستخدم أصلية تمكّنك من تبسيط عملية تطوير واجهة المستخدم على Android وتسريعها.
لماذا يُنصح باستخدام Android Jetpack؟
اتّباع أفضل الممارسات
ويستند نظام "مكتبات Android Jetpack" إلى ممارسات التصميم الحديثة، ما يتيح تقليل الأعطال وتقليل التسرُّب في الذاكرة من خلال التوافق مع الأنظمة القديمة.
إزالة الرمز النموذجي
يدير Android Jetpack الأنشطة المملة، مثل المهام في الخلفية والتنقّل وإدارة مراحل النشاط، ما يتيح لك التركيز على ميزات تطبيقك الرائعة.
تقليل التجزئة
يمكنك تقليل درجة التعقيد من خلال المكتبات التي تعمل باستمرار على مختلف إصدارات Android والأجهزة.
مكتبات Jetpack استكشاف جميع المكتبات
* يتم إدراج المكتبات الرائجة والمستخدمة بشكل متكرر أولاً
النشاط * | الوصول إلى واجهات برمجة التطبيقات القابلة للإنشاء والمستندة إلى Activity |
appcompat * | يتيح الوصول إلى واجهات برمجة التطبيقات الجديدة على إصدارات واجهة برمجة التطبيقات القديمة للنظام الأساسي (يستخدم العديد منها Material Design). |
appsearch * | إنشاء إمكانات بحث مخصّصة داخل التطبيق للمستخدمين |
الكاميرا * | إنشاء تطبيقات كاميرا للأجهزة الجوّالة |
إنشاء * | يمكنك تحديد واجهة المستخدم آليًا باستخدام دوال قابلة للإنشاء تصف شكلها واعتمادها على البيانات. |
ربط البيانات * | ربط عناصر واجهة المستخدم في التصاميم بمصادر البيانات في تطبيقك باستخدام تنسيق تعريفي |
fragment * | قسِّم تطبيقك إلى شاشات متعددة ومستقلة يتم استضافتها ضمن نشاط. |
hilt * | توسيع وظائف Dagger Hilt لتفعيل إدخال التبعية لبعض الفئات من مكتبات androidx |
دورة الحياة * | إنشاء مكونات تراعي مراحل النشاط ويمكنها تعديل السلوك استنادًا إلى حالة مرحلة النشاط الحالية لأحد الأنشطة أو الأجزاء |
مكوّنات Material Design * | مكوّنات واجهة مستخدم Material Design نمطية وقابلة للتخصيص لنظام التشغيل Android |
التنقّل * | إنشاء واجهة المستخدم داخل التطبيق وتنظيمها والتعامل مع الروابط لصفحات معيّنة والتنقّل بين الشاشات |
paging * | تحميل البيانات في صفحات وعرضها في RecyclerView |
الغرفة * | إنشاء بيانات ثابتة وتخزينها وإدارتها باستخدام قاعدة بيانات SQLite |
اختبار * | الاختبار على Android |
العمل * | جدولة وتنفيذ مهام الخلفية التي يمكن تأجيلها والتي تستند إلى قيود |
ads | الحصول على معرّف إعلاني مع "خدمات Play" أو بدونها |
التعليق التوضيحي | عرض البيانات الوصفية التي تساعد الأدوات والمطوّرين الآخرين في فهم الرمز البرمجي لتطبيقك |
appfunctions | TODO |
arch.core | فئة مساعدة لعمليات الربط التابعة الأخرى في Architecture، بما في ذلك قواعد اختبار JUnit التي يمكن استخدامها مع LiveData. |
asynclayoutinflater | تضخيم التصاميم بشكل غير متزامن لتجنُّب حدوث تشوّش في واجهة المستخدم |
الملء التلقائي | تحسين دقة ميزة "الملء التلقائي" من خلال توسيع نطاق التلميحات |
مقياس الأداء | قياس أداء الرمز البرمجي بدقة في Android Studio |
بيومترية | المصادقة باستخدام المقاييس الحيوية أو بيانات اعتماد الجهاز وتنفيذ عمليات التشفير |
bluetooth | استخدِم ميزات البلوتوث في نظام التشغيل Android مع واجهات برمجة التطبيقات المتوافقة مع الإصدارات القديمة. |
browser | عرض صفحات الويب في المتصفّح التلقائي للمستخدم |
camera.featurecombinationquery | TODO |
camera.media3 | TODO |
camera.viewfinder | Standalone Composable and View based Viewfinder for Camera" |
car-app | إنشاء تطبيقات تستند إلى نماذج لـ Android Auto وAndroid Automotive OS |
cardview | تنفيذ نمط بطاقة Material Design مع زوايا مستديرة وظلال منسدلة |
مجموعة | تقليل تأثير الذاكرة في المجموعات الحالية والجديدة الصغيرة |
compose.animation | إنشاء رسوم متحركة في تطبيقات Jetpack Compose لإثراء تجربة المستخدم |
compose.compiler | تحويل دوال @Composable وتفعيل عمليات التحسين باستخدام مكوّن إضافي لمترجم Kotlin |
compose.foundation | يمكنك كتابة تطبيقات Jetpack Compose باستخدام وحدات أساسية جاهزة للاستخدام وتوسيع نطاق الأساس لإنشاء عناصر نظام التصميم الخاص بك. |
compose.material | يمكنك إنشاء واجهات مستخدم Jetpack Compose باستخدام "مكوّنات Material Design" الجاهزة للاستخدام. هذه هي نقطة الدخول الأعلى مستوى في Compose، وهي مصمَّمة لتوفير مكوّنات تتطابق مع تلك الموضّحة في www.material.io. |
compose.material3 | يمكنك إنشاء واجهات مستخدم Jetpack Compose باستخدام "مكوّنات Material Design 3"، وهي التطوّر التالي في Material Design. يتضمّن الإصدار 3 من Material تصميمات ومكوّنات محدّثة وميزات تخصيص Material You، مثل الألوان الديناميكية، وهو مصمّم ليكون متوافقًا مع الأسلوب المرئي الجديد وواجهة مستخدم النظام في Android 12. |
compose.material3.adaptive | استخدِم مكتبة Material 3 المتجاوبة لإنشاء واجهات مستخدم متجاوبة تتكيّف تلقائيًا مع إعدادات النافذة الحالية، مثل فئات حجم النافذة أو وضعيات الجهاز. توفّر المكتبة عمليات تنفيذ تلقائية للتصميم الأساسي وعناصر قابلة للإنشاء ضرورية لإنشاء تجارب مخصّصة. |
compose.runtime | الوحدات الأساسية لنموذج برمجة Compose وإدارة الحالة، ووقت التشغيل الأساسي الذي يستهدفه مكوّن Compose الإضافي للمترجم. |
compose.ui | المكوّنات الأساسية لواجهة مستخدم Compose اللازمة للتفاعل مع الجهاز، بما في ذلك التنسيق والرسم والإدخال |
متزامن | نقل المهام خارج سلسلة التعليمات الرئيسية باستخدام إجراءات فرعية والاستفادة من ListenableFuture |
constraintlayout | يمكنك وضع التطبيقات المصغّرة وتحديد حجمها بطريقة مرنة باستخدام تحديد الموضع النسبي. |
contentpager | تحميل البيانات من ContentProvider وعرضها على صفحات في سلسلة محادثات تعمل في الخلفية |
coordinatorlayout | تحديد موضع التطبيقات المصغّرة على مستوى التطبيق، مثل AppBarLayout وFloatingActionButton |
core | استهداف أحدث ميزات النظام الأساسي وواجهات برمجة التطبيقات مع إتاحة التطبيق أيضًا على الأجهزة القديمة |
core.uwb | استخدام تقنية النطاق الفائق العرض (UWB) على الأجهزة المتوافقة |
بيانات الاعتماد | توفّر هذه المكتبة إمكانية الوصول الموحّد إلى بيانات اعتماد المستخدم. ويمكن أن يشمل ذلك كلمات المرور ومفاتيح المرور وبيانات الاعتماد الموحّدة. يجب استخدام هذه المكتبة لتوفير تجارب تسجيل دخول سلسة وآمنة. |
credentials.providerevents | TODO |
credentials.registry | لحلّ هذه المشاكل، نضيف آلية تسجيل جديدة تتيح للتطبيق تقديم مستندات تعريف رقمية بطريقة تحافظ على الخصوصية. بشكل عام، سيسجّل تطبيق مقدّم الخدمة مسبقًا جميع بيانات الاعتماد الرقمية المرشّحة في "مدير بيانات الاعتماد". وعندما يتلقّى "مدير بيانات الاعتماد" طلبًا من تطبيق للحصول على بيانات اعتماد رقمية معيّنة، سيشغّل واجهة المستخدم الخاصة بمطابقة بيانات الاعتماد وأداة اختيار المستخدم في بيئة الاختبار المعزولة. |
cursoradapter | عرض بيانات المؤشر في أداة ListView |
customview | تنفيذ طرق عرض مخصّصة |
datastore | تخزين البيانات بشكل غير متزامن ومتّسق ومعاملاتي، ما يتيح التغلّب على بعض عيوب SharedPreferences |
documentfile | عرض مستند ملف |
draganddrop | قبول بيانات السحب والإفلات من تطبيق آخر أو داخل تطبيق، وعرض إشارة متسقة إلى إمكانية الإفلات |
drawerlayout | تنفيذ تطبيق مصغّر لدرج التنقّل في التصميم المتعدد الأبعاد |
dynamicanimation | يمكنك إنشاء صور متحركة سلسة باستخدام واجهة برمجة تطبيقات للصور المتحركة مستندة إلى الفيزياء. |
إيموجي | عرض رموز الإيموجي على الأجهزة الحالية والأقدم |
emoji2 | عرض رموز الإيموجي على الأجهزة الحالية والأقدم |
enterprise | إنشاء تطبيقات جاهزة للمؤسسات |
exifinterface | قراءة علامات EXIF لملفات الصور وكتابتها |
الألعاب | استخدام حزمة تطوير البرامج (SDK) الخاصة بألعاب Android في تطبيقك لتنفيذ مهام الألعاب المعقّدة، مثل Frame Pacing |
نظرة سريعة | إنشاء تصاميم للأسطح البعيدة باستخدام واجهة برمجة تطبيقات على غرار Jetpack Compose |
الرسومات | الاستفادة من إمكانات الرسومات على مستوى إصدارات متعددة من نظام التشغيل Android |
gridlayout | تنفيذ تنسيق شبكة |
health | إنشاء تطبيقات صحية عالية الأداء بطريقة مستقلة عن النظام الأساسي |
health.connect | يتيح هذا الإذن للمطوّرين قراءة سجلّات الصحة واللياقة البدنية للمستخدم أو كتابتها. |
heifwriter | ترميز صورة أو مجموعة صور بتنسيق HEIF باستخدام برامج الترميز المتاحة على جهاز Android |
ink | إلهام أفضل تطبيقات القلم تسهيل دخول المطوّرين إلى عالم تجارب الكتابة اليدوية الجميلة وعالية الأداء |
input | تقليل وقت استجابة تفاعلات الإدخال من خلال توقّع أحداث MotionEvent المستقبلية |
interpolator | استخدام أدوات الربط بين الصور المتحركة على المنصات القديمة |
javascriptengine | فعِّل تطبيق Android لتقييم JavaScript. |
jetifier | أداة مستقلة تنقل العناصر التابعة للمكتبة في مكتبة الدعم المتوقّفة نهائيًا إلى عناصر AndroidX التابعة المكافئة. |
leanback | استخدِم Compose for TV بدلاً من هذا العنصر. |
legacy | تم إيقاف هذا العنصر وفئاته نهائيًا. بدءًا من الإصدار 8 من نظام التشغيل Android، لم يعُد هذا الصف مفيدًا بسبب القيود المفروضة على عمليات التحقّق في الخلفية. |
lint | عمليات التحقّق من Lint للتحقّق من استخدام واجهات برمجة تطبيقات Gradle |
loader | تحميل البيانات لواجهة المستخدم التي لا تتأثر بتغييرات الإعدادات |
localbroadcastmanager | تم إيقاف هذا العنصر وفئاته نهائيًا. استخدِم LiveData أو تدفقات تفاعلية بدلاً من ذلك. |
media | مشاركة محتوى الوسائط وعناصر التحكّم مع تطبيقات أخرى حلّت مكتبة Media3 محلّها. |
media3 * | مكتبات الدعم لحالات استخدام الوسائط |
mediarouter | تتيح هذه السمة عرض الوسائط وتشغيلها على أجهزة الاستقبال عن بُعد باستخدام واجهة مستخدم مشتركة. |
multidex | نشر تطبيقات تتضمّن ملفات dex متعددة على الأجهزة التي تعمل بإصدارات Android الأقدم من 5.0 |
المقاييس | تتبُّع مقاييس وقت التشغيل المختلفة لتطبيقك وإعداد تقارير عنها |
navigation3 | Navigation 3 هي مكتبة تنقّل جديدة مصمَّمة للعمل مع Compose. |
navigationevent | توفّر مكتبة Navigation Event واجهة برمجة تطبيقات متوافقة مع KMP للتعامل مع الرجوع إلى الخلف في النظام بالإضافة إلى [إيماءة الرجوع التنبؤي](/guide/navigation/custom-back/predictive-back-gesture). |
لوحة الألوان | استخراج لوحات ألوان تمثيلية من الصور |
مكتبة لإضافة إمكانات عرض ملفات PDF داخل التطبيقات | |
percentlayout | تم إيقاف هذا العنصر وفئاته نهائيًا. استخدِم ConstraintLayout والتنسيقات المرتبطة بدلاً من ذلك. |
الأداء | توفّر تعليقات توضيحية للمصدر بشأن تحسينات الأداء. |
photopicker | توفّر هذه المكتبة عملية دمج بين Compose وAndroid Views لأداة اختيار الصور المضمّنة. |
preference | يمكنك إنشاء شاشات إعدادات تفاعلية بدون الحاجة إلى التفاعل مع مساحة تخزين الجهاز أو إدارة واجهة المستخدم. |
طباعة | طباعة الصور والمستندات والرسومات والصور الأخرى من تطبيقك |
privacysandbox.activity | TODO |
privacysandbox.ads | تتيح هذه المكتبة إمكانية الدمج مع واجهات برمجة التطبيقات التي تحافظ على الخصوصية، والتي تشكّل جزءًا من "مبادرة حماية الخصوصية" على Android. |
privacysandbox.plugins | المكوّن الإضافي Android Privacy Sandbox Sdk Library Gradle |
privacysandbox.sdkruntime | توفّر هذه المكتبة مكونات للمستهلكين الذين يمكنهم استخدام SdkRuntime. |
privacysandbox.tools | مكتبة للاستفادة من وظائف "مبادرة حماية الخصوصية" في Android |
privacysandbox.ui | TODO |
profileinstaller | تتيح للمكتبات ملء آثار التجميع مسبقًا قبل أن يقرأها ART. |
اقتراح | الترويج للمحتوى على الشاشة الرئيسية في مشغّل Android TV |
recyclerview | عرض مجموعات كبيرة من البيانات في واجهة المستخدم مع تقليل استخدام الذاكرة إلى الحدّ الأدنى |
remotecallback | إنشاء برنامج تضمين يسهّل على المطوّرين توفير PendingIntent |
resourceinspection | عرض سمات طرق العرض المخصّصة في "أداة فحص التنسيق المباشر" في Android Studio |
savedstate | اكتب مكوّنات قابلة للتوصيل تحفظ حالة واجهة المستخدم عند توقّف إحدى العمليات، وتستعيدها عند إعادة تشغيل العملية. |
الأمان | إدارة المفاتيح وتشفير الملفات وsharedpreferences بأمان |
sharetarget | توفير توافق مع الإصدارات القديمة لاستخدام الاختصارات كأهداف للمشاركة المباشرة |
slice | عرض عناصر واجهة مستخدم مستندة إلى نماذج خارج تطبيقك |
slidingpanelayout | تنفيذ نمط واجهة مستخدم لوحة منزلقة |
بدء التشغيل | استخدِم طريقة بسيطة وفعّالة لتهيئة المكوّنات عند بدء تشغيل التطبيق. |
sqlite | العمل مع قواعد بيانات SQLite محلية استخدِم Room بدلاً من ذلك، إذا أمكن. |
swiperefreshlayout | تنفيذ نمط واجهة المستخدم "السحب لإعادة التحميل" |
test.uiautomator | إطار عمل لاختبار واجهة المستخدم الوظيفية على مستوى التطبيقات |
textclassifier | تحدّد هذه السمة المحادثات والروابط وعمليات التحديد وغيرها من البُنى المشابهة في النص. |
تتبُّع | كتابة أحداث التتبُّع في مخزن مؤقت لتتبُّع النظام |
transition | تحريك الحركة في واجهة المستخدم باستخدام تنسيقات البدء والانتهاء |
tv | تزويد المطوّرين بوظائف Compose وMaterial Design لكتابة تطبيقات للتلفزيون |
tvprovider | توفير قنوات Android TV |
xr.arcore | يمكنك دمج المحتوى الرقمي في العالم الحقيقي باستخدام إمكانات الإدراك. |
xr.compose | يمكنك إنشاء تصميمات لواجهات المستخدم المكانية بشكل تعريفي تستفيد من إمكانات Android XR المكانية. |
xr.compose.material3 | إنشاء تطبيقات باستخدام مكوّنات وتنسيقات Material تتكيّف مع تجارب الواقع الممتد |
xr.runtime | ابدأ جلسة الواقع المعزّز أو الثلاثي الأبعاد المخصّصة باستخدام وقت التشغيل الأصلي. |
xr.scenecore | إنشاء مخطط المشهد في Android XR وتعديله باستخدام محتوى ثلاثي الأبعاد |
vectordrawable | عرض الرسومات المتّجهة |
versionedparcelable | توفّر هذه السمة تنسيق تسلسل ثنائي ثابتًا ومضغوطًا يمكن تمريره بين العمليات أو الاحتفاظ به بأمان. |
viewpager | عرض "طرق العرض" أو "اللقطات" بتنسيق قابل للتمرير استخدِم viewpager2 بدلاً من ذلك، إذا أمكن. |
viewpager2 | عرض "طرق العرض" أو "اللقطات" بتنسيق قابل للتمرير |
wear | إنشاء تطبيقات لساعات Wear OS الذكية من Google |
wear.compose | يمكنك كتابة تطبيقات Jetpack Compose لأجهزة Wear OS من خلال توفير وظائف تتوافق مع أحجام الأجهزة المختلفة وإيماءات التنقّل. |
wear.protolayout | تتيح هذه المكتبة تحديد مجموعة من تصميمات واجهة المستخدم والتعبيرات غير المرتبطة بواجهة المستخدم ليتم عرضها/تقييمها على مساحات عرض بعيدة. |
wear.tiles | إنشاء تطبيقات لساعات Wear OS الذكية من Google |
wear.watchface | إنشاء تطبيقات لساعات Wear OS الذكية من Google |
wear.watchfacepush | تتيح ميزة "إرسال خلفية شاشة الساعة" لأحد تطبيقات Wear OS تثبيت خلفية شاشة الساعة على الساعة آليًا. |
webkit | العمل مع واجهات برمجة تطبيقات WebView الحديثة على الإصدار 5 من نظام التشغيل Android والإصدارات الأحدث |
نافذة | تساعد في توفير أشكال مختلفة للأجهزة، مثل الأجهزة القابلة للطي. |
window.extensions.core | واجهات برمجة التطبيقات الأساسية لإضافات مكتبة Window Manager |
التعرّف على كيفية استخدام Jetpack
التدريب على الأساسيات
تعلَّم مكتبات Jetpack الأساسية في دورة Android Basics (أساسيات Android) من خلال الدورة التدريبية Compose وقلِّل النصوص النموذجية في تطبيقك.
برنامج تعليمي عملي
احصل على تجربة عملية من خلال ثلاث مكتبات Jetpack تبسّط طبقة بياناتك: LiveData وViewModel وroom
نموذج تطبيق دوار الشمس
اطّلِع على طريقة استخدام مكتبات Jetpack الأكثر رواجًا معًا في تطبيق على مستوى الإنتاج.