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 של Composable שמבוססים על 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. |
| עבודה * | תזמון והרצה של משימות ברקע שניתן לדחות, שמבוססות על אילוצים. |
| 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, כדי שהם יוכלו לגלות ולבצע משימות ישירות במכשיר כדי למלא את בקשות המשתמשים. |
| arch.core | כלי עזר ליחסי תלות אחרים של ארכיטקטורה, כולל כללי בדיקה של JUnit שאפשר להשתמש בהם עם LiveData. |
| asynclayoutinflater | כדי למנוע תקלות בממשק המשתמש, כדאי להגדיל את הפריסות באופן אסינכרוני. |
| autofill | שיפור הדיוק של המילוי האוטומטי באמצעות הרחבת הרמזים. |
| benchmark | למדוד במדויק את ביצועי הקוד ב-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 הראשי באמצעות פונקציות קורוטין ושימוש ב-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 | יצירת אנימציות חלקות באמצעות Animation 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). |
| input | הפחתת זמן האחזור של אינטראקציות קלט על ידי חיזוי של אירועי MotionEvent עתידיים |
| interpolator | שימוש באינטרפולטורים של אנימציה בפלטפורמות ישנות יותר. |
| javascriptengine | מאפשרים לאפליקציה ל-Android להעריך את JavaScript. |
| jetifier | כלי עצמאי שמעביר את התלויות של הספרייה בספריית התמיכה שהוצאה משימוש לתלויות מקבילות ב-AndroidX. |
| leanback | כלי עצמאי שמעביר את התלויות של הספרייה בספריית התמיכה שהוצאה משימוש לתלויות מקבילות ב-AndroidX. |
| legacy | הארטיפקט הזה והמחלקות שלו הוצאו משימוש. החל מ-Android 8, הגבלות על בדיקות ברקע הופכות את המחלקה הזו ללא שימושית. |
| lint | בדיקות Lint לאימות השימוש בממשקי API של Gradle |
| 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. |
| 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 | ממשק API מודרני של GPU לגרפיקה ולמחשוב מ-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 עם תוכן תלת-ממדי. |