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 עיון בכל הספריות
* ספריות פופולריות שנמצאות בשימוש תדיר מופיעות ראשונות
| activity * | גישה לממשקי API שאפשר להרכיב, שמבוססים על Activity. |
| רכיבים מותאמים ב-Material Design 3 | יצירת ממשקי משתמש מותאמים באמצעות רכיבי Material Design 3. |
| appcompat * | מאפשרת גישה לממשקי API חדשים בגרסאות ישנות יותר של API בפלטפורמה (רבים מהם משתמשים ב-Material Design). |
| appsearch * | יצירת יכולות חיפוש מותאמות אישית בתוך האפליקציה עבור המשתמשים. |
| camera * | פיתוח אפליקציות מצלמה לנייד. |
| compose * | מגדירים את ממשק המשתמש באופן פרוגרמטי באמצעות פונקציות קומפוזביליות שמתארות את הצורה שלו ואת התלות שלו בנתונים. |
| databinding * | אפשר לקשר רכיבי ממשק משתמש בפריסות למקורות נתונים באפליקציה באמצעות פורמט הצהרתי. |
| fragment * | פילוח האפליקציה למספר מסכים עצמאיים שמתארחים ב-Activity. |
| hilt * | הרחבת הפונקציונליות של Dagger Hilt כדי לאפשר הזרקת תלות של מחלקות מסוימות מהספריות של androidx. |
| מחזור חיים * | ליצור רכיבים שמודעים למחזור החיים ויכולים לשנות את ההתנהגות שלהם בהתאם למצב הנוכחי של מחזור החיים של פעילות או של קטע. |
| רכיבי Material Design * | רכיבי ממשק משתמש מודולריים וניתנים להתאמה אישית של Material Design ל-Android. |
| navigation * | ליצור ולבנות את ממשק המשתמש באפליקציה, לטפל בקישורי עומק ולעבור בין מסכים. |
| paging * | טוענים נתונים בדפים ומציגים אותם ב-RecyclerView. |
| room * | יצירה, אחסון וניהול של נתונים קבועים שמגובים על ידי מסד נתונים של SQLite. |
| room3 * | יצירה, אחסון וניהול של נתונים קבועים שמגובים על ידי מסד נתונים של SQLite. |
| test * | בדיקה ב-Android. |
| עבודה * | לתזמן ולהריץ משימות ברקע שאפשר לדחות, שמבוססות על אילוצים. |
| a2ui | רכיב ה-renderer של Jetpack Compose Agent-to-UI (A2UI) מספק הטמעה של פרוטוקול A2UI, שמאפשר לסוכני AI ליצור ממשקי משתמש עשירים ואינטראקטיביים שמציגים רכיבי Compose נייטיביים – בלי להריץ קוד שרירותי. |
| a2ui.compose | רכיב ה-renderer של Jetpack Compose Agent-to-UI (A2UI) מספק הטמעה של פרוטוקול A2UI, שמאפשר לסוכני AI ליצור ממשקי משתמש עשירים ואינטראקטיביים שמציגים רכיבי Compose נייטיביים – בלי להריץ קוד שרירותי. |
| ads | איך מקבלים מזהה פרסום עם או בלי Google Play Services. |
| annotation | חשיפת מטא נתונים שעוזרים לכלים ולמפתחים אחרים להבין את הקוד של האפליקציה. |
| appfunctions | מאפשר לאפליקציות לשתף פונקציונליות ונתונים עם עוזרים מבוססי-AI, כדי שהם יוכלו לגלות ולבצע משימות ישירות במכשיר ולמלא את בקשות המשתמשים. |
| arch.core | ספרייה שמספקת עזרה לתלות בארכיטקטורה אחרת, כולל כללי בדיקה של JUnit שאפשר להשתמש בהם עם LiveData. |
| asynclayoutinflater | כדי למנוע תקלות בממשק המשתמש, כדאי להגדיר את פריסת הרכיבים כך שתתבצע באופן אסינכרוני. |
| autofill | שיפור הדיוק של המילוי האוטומטי באמצעות הרחבת הרמזים. |
| benchmark | מדידה מדויקת של ביצועי הקוד ב-Android Studio. |
| biometric | אימות באמצעות נתונים ביומטריים או פרטי כניסה למכשיר, וביצוע פעולות קריפטוגרפיות. |
| bluetooth | משתמשים בתכונות ה-Bluetooth של פלטפורמת Android עם ממשקי API שתואמים לדורות קודמים. |
| דפדפן | הצגת דפי אינטרנט בדפדפן ברירת המחדל של המשתמש. |
| camera.featurecombinationquery | חיפוש יכולות המצלמה. |
| camera.media3 | לביצוע |
| camera.viewfinder | Standalone Composable and View based Viewfinder for Camera" |
| car-app | פיתוח אפליקציות מבוססות-תבניות ל-Android Auto ול-Android Automotive OS. |
| cardview | הטמעה של תבנית כרטיס Material Design עם פינות מעוגלות וצללים. |
| collection | הפחתת ההשפעה על הזיכרון של אוספים קיימים וחדשים שהם קטנים. |
| compose.animation | ליצור אנימציות באפליקציות Jetpack Compose כדי לשפר את חוויית המשתמש. |
| compose.compiler | שינוי של פונקציות @Composable והפעלת אופטימיזציות באמצעות פלאגין של Kotlin Compiler. |
| 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 כברירת מחדל ורכיבי קומפוזיציה של אבני בניין כדי ליצור חוויות מותאמות אישית. |
| 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 | אפשר לקבל נתונים בשיטת Drag and Drop מאפליקציה אחרת או בתוך אפליקציה, ולהציג באופן עקבי את האפשרות להעברה. |
| drawerlayout | הטמעה של ווידג'ט חלונית הזזה של Material Design. |
| dynamicanimation | יצירת אנימציות חלקות באמצעות API של אנימציה שמבוסס על פיזיקה. |
| emoji | הצגת אמוג'י במכשירים נוכחיים ובמכשירים ישנים יותר. |
| emoji2 | הצגת אמוג'י במכשירים נוכחיים ובמכשירים ישנים יותר. |
| enterprise | ליצור אפליקציות שמוכנות לשימוש בארגונים. |
| exifinterface | קריאה וכתיבה של תגי EXIF בקובץ תמונה. |
| משחקים | אפשר להשתמש ב-SDK למשחק ב-Android באופן מקורי באפליקציה כדי לבצע משימות מורכבות במשחקים, כמו Frame Pacing. |
| glance.adaptive | לביצוע |
| glance | יצירת פריסות למשטחים מרוחקים באמצעות API בסגנון Jetpack פיתוח נייטיב. |
| glance.wear | Glance Wear היא ספרייה ליצירת ווידג'טים ל-Wear OS |
| graphics | שימוש ביכולות גרפיות בכמה גרסאות של פלטפורמת Android |
| gridlayout | הטמעה של פריסת רשת. |
| health | ליצור אפליקציות בתחום הבריאות שמניבות ביצועים טובים, בלי קשר לפלטפורמה. |
| health.connect | מאפשרת למפתחים לקרוא או לכתוב את נתוני הכושר והבריאות של המשתמשים. |
| heifwriter | קידוד תמונה או אוסף תמונות בפורמט HEIF באמצעות הקודקים שזמינים במכשיר Android. |
| ink | לספק השראה לאפליקציות עט ברמה הכי גבוהה. להקטין את המחסום בפני מפתחים כדי ליצור חוויות כתיבה יפות וביצועים גבוהים. יש תמיכה בסימון בדיו ב-Android וב-JVM בצד השרת (בשלב הזה יש תמיכה ב-Linux ל-x86_64). |
| input | הפחתת זמן האחזור של אינטראקציות קלט על ידי חיזוי של MotionEvents עתידיים |
| interpolator | שימוש ב-interpolators של אנימציות בפלטפורמות ישנות יותר. |
| javascriptengine | הפעלת האפשרות להערכת JavaScript באפליקציית Android. |
| jetifier | כלי עצמאי שמעביר את התלויות של ספרייה בספריית התמיכה שהוצאה משימוש לתלויות מקבילות ב-AndroidX. |
| leanback | כלי עצמאי שמעביר את התלויות של ספרייה בספריית התמיכה שהוצאה משימוש לתלויות מקבילות ב-AndroidX. |
| legacy | פריט המידע הזה שנוצר בתהליך פיתוח (Artifact) והכיתות שלו הוצאו משימוש. החל מ-Android 8, הגבלות על בדיקות ברקע הופכות את המחלקה הזו ללא שימושית. |
| lint | בדיקות Lint כדי לאמת את השימוש ב-Gradle APIs |
| loader | טעינת נתונים לממשק המשתמש שלא מושפעים משינויים בהגדרות. |
| localbroadcastmanager | פריט המידע הזה שנוצר בתהליך פיתוח (Artifact) והכיתות שלו הוצאו משימוש. במקום זאת, אפשר להשתמש ב-LiveData או בזרמים ריאקטיביים. |
| 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 | פריט המידע הזה שנוצר בתהליך פיתוח (Artifact) והכיתות שלו הוצאו משימוש. במקום זאת, צריך להשתמש ב-ConstraintLayout ובפריסות שמשויכות אליו. |
| performance | מספק הערות על המקור לאופטימיזציה של הביצועים. |
| photopicker | הספרייה הזו מספקת שילוב של 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 | Framework for cross app functional UI testing |
| text-vertical | לביצוע |
| textclassifier | מזהה שיחות, קישורים, בחירות ומבנים דומים אחרים בטקסט. |
| tracing | כתיבת אירועי מעקב למאגר המעקב של המערכת. |
| 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 | Watch Face Push מאפשרת לאפליקציה ל-Wear OS להתקין תצוגת שעון בשעון באופן פרוגרמטי. |
| webgpu | GPU API מודרני לגרפיקה ולחישוב מ-Kotlin. |
| webkit | עבודה עם ממשקי API מודרניים של WebView ב-Android מגרסה 5 ואילך. |
| חלון | עוזרת לתמוך בגורמי צורה שונים של מכשירים, כמו מכשירים מתקפלים. |
| 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 עם תוכן תלת-ממדי. |