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. |
| 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 באמצעות רכיבי ה-Codec שזמינים במכשיר Android. |
| ink | ליצור השראה לאפליקציות עט מהשורה הראשונה. הפחתת המכשולים בפני מפתחים כדי לאפשר להם ליצור חוויות כתיבה יפות ואיכותיות. תמיכה בסימון בדיו ב-Android וב-JVM בצד השרת (בשלב הזה יש תמיכה ב-Linux ל-x86_64). |
| input | הפחתת זמן האחזור של אינטראקציות עם קלט על ידי חיזוי של MotionEvents עתידיים |
| interpolator | שימוש בפונקציות אינטרפולציה של אנימציה בפלטפורמות ישנות יותר. |
| javascriptengine | הפעלה של אפליקציית Android כדי להעריך JavaScript. |
| jetifier | כלי עצמאי שמעביר את התלויות של ספרייה בספריית התמיכה שהוצאה משימוש לתלויות מקבילות ב-AndroidX. |
| leanback | אפשר להשתמש ב-Compose for TV במקום בארטיפקט הזה. |
| legacy | פריט המידע הזה שנוצר בתהליך פיתוח (Artifact) והכיתות שלו הוצאו משימוש. החל מ-Android 8, הגבלות על בדיקות ברקע הופכות את המחלקה הזו ללא שימושית. |
| lint | בדיקות Lint כדי לאמת את השימוש ב-Gradle API |
| 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 | היכולות של Gemini מאפשרות להביא תוכן דיגיטלי לעולם האמיתי. |
| xr.compose | ליצור פריסות מרחביות של ממשק משתמש באופן הצהרתי, תוך ניצול היכולות המרחביות של Android XR. |
| xr.compose.material3 | יצירה באמצעות רכיבים ופריסות של Material שמותאמים ל-XR |
| xr.glimmer | שפת עיצוב וערכת כלים לבניית ממשק משתמש, נועדה ליצירה של חוויות מציאות רבודה ב-Android XR |
| xr.projected | ליצור חוויות שמתבססות על היכולות הייחודיות של מכשירי XR מחוברים. |
| xr.runtime | אתם יכולים להתחיל סשן מותאם אישית של AR או תלת-ממד עם זמן הריצה המקורי שלנו. |
| xr.scenecore | יצירה של גרף סצנה ב-Android XR ושינוי שלו באמצעות תוכן תלת-ממדי. |