Jetpack ל-Android
Jetpack הוא חבילה של ספריות שעוזרות לכם לפעול לפי שיטות מומלצות, לצמצם את קוד ה-boilerplate ולכתוב קוד שפועל באופן עקבי בגרסאות, במכשירים ובגורמי צורה שונים של Android, כדי שתוכלו להתמקד בקוד שחשוב לכם.
Jetpack פיתוח נייטיב
פיתוח ממשק משתמש באמצעות 'כתיבה'
ערכת כלים מודרנית לפיתוח ממשק משתמש מותאם, שמאפשרת לפשט ולהאיץ את הפיתוח של ממשק המשתמש ב-Android.
למה כדאי להשתמש ב-Android Jetpack?
שיטות מומלצות
ספריות Jetpack ב-Android מבוססות על שיטות עיצוב מודרניות, ומאפשרות פחות קריסות ופחות דליפות זיכרון בזכות תאימות לאחור.
להוציא קוד סטנדרטי
Android Jetpack מטפל בעבודה מייגעת כמו ניהול משימות ברקע, ניווט ומחזור החיים של הפעילות, כדי שתוכלו להתמקד בפיתוח אפליקציה מצוינת.
צמצום המקטעים
כדאי להשתמש בספריות שפועלות באופן עקבי בגרסאות Android ובמכשירים שונים כדי להפחית את המורכבות.
מיועד לכל גודל מסך
ספריות Jetpack כמו androidx.compose.material3.adaptive.layout מפשטות את הפיתוח של פריסות מותאמות שעברו אופטימיזציה לכל גדלי התצוגה.
איך משתמשים ב-Jetpack
הדרכה למתחילים
לומדים על ספריות Jetpack החיוניות בקורס 'יסודות Android' עם 'כתיבה' ומצמצמים את התבניות הסטנדרטיות באפליקציה
מדריך מעשי
התנסות מעשית עם שלוש ספריות Jetpack שמפשטות את שכבת הנתונים: LiveData, ViewModel ו- Room
עכשיו באפליקציה לדוגמה ל-Android
איך ארכיטקטורת Android מודרנית מוטמעת באפליקציה בעולם האמיתי
ספריות Jetpack עיון בכל הספריות
* ספריות פופולריות ונפוצות מופיעות קודם
| פעילות * | גישה לממשקי API קומפוזביליים שמבוססים על Activity. |
| רכיבים מותאמים ב-Material Design 3 | יצירת ממשקי משתמש מותאמים באמצעות רכיבי Material Design 3. |
| appcompat * | מאפשרת גישה לממשקי API חדשים בגרסאות API ישנות יותר של הפלטפורמה (רבות מהן משתמשות ב-Material Design). |
| appsearch * | אתם יכולים ליצור יכולות חיפוש מותאמות אישית בתוך האפליקציה בשביל המשתמשים שלכם. |
| camera * | לפתח אפליקציות מצלמה לנייד. |
| compose * | מגדירים את ממשק המשתמש באופן פרוגרמטי באמצעות פונקציות קומפוזביליות שמתארות את הצורה ואת התלות בנתונים שלו. |
| databinding * | אפשר לקשר רכיבי ממשק משתמש בפריסות למקורות נתונים באפליקציה באמצעות פורמט הצהרתי. |
| fragment * | אפשר לחלק את האפליקציה לכמה מסכים נפרדים שמתארחים בתוך פעילות. |
| hilt * | הרחבת הפונקציונליות של Dagger Hilt כדי לאפשר הזרקת תלות של מחלקות מסוימות מספריות androidx. |
| מחזור חיים * | ליצור רכיבים שמודעים למחזור החיים ויכולים להתאים את ההתנהגות שלהם לפי המצב הנוכחי של מחזור החיים של פעילות או קטע. |
| רכיבי Material Design * | רכיבים מודולריים וניתנים להתאמה אישית של ממשק המשתמש של Material Design ל-Android. |
| ניווט * | בנייה ועיצוב של ממשק המשתמש באפליקציה, טיפול בקישורי עומק וניווט בין מסכים. |
| paging * | לטעון נתונים בדפים ולהציג אותם ב-RecyclerView. |
| room * | ליצור, לאחסן ולנהל נתונים קבועים שמגובים במסד נתונים של SQLite. |
| room3 * | ליצור, לאחסן ולנהל נתונים קבועים שמגובים במסד נתונים של SQLite. |
| test * | בדיקה ב-Android. |
| עבודה * | תזמון והרצה של משימות ברקע שניתן לדחות, שמבוססות על אילוצים. |
| a2ui | הכלי לעיבוד Agent-to-UI (A2UI) של Jetpack Compose מספק הטמעה של פרוטוקול A2UI, שמאפשר לסוכני AI ליצור ממשקי משתמש עשירים ואינטראקטיביים שמעבדים רכיבי Compose מקוריים – בלי להריץ קוד שרירותי. |
| a2ui.compose | הכלי לעיבוד Agent-to-UI (A2UI) של Jetpack Compose מספק הטמעה של פרוטוקול A2UI, שמאפשר לסוכני AI ליצור ממשקי משתמש עשירים ואינטראקטיביים שמעבדים רכיבי Compose מקוריים – בלי להריץ קוד שרירותי. |
| מודעות | קבלת מזהה פרסום עם או בלי Play Services. |
| annotation.keep | לביצוע |
| annotation | לחשוף מטא-נתונים שעוזרים לכלים ולמפתחים אחרים להבין את הקוד של האפליקציה. |
| appfunctions | מאפשר לאפליקציות לשתף פונקציונליות ונתונים עם עוזרים אישיים מבוססי-AI, כדי שהם יוכלו לגלות ולבצע משימות ישירות במכשיר ולמלא את בקשות המשתמשים. |
| appstate.statestore | -- |
| appstate.transform | -- |
| arch.core | כלי עזר ליחסי תלות אחרים של ארכיטקטורה, כולל כללי בדיקה של JUnit שאפשר להשתמש בהם עם LiveData. |
| asynclayoutinflater | כדי למנוע תקלות בממשק המשתמש, כדאי להגדיל את הפריסות באופן אסינכרוני. |
| autofill | שיפור הדיוק של המילוי האוטומטי באמצעות הרחבת הרמזים. |
| נקודת השוואה | למדוד במדויק את ביצועי הקוד ב-Android Studio. |
| biometric | לאמת באמצעות נתונים ביומטריים או פרטי כניסה למכשיר, ולבצע פעולות קריפטוגרפיות. |
| bluetooth | להשתמש בתכונות ה-Bluetooth של פלטפורמת Android עם ממשקי API שתואמים לדורות קודמים. |
| דפדפן | להציג דפי אינטרנט בדפדפן ברירת המחדל של המשתמש. |
| camera.featurecombinationquery | שאילתות לגבי יכולות המצלמה. |
| camera.media3 | לביצוע |
| camera.viewfinder | תצוגת צילום עצמאית מבוססת-View ו-Composable למצלמה" |
| car-app | פיתוח אפליקציות שמבוססות על תבניות ל-Android Auto ול-Android Automotive OS. |
| cardview | להטמיע את תבנית הכרטיס של Material Design עם פינות מעוגלות וצללים. |
| collection | להפחית את ההשפעה על הזיכרון של אוספים קיימים וחדשים שהם קטנים. |
| compose.animation | ליצור אנימציות באפליקציות Jetpack Compose כדי להעשיר את חוויית המשתמש. |
| compose.compiler | המרת פונקציות קומפוזביליות והפעלת אופטימיזציות באמצעות פלאגין של קומפיילר Kotlin. |
| compose.foundation | אפשר לכתוב אפליקציות Jetpack Compose עם אבני בניין מוכנות לשימוש ולהרחיב את הבסיס כדי ליצור חלקים משלכם במערכת העיצוב. |
| compose.material | פיתוח ממשקי משתמש ב-Jetpack Compose עם רכיבי Material Design מוכנים לשימוש. זוהי נקודת הכניסה ברמה הגבוהה יותר של 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 | לביצוע |
| compose.remote | Remote Compose הוא framework ליצירת ממשק משתמש למשטחים מרוחקים |
| compose.runtime | אבני הבניין הבסיסיות של מודל התכנות וניהול המצבים של Compose, וסביבת זמן הריצה העיקרית של פלאגין המהדר של Compose. |
| compose.ui | רכיבים בסיסיים של ממשק המשתמש של Compose שנדרשים כדי לקיים אינטראקציה עם המכשיר, כולל פריסה, שרטוט וקלט. |
| concurrent | העברת משימות מה-thread הראשי באמצעות פונקציות Coroutine ושימוש ב-ListenableFuture. |
| constraintlayout | מיקום יחסי מאפשר למקם ווידג'טים ולשנות את הגודל שלהם בצורה גמישה. |
| contentpager | טעינה ודפדוף בנתוני ContentProvider בשרשור ברקע. |
| coordinatorlayout | מיקום ווידג'טים של אפליקציות ברמה העליונה, כמו AppBarLayout ו-FloatingActionButton. |
| locationbutton | |
| core | כדאי לטרגט את התכונות וממשקי ה-API העדכניים ביותר של הפלטפורמה, וגם לתמוך במכשירים ישנים יותר. |
| core.uwb | להטמיע UWB (פס רחב במיוחד) במכשירים נתמכים. |
| פרטי כניסה | הספרייה הזו מספקת גישה מאוחדת לפרטי הכניסה של המשתמש. הנתונים האלה יכולים לכלול סיסמאות, מפתחות גישה ופרטי כניסה מאוחדים. הספרייה הזו מספקת חוויית כניסה חלקה ומאובטחת. |
| credentials.providerevents | הספרייה הזו מספקת קבוצה של ממשקי API לספקי פרטי כניסה כדי להשתתף באירועים של ספקים, כמו העברת פרטי כניסה ושינויים באותות של פרטי כניסה. |
| credentials.registry | כדי לפתור את הבעיות האלה, אנחנו מוסיפים מנגנון רישום חדש שמאפשר לאפליקציה לספק פרטי כניסה דיגיטליים תוך שמירה על הפרטיות. ברמה הכללית, אפליקציית הספק תרשום מראש את כל התעודות המזהות הדיגיטליות המועמדות שלה ב-Credential Manager. כש-Credential Manager יקבל בקשה מאפליקציה לתעודה מזהה דיגיטלית ספציפית, הוא יפעיל את ממשק המשתמש להתאמת התעודה המזהה ולבחירת המשתמש בארגז חול. |
| cursoradapter | חשיפת נתוני סמן לווידג'ט ListView. |
| customview | להטמיע תצוגות בהתאמה אישית. |
| datastore | אחסון נתונים באופן אסינכרוני, עקבי וטרנזקציונלי, תוך התגברות על חלק מהחסרונות של SharedPreferences |
| documentfile | לצפות בקובץ מסמך. |
| draganddrop | לקבל נתונים בגרירה ושחרור מאפליקציה אחרת או בתוך אפליקציה, ולהציג אפשרות עקבית של יעד לשחרור. |
| drawerlayout | הטמעת ווידג'ט של תפריט הזזה ב-Material Design. |
| dynamicanimation | יצירת אנימציות חלקות באמצעות ממשק API לאנימציה שמבוססת על פיזיקה. |
| emoji | הצגת אמוג'י במכשירים הנוכחיים ובמכשירים ישנים יותר. |
| emoji2 | הצגת אמוג'י במכשירים הנוכחיים ובמכשירים ישנים יותר. |
| enterprise | ליצור אפליקציות שמתאימות לארגונים. |
| exifinterface | לקרוא ולכתוב תגי EXIF של קובצי תמונות. |
| games | אתם יכולים להשתמש ב-SDK למשחק ב-Android באופן מקורי באפליקציה כדי לבצע משימות מורכבות במשחקים, כמו Frame Pacing. |
| glance.adaptive | לביצוע |
| glance | פיתוח פריסות למשטחים מרוחקים באמצעות API בסגנון Jetpack Compose. |
| glance.wear | Glance Wear היא ספרייה ליצירת ווידג'טים ל-Wear OS |
| graphics | שימוש במתקני גרפיקה בכמה גרסאות של פלטפורמת Android |
| gridlayout | להטמיע פריסת רשת. |
| בריאות | ליצור אפליקציות בריאות עם ביצועים גבוהים, בלי קשר לפלטפורמה. |
| health.connect | מאפשרת למפתחים לקרוא או לכתוב את רשומות הבריאות והכושר של המשתמשים. |
| heifwriter | קידוד תמונה או אוסף תמונות בפורמט HEIF באמצעות הקודקים הזמינים במכשיר Android. |
| ink | השראה לאפליקציות עט מעולות. הפחתת חסמי הכניסה למפתחים כדי ליצור חוויות כתיבה יפות ואיכותיות. תמיכה ב-Inking ב-Android וב-JVM בצד השרת (כרגע יש תמיכה ב-Linux ל-x86_64). |
| קלט | הפחתת זמן האחזור של אינטראקציות קלט על ידי חיזוי של אירועי MotionEvent עתידיים |
| interpolator | שימוש באינטרפולטורים של אנימציה בפלטפורמות ישנות יותר. |
| javascriptengine | מאפשרים לאפליקציה ל-Android להעריך את JavaScript. |
| jetifier | כלי עצמאי שמעביר את התלויות של הספרייה בספריית התמיכה שהוצאה משימוש לתלויות מקבילות ב-AndroidX. |
| leanback | כלי עצמאי שמעביר את התלויות של הספרייה בספריית התמיכה שהוצאה משימוש לתלויות מקבילות ב-AndroidX. |
| legacy | הארטיפקט הזה והמחלקות שלו הוצאו משימוש. החל מ-Android 8, הגבלות על בדיקות ברקע הופכות את המחלקה הזו ללא שימושית. |
| lint | בדיקות Lint לאימות השימוש בממשקי Gradle API |
| loader | טעינת נתונים לממשק המשתמש ששורדים שינויים בהגדרות האישיות. |
| localbroadcastmanager | הארטיפקט הזה והמחלקות שלו הוצאו משימוש. במקום זאת, השתמשו ב-LiveData או ב-reactive streams. |
| media | לשתף תוכן מדיה ואמצעי בקרה עם אפליקציות אחרות. הוחלף על ידי media3. |
| media3 * | ספריות תמיכה לתרחישי שימוש במדיה. |
| mediarouter | הפעלת הצגה והפעלה של מדיה במכשירי מקלט מרוחקים באמצעות ממשק משתמש משותף. |
| multidex | פריסת אפליקציות עם כמה קובצי dex במכשירים עם גרסה קודמת ל-Android 5. |
| metrics | מעקב ודיווח על מדדי זמן ריצה שונים של האפליקציה |
| navigation3 | Navigation 3 היא ספריית ניווט חדשה שמיועדת לעבודה עם Compose. |
| navigationevent | ספריית Navigation Event מספקת API שמתאים קודם כל ל-KMP לטיפול בחזרה במערכת וגם ב[חיזוי תנועת החזרה](/guide/navigation/custom-back/predictive-back-gesture). |
| palette | לחלץ לוחות צבעים מייצגים מתמונות. |
| ספרייה להוספת יכולות צפייה בקובצי PDF בתוך אפליקציות. | |
| percentlayout | הארטיפקט הזה והמחלקות שלו הוצאו משימוש. במקום זאת, צריך להשתמש ב-ConstraintLayout ובפריסות שמשויכות אליו. |
| performance | מספק הערות מקור לאופטימיזציה של הביצועים. |
| כלי לבחירת תמונות | הספרייה הזו מספקת שילוב של Compose ו-Android Views לכלי המוטמע לבחירת תמונות. |
| preference | לבנות מסכי הגדרות אינטראקטיביים בלי צורך באינטראקציה עם האחסון במכשיר או בניהול של ממשק המשתמש. |
| להדפיס תמונות, מסמכים וגרפיקות אחרות מהאפליקציה. | |
| privacysandbox.activity | לביצוע |
| privacysandbox.ads | הספרייה הזו מאפשרת שילוב עם ממשקי API לשמירה על הפרטיות, שהם חלק מארגז החול לפרטיות ב-Android. |
| privacysandbox.plugins | פלאגין Gradle של ספריית ה-SDK של ארגז החול לפרטיות ב-Android |
| privacysandbox.sdkruntime | הספרייה הזו מספקת רכיבים לצרכנים שמודעים ל-SdkRuntime |
| privacysandbox.tools | ספרייה לשימוש בפונקציונליות של ארגז החול לפרטיות ב-Android |
| privacysandbox.ui | לביצוע |
| profileinstaller | מאפשר לספריות לאכלס מראש עקבות של הידור לפני הזמן, כדי ש-ART יוכל לקרוא אותן. |
| recommendation | לקדם תוכן במסך הבית של Android TV Launcher. |
| recyclerview | להציג קבוצות גדולות של נתונים בממשק המשתמש תוך צמצום השימוש בזיכרון. |
| remotecallback | יוצרים wrapper שמקל על המפתחים לספק PendingIntent. |
| resourceinspection | הצגת המאפיינים של תצוגות בהתאמה אישית בכלי Live Layout Inspector ב-Android Studio. |
| savedstate | לכתוב רכיבים שניתנים לחיבור, ששומרים את מצב ממשק המשתמש כשתהליך מסתיים ומשחזרים אותו כשהתהליך מופעל מחדש. |
| אבטחה | ניהול מפתחות בצורה בטוחה והצפנת קבצים ו-sharedpreferences. |
| sharetarget | לספק תאימות לדורות קודמים כדי להשתמש בקיצורי דרך כיעדי שיתוף ישיר. |
| slice | להציג רכיבים בממשק המשתמש עם תבניות מחוץ לאפליקציה. |
| slidingpanelayout | הטמעת תבנית של ממשק משתמש עם חלונית הזזה. |
| startup | הטמעה של דרך פשוטה ויעילה להפעלת רכיבים בזמן הפעלת האפליקציה. |
| sqlite | לעבוד עם מסדי נתונים מקומיים של SQLite. אם אפשר, השתמשו ב-Room במקום זאת. |
| swiperefreshlayout | מטמיעים את תבנית ממשק המשתמש "החלקה לרענון". |
| test.backup | מסגרת בדיקה אוטומטית שמאמתת שנתוני המשתמשים ופרטי הכניסה לחשבון נשמרים באופן בטוח אחרי שדרוגי מכשירים ושחזורים מהענן. |
| test.ext | לביצוע |
| test.uiautomator | מסגרת לבדיקת ממשק משתמש פונקציונלי באפליקציות שונות |
| text-vertical | -- |
| textclassifier | מזהה שיחות, קישורים, בחירות ומבנים דומים אחרים בטקסט. |
| מעקב | כתיבת אירועי מעקב למאגר של עקבות המערכת. |
| transition | הנפשת תנועה בממשק המשתמש עם פריסות התחלה וסיום. |
| tv | מספק למפתחים פונקציות של Compose ו-Material Design כדי לכתוב אפליקציות לטלוויזיה |
| tvprovider | לספק ערוצי Android TV. |
| vectordrawable | עיבוד של פרטי גרפי וקטורי. |
| versionedparcelable | מספק פורמט סריאליזציה בינארי יציב וקומפקטי שאפשר להעביר בין תהליכים או לשמור באופן בטוח. |
| viewpager | הצגת תצוגות או מקטעים בפורמט שניתן להחליק. אם אפשר, כדאי להשתמש ב-viewpager2 במקום זאת. |
| viewpager2 | הצגת תצוגות או מקטעים בפורמט שניתן להחליק. |
| wear | ליצור אפליקציות לשעונים חכמים עם Wear OS by Google. |
| wear.compose | לכתוב אפליקציות Jetpack Compose למכשירי Wear OS, על ידי הוספת פונקציונליות שתומכת בגדלים שונים של מכשירים ובתנועות ניווט. |
| wear.compose.remote | לכתוב ווידג'טים וממשקי משתמש אחרים בשליטה מרחוק ל-Wear OS באמצעות מערכת העיצוב Material 3 Expressive. |
| wear.protolayout | הספרייה הזו מאפשרת להגדיר קבוצה של פריסות של ממשק המשתמש וביטויים שלא קשורים לממשק המשתמש, כדי לעבד או להעריך אותם בפלטפורמות מרוחקות. |
| wear.tiles | ליצור אפליקציות לשעונים חכמים עם Wear OS by Google. |
| wear.watchface | ליצור אפליקציות לשעונים חכמים עם Wear OS by Google. |
| wear.watchfacepush | התכונה "העברת תצוגת השעון" מאפשרת לאפליקציה ל-Wear OS להתקין תצוגת שעון בשעון באופן פרוגרמטי. |
| אינטרנט | -- |
| webgpu | ממשק GPU API מודרני לגרפיקה ולמחשוב מ-Kotlin. |
| webkit | לעבוד עם ממשקי WebView API מודרניים ב-Android מגרסה 5 ואילך. |
| window | תמיכה בגורמי צורה שונים של מכשירים, כמו מכשירים מתקפלים. |
| window.extensions.core | ממשקי ה-API העיקריים לתוספים של ספריית Window Manager |
| xr.arcore | העברת תוכן דיגיטלי לעולם האמיתי באמצעות יכולות תפיסה. |
| xr.compose | בנייה הצהרתית של פריסות ממשק משתמש מרחביות שמנצלות את היכולות המרחביות של Android XR. |
| xr.compose.material3 | פיתוח באמצעות רכיבים ופריסות של Material שמותאמים ל-XR |
| xr.glimmer | שפת עיצוב וערכת כלים לבניית ממשק משתמש, נועדה ליצירה של חוויות מציאות רבודה ב-Android XR |
| xr.projected | ליצור חוויות שמתבססות על היכולות הייחודיות של מכשירי XR מחוברים. |
| xr.runtime | התחלת סשן AR או תלת-ממד בהתאמה אישית באמצעות סביבת זמן הריצה המקורית שלנו. |
| xr.scenecore | ליצור ולשנות את תרשים הסצנה של Android XR עם תוכן תלת-ממדי. |