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. |
| lifecycle * | ליצור רכיבים שמודעים למחזור החיים ויכולים להתאים את ההתנהגות שלהם בהתאם למצב הנוכחי של מחזור החיים של פעילות או של קטע. |
| רכיבי Material Design * | רכיבים מודולריים וניתנים להתאמה אישית של ממשק המשתמש של Material Design ל-Android. |
| navigation * | בנייה ועיצוב של ממשק המשתמש באפליקציה, טיפול בקישורי עומק וניווט בין מסכים. |
| paging * | טעינת נתונים בדפים והצגה שלהם ב-RecyclerView. |
| room * | ליצור, לאחסן ולנהל נתונים קבועים שמגובים במסד נתונים של SQLite. |
| room3 * | ליצור, לאחסן ולנהל נתונים קבועים שמגובים במסד נתונים של SQLite. |
| test * | בדיקה ב-Android. |
| work * | תזמון והרצה של משימות ברקע שניתן לדחות, שמבוססות על אילוצים. |
| a2ui | הכלי לעיבוד Agent-to-UI (A2UI) של Jetpack Compose מספק הטמעה של פרוטוקול A2UI, ומאפשר לסוכני AI ליצור ממשקי משתמש עשירים ואינטראקטיביים שמעבדים רכיבי Compose מקוריים – בלי להריץ קוד שרירותי. |
| a2ui.compose | רכיב ה-renderer של Jetpack Compose Agent-to-UI (A2UI) מספק הטמעה של פרוטוקול A2UI, שמאפשר לסוכני AI ליצור ממשקי משתמש עשירים ואינטראקטיביים שמציגים רכיבי Compose נייטיביים – בלי להריץ קוד שרירותי. |
| ads | קבלת מזהה פרסום עם או בלי Play Services. |
| annotation.keep | לביצוע |
| annotation | לחשוף מטא-נתונים שעוזרים לכלים ולמפתחים אחרים להבין את הקוד של האפליקציה. |
| appfunctions | ההרשאה מאפשרת לאפליקציות לשתף פונקציונליות ונתונים עם עוזרים דיגיטליים מבוססי-AI, כדי שהם יוכלו לגלות ולבצע משימות ישירות במכשיר ולמלא את בקשות המשתמשים. |
| arch.core | כלי עזר ליחסי תלות אחרים של ארכיטקטורה, כולל כללי בדיקה של JUnit שאפשר להשתמש בהם עם LiveData. |
| asynclayoutinflater | כדי למנוע תקלות בממשק המשתמש, כדאי להגדיל את הפריסות באופן אסינכרוני. |
| autofill | שיפור הדיוק של המילוי האוטומטי באמצעות הרחבת הרמזים. |
| benchmark | מודדים במדויק את ביצועי הקוד ב-Android Studio. |
| biometric | לאמת באמצעות נתונים ביומטריים או פרטי כניסה למכשיר, ולבצע פעולות קריפטוגרפיות. |
| bluetooth | שימוש בתכונות ה-Bluetooth של פלטפורמת Android עם ממשקי API שתואמים לדורות קודמים. |
| דפדפן | להציג דפי אינטרנט בדפדפן ברירת המחדל של המשתמש. |
| camera.featurecombinationquery | שאילתות לגבי יכולות המצלמה. |
| camera.media3 | לביצוע |
| camera.viewfinder | מצלמה עם תצוגת מצלמה עצמאית מבוססת-View וניתנת להרכבה" |
| 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. הספרייה מספקת יישומי scaffold שמוגדרים כברירת מחדל ורכיבי composable של אבני בניין כדי ליצור חוויות מותאמות אישית. |
| compose.remote.foundation | לביצוע |
| compose.remote | Remote Compose הוא framework ליצירת ממשק משתמש למשטחים מרוחקים |
| compose.runtime | אבני הבניין הבסיסיות של מודל התכנות וניהול המצב של Compose, וזמן הריצה המרכזי של פלאגין מהדר Compose לטירגוט. |
| compose.ui | רכיבים בסיסיים של ממשק המשתמש של Compose שנדרשים כדי לקיים אינטראקציה עם המכשיר, כולל פריסה, שרטוט וקלט. |
| concurrent | להעביר משימות מה-thread הראשי באמצעות קורוטינות ולנצל את ListenableFuture. |
| constraintlayout | מיקום ושינוי גודל של ווידג'טים בצורה גמישה באמצעות מיקום יחסי. |
| contentpager | טעינה ודפדוף בנתוני ContentProvider בשרשור ברקע. |
| coordinatorlayout | מיקום ווידג'טים של אפליקציות ברמה העליונה, כמו AppBarLayout ו-FloatingActionButton. |
| locationbutton | |
| core | כדאי לטרגט את התכונות וממשקי ה-API העדכניים ביותר של הפלטפורמה, וגם לתמוך במכשירים ישנים יותר. |
| core.uwb | הטמעת UWB (Ultra Wideband) במכשירים נתמכים. |
| credentials | הספרייה הזו מספקת גישה מאוחדת לפרטי הכניסה של המשתמש. הנתונים האלה יכולים לכלול סיסמאות, מפתחות גישה ופרטי כניסה מאוחדים. הספרייה הזו נועדה לספק חוויית כניסה חלקה ומאובטחת. |
| credentials.providerevents | הספרייה הזו מספקת קבוצה של ממשקי API לספקי פרטי כניסה כדי להשתתף באירועים של ספקים, כמו העברת פרטי כניסה ושינויים באותות של פרטי כניסה. |
| credentials.registry | כדי לפתור את הבעיות האלה, אנחנו מוסיפים מנגנון רישום חדש שמאפשר לאפליקציה לספק אישורים דיגיטליים באופן ששומר על הפרטיות. ברמה הכללית, האפליקציה של הספק תרשום מראש את כל פרטי הכניסה הדיגיטליים המועמדים שלה ב-Credential Manager. כשה-Credential Manager יקבל בקשה מאפליקציה לפרטי כניסה דיגיטליים ספציפיים, הוא יפעיל את ממשק המשתמש לבחירת משתמשים ולהתאמת פרטי הכניסה בארגז חול. |
| cursoradapter | חשיפת נתוני Cursor לווידג'ט ListView. |
| customview | הטמעה של תצוגות בהתאמה אישית. |
| datastore | אחסון נתונים באופן אסינכרוני, עקבי וטרנזקציונלי, תוך התגברות על חלק מהחסרונות של SharedPreferences |
| documentfile | לצפות בקובץ מסמך. |
| draganddrop | לקבל נתונים שנגררו ושוחררו מאפליקציה אחרת או בתוך האפליקציה, ולהציג אפשרות עקבית של יעד לשחרור. |
| drawerlayout | הטמעה של ווידג'ט מגירה של Material Design. |
| dynamicanimation | יצירת אנימציות חלקות באמצעות Animation API שמבוסס על פיזיקה. |
| emoji | הצגת אמוג'י במכשירים הנוכחיים ובמכשירים ישנים יותר. |
| emoji2 | הצגת אמוג'י במכשירים נוכחיים ובמכשירים ישנים יותר. |
| enterprise | ליצור אפליקציות שמתאימות לארגונים. |
| exifinterface | לקרוא ולכתוב תגי EXIF של קובצי תמונות. |
| games | אתם יכולים להשתמש ב-SDK למשחק ב-Android באופן מקורי באפליקציה כדי לבצע משימות מורכבות במשחקים, כמו קצב פריימים. |
| glance.adaptive | לביצוע |
| glance | יוצרים פריסות למשטחים מרוחקים באמצעות API בסגנון Jetpack Compose. |
| glance.wear | Glance Wear היא ספרייה ליצירת ווידג'טים ל-Wear OS |
| graphics | שימוש במתקני גרפיקה בכמה גרסאות של פלטפורמת Android |
| gridlayout | הטמעה של פריסת רשת. |
| health | ליצור אפליקציות בריאות עם ביצועים גבוהים, בלי קשר לפלטפורמה. |
| health.connect | מאפשרת למפתחים לקרוא או לכתוב את רשומות הבריאות והכושר של המשתמשים. |
| heifwriter | קידוד תמונה או אוסף תמונות בפורמט HEIF באמצעות הקודקים הזמינים במכשיר Android. |
| ink | לעודד פיתוח של אפליקציות מעולות לעט סטיילוס. הפחתת המכשולים למפתחים כדי ליצור חוויות כתיבה יפות ואיכותיות. יש תמיכה בסימון בדיו ב-Android וב-JVM בצד השרת (בשלב הזה יש תמיכה ב-Linux ל-x86_64). |
| קלט | הפחתת זמן האחזור של אינטראקציות קלט על ידי חיזוי של MotionEvents עתידיים |
| interpolator | שימוש בפונקציות אינטרפולציה של אנימציה בפלטפורמות ישנות יותר. |
| javascriptengine | מאפשרים לאפליקציה ל-Android להעריך את JavaScript. |
| jetifier | כלי עצמאי שמעביר את התלויות של הספרייה בספריית התמיכה שהוצאה משימוש לתלויות מקבילות ב-AndroidX. |
| leanback | כלי עצמאי שמעביר את התלויות של ספרייה בספריית התמיכה שהוצאה משימוש לתלויות מקבילות ב-AndroidX. |
| legacy | הארטיפקט הזה והמחלקות שלו הוצאו משימוש. החל מ-Android 8, הגבלות על בדיקות ברקע הופכות את המחלקה הזו ללא שימושית. |
| lint | בדיקות Lint כדי לאמת את השימוש ב-Gradle APIs |
| 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 | פלאגין Android Gradle של ספריית ה-SDK של ארגז החול לפרטיות |
| privacysandbox.sdkruntime | הספרייה הזו מספקת רכיבים לצרכנים שמודעים ל-SdkRuntime |
| privacysandbox.tools | ספרייה לשימוש בפונקציונליות של ארגז החול לפרטיות ב-Android |
| privacysandbox.ui | לביצוע |
| profileinstaller | מאפשר לספריות לאכלס מראש עקבות של הידור לפני הזמן, כדי ש-ART יוכל לקרוא אותן. |
| recommendation | קידום תוכן במסך הבית של מרכז האפליקציות של Android TV. |
| recyclerview | להציג קבוצות גדולות של נתונים בממשק המשתמש תוך צמצום השימוש בזיכרון. |
| remotecallback | יוצרים wrapper שמקל על המפתחים לספק PendingIntent. |
| resourceinspection | הצגת המאפיינים של תצוגות בהתאמה אישית בכלי Live Layout Inspector ב-Android Studio. |
| savedstate | לכתוב רכיבים שניתנים לחיבור, ששומרים את מצב ממשק המשתמש כשתהליך מסתיים ומשחזרים אותו כשהתהליך מופעל מחדש. |
| אבטחה | ניהול בטוח של מפתחות והצפנה של קבצים והעדפות משותפות. |
| 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 | ממשק API מודרני של GPU לגרפיקה ולמחשוב מ-Kotlin. |
| webkit | לעבוד עם ממשקי WebView API מודרניים ב-Android מגרסה 5 ואילך. |
| חלון | עוזר לתמוך בגורמי צורה שונים של מכשירים, כמו מכשירים מתקפלים. |
| window.extensions.core | ממשקי ה-API העיקריים לתוספים של ספריית Window Manager |
| xr.arcore | היכולות של Gemini מאפשרות להביא תוכן דיגיטלי לעולם האמיתי. |
| xr.compose | בנייה הצהרתית של פריסות ממשק משתמש מרחביות שמנצלות את היכולות המרחביות של Android XR. |
| xr.compose.material3 | יצירת אפליקציות באמצעות רכיבים ופריסות של Material שמותאמים ל-XR |
| xr.glimmer | שפת עיצוב וערכת כלים לבניית ממשק משתמש, נועדה ליצירה של חוויות מציאות רבודה ב-Android XR |
| xr.projected | ליצור חוויות שמנצלות את היכולות הייחודיות של מכשירי XR מחוברים. |
| xr.runtime | להתחיל סשן מותאם אישית של AR או 3D עם זמן הריצה המקורי שלנו. |
| xr.scenecore | ליצור ולשנות את תרשים הסצנה של Android XR עם תוכן תלת-ממדי. |