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. |
| lifecycle * | ליצור רכיבים שמודעים למחזור החיים ויכולים לשנות את ההתנהגות שלהם בהתאם למצב הנוכחי של מחזור החיים של פעילות או של קטע. |
| רכיבי Material Design * | רכיבי ממשק משתמש מודולריים וניתנים להתאמה אישית של Material Design ל-Android. |
| navigation * | ליצור ולבנות את ממשק המשתמש באפליקציה, לטפל בקישורי עומק ולנווט בין המסכים. |
| paging * | טוענים נתונים בדפים ומציגים אותם ב-RecyclerView. |
| חדר * | יצירה, אחסון וניהול של נתונים קבועים שמגובים על ידי מסד נתונים של SQLite. |
| room3 * | יצירה, אחסון וניהול של נתונים קבועים שמגובים על ידי מסד נתונים של SQLite. |
| test * | בדיקה ב-Android. |
| work * | תזמון והרצה של משימות רקע שניתן לדחות, שמבוססות על אילוצים. |
| 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 | Remote Compose הוא framework ליצירת ממשק משתמש למשטחים מרוחקים |
| compose.runtime | אבני בניין בסיסיות של מודל התכנות וניהול המצב של Compose, וזמן ריצה מרכזי לטירגוט של הפלאגין של מהדר Compose. |
| compose.ui | רכיבים בסיסיים בממשק המשתמש של Compose שנדרשים לאינטראקציה עם המכשיר, כולל פריסה, ציור וקלט. |
| concurrent | להעביר משימות מהשרשור הראשי באמצעות קורוטינות ולנצל את 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 | יצירת אנימציות חלקות באמצעות API של אנימציה שמבוסס על פיזיקה. |
| emoji | הצגת אמוג'י במכשירים נוכחיים ובמכשירים ישנים יותר. |
| emoji2 | הצגת אמוג'י במכשירים נוכחיים ובמכשירים ישנים יותר. |
| enterprise | ליצור אפליקציות שמוכנות לשימוש בארגונים. |
| exifinterface | קריאה וכתיבה של תגי EXIF בקובץ תמונה. |
| משחקים | אפשר להשתמש ב-SDK למשחק ב-Android באופן מקורי באפליקציה כדי לבצע משימות מורכבות במשחקים, כמו Frame Pacing. |
| 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 | שימוש בפונקציות אינטרפולציה של אנימציה בפלטפורמות ישנות יותר. |
| javascriptengine | הפעלה של אפליקציית Android כדי להעריך JavaScript. |
| 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.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 | API מודרני של GPU לגרפיקה ולמחשוב מ-Kotlin. |
| webkit | עבודה עם ממשקי WebView API מודרניים ב-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 ושינוי שלו באמצעות תוכן תלת-ממדי. |