Jetpack ל-Android
Jetpack הוא חבילת ספריות של ספריות שעוזרות למפתחים לפעול לפי השיטות המומלצות, לצמצם את הקוד הסטנדרטי ולכתוב קוד שפועל באופן עקבי בכל הגרסאות והמכשירים של Android, כדי שהמפתחים יוכלו להתמקד בקוד שחשוב להם.
Jetpack פיתוח נייטיב
פיתוח ממשק משתמש באמצעות 'כתיבה'
ערכת כלים מודרנית לפיתוח ממשק משתמש מותאם, שמאפשרת לפשט ולהאיץ את הפיתוח של ממשק המשתמש ב-Android.
איך משתמשים ב-Jetpack
הדרכה למתחילים
לומדים על ספריות Jetpack החיוניות בקורס 'יסודות Android' עם 'כתיבה' ומצמצמים את התבניות הסטנדרטיות באפליקציה
מדריך מעשי
התנסות מעשית עם שלוש ספריות Jetpack שמפשטות את שכבת הנתונים: LiveData, ViewModel ו- Room
עכשיו באפליקציה לדוגמה ל-Android
איך ארכיטקטורת Android מודרנית מוטמעת באפליקציה בעולם האמיתי
ספריות Jetpack כל הספריות
* מופיעות קודם ספריות פופולריות שנמצאות בשימוש תכוף
פעילות * | גישה לממשקי API קומפוזביליים שמבוססים על פעילות. |
appcompat * | מאפשרת גישה לממשקי API חדשים בגרסאות API ישנות יותר של הפלטפורמה (רבים מהם משתמשים ב-Material Design). |
appsearch * | פיתוח יכולות חיפוש מותאמות אישית בתוך האפליקציה עבור המשתמשים שלך. |
מצלמה * | פיתוח אפליקציות של מצלמה לנייד. |
כתיבה * | הגדרת ממשק המשתמש באופן פרוגרמטי באמצעות פונקציות קומפוזביליות שמתארות את הצורה ואת יחסי התלות של הנתונים שלו. |
databinding * | קישור רכיבים של ממשק המשתמש בפריסות למקורות נתונים באפליקציה באמצעות פורמט הצהרתי. |
קטע * | פלח את האפליקציה שלך למספר מסכים עצמאיים המתארחים בפעילות. |
hilt * | הרחבת הפונקציונליות של Dagger Hilt כדי לאפשר החדרת תלות של מחלקות מסוימות מספריות androidx. |
מחזור חיים * | לפתח רכיבים עם מודעות למחזור החיים שיכולים לשנות את ההתנהגות על סמך המצב הנוכחי של מחזור החיים של פעילות או של קטע. |
רכיבים של עיצוב חומר * | רכיבי ממשק משתמש מודולריים וניתנים להתאמה אישית ב-Material Design ל-Android. |
ניווט * | ליצור ולבנות את ממשק המשתמש בתוך האפליקציה, לטפל בקישורי עומק ולנווט בין מסכים. |
חלוקה לדפים * | לטעון נתונים בדפים ולהציג אותם ב-RecyclerView. |
חדר * | ליצור, לאחסן ולנהל נתונים קבועים שמגובים על ידי מסד נתונים של SQLite. |
test * | הבדיקה מתבצעת ב-Android. |
עבודה * | מתזמנים ומבצעים משימות מבוססות-אילוצים ברקע, שאי אפשר לשנות את ההגדרות שלהן. |
מודעות | קבלת מזהה פרסום עם או בלי Play Services. |
הערה | חשיפת מטא-נתונים שעוזרים לכלים ולמפתחים אחרים להבין את קוד האפליקציה. |
arch.core | עוזר ליחסי תלות אחרים של קשתות, כולל כללי בדיקה של JUnit שניתן להשתמש בהם עם LiveData. |
asynclayoutinflater | ניפוח פריסות באופן אסינכרוני כדי למנוע בעיות בממשק המשתמש. |
מילוי אוטומטי | הרחבת הדיוק של המילוי האוטומטי באמצעות הרחבת הרמזים. |
בנצ'מרק | מודדים בצורה מדויקת את ביצועי הקוד ב-Android Studio. |
ביומטרי | אימות באמצעות מידע ביומטרי או פרטי כניסה של המכשיר, וביצוע פעולות קריפטוגרפיות. |
Bluetooth | שימוש בתכונות ה-Bluetooth של פלטפורמת Android עם ממשקי API שתואמים לאחור. |
דפדפן | הצגת דפי אינטרנט בדפדפן ברירת המחדל של המשתמש. |
אפליקציה לרכב | יצירת אפליקציות מותאמות ל-Android Auto ול-Android Automotive OS. |
cardview | מטמיעים את תבנית הכרטיס Material Design עם פינות מעוגלות והטלת צלליות. |
קולקציה | הפחתת ההשפעה על הזיכרון של אוספים קיימים וחדשים קטנים. |
compose.animation | יוצרים אנימציות באפליקציות 'Jetpack פיתוח נייטיב' כדי להעשיר את חוויית המשתמש. |
compose.compiler | שינוי פונקציות @Composable והפעלת אופטימיזציות באמצעות פלאגין מהדר של Kotlin. |
compose.foundation | כתיבת אפליקציות ב-Jetpack פיתוח נייטיב עם אבני בניין מוכנות לשימוש והרחבת היסודות לבניית חלקים משלכם במערכת העיצוב. |
compose.material | בניית ממשקי משתמש ב-Jetpack פיתוח נייטיב עם רכיבים מוכנים לשימוש ב-Material Design. זו נקודת הכניסה ברמה הגבוהה יותר של 'כתיבה', שנועדה לספק רכיבים שתואמים לאלה שמתוארים באתר www.material.io. |
compose.material3 | בניית ממשקי משתמש ב-Jetpack פיתוח נייטיב עם רכיבי Material Design 3, הפיתוח הבא של עיצוב Material Design. Material 3 כולל עיצוב ורכיבים מעודכנים ותכונות התאמה אישית של Material You, כמו צבעים דינמיים, ונועד להיות אחיד עם הסגנון החזותי החדש של Android 12 וממשק המשתמש של המערכת. |
compose.runtime | אבני הבניין הבסיסיות של מודל התכנות וניהול המצבים של Compose, ושל זמן הריצה העיקרי של הפלאגין Compose Compiler לטירגוט. |
compose.ui | רכיבים בסיסיים בממשק המשתמש של הרכבה שנדרשים לאינטראקציה עם המכשיר, כולל פריסה, שרטוט וקלט. |
בו-זמנית | מעבירים משימות מהשרשור הראשי באמצעות קורוטין ומנצלים את היתרון של ListenableFuture. |
מגבלות | ווידג'טים של מיקום וגודל באופן גמיש, עם מיקום יחסי. |
contentpager | טעינה ומעבר בין נתוני ContentProvider בשרשור ברקע. |
coordinatorlayout | הצבת ווידג'טים של אפליקציה ברמה העליונה, כמו AppBarLayout ו-FloatingActionButton. |
core | כדאי לטרגט את תכונות הפלטפורמה וממשקי ה-API החדשים ביותר, ובמקביל לתמוך במכשירים ישנים. |
core.uwb | הטמעת UWB (פס רחב במיוחד) במכשירים נתמכים. |
פרטי כניסה | הספרייה הזו מספקת גישה מאוחדת לפרטי הכניסה של המשתמש. למשל סיסמאות, מפתחות גישה ופרטי כניסה מאוחדים. יש להשתמש בספרייה הזו כדי לספק חוויית כניסה חלקה ומאובטחת. |
cursoradapter | חשיפת נתוני סמן לווידג'ט של ListView. |
תצוגה בהתאמה אישית | יישום תצוגות מותאמות אישית. |
datastore | אחסון נתונים באופן אסינכרוני, בעקביות ובאופן טרנזקציות, כדי להתגבר על כמה מהחסרונות של SharedPreferences |
documentfile | צפייה במסמך של קובץ. |
Draganddrop | מקבלים נתונים מסוג 'גרירה ושחרור' מאפליקציה אחרת או מתוך אפליקציה, ומשיגים ירידה עקבית במחיר היעד. |
drawerlayout | להטמיע ווידג'ט של חלונית הזזה בעיצוב Material Design. |
דינמיקה | יצירת אנימציות חלקות עם API לאנימציה שמבוסס על פיזיקה. |
אמוג'י | הצגת אמוג'י במכשירים נוכחיים וישנים יותר. |
emoji2 | הצגת אמוג'י במכשירים נוכחיים וישנים יותר. |
גרסה לארגונים | יצירת אפליקציות שמוכנות לשימוש בארגון. |
exifinterface | קריאה וכתיבה של תגי EXIF של קובץ תמונה. |
משחקים | תוכלו להשתמש ב-SDK של משחק ה-Android באופן מקורי באפליקציה שלכם כדי לבצע משימות מורכבות במשחקים, כמו Frame Pacing. |
בקצרה | יצירת פריסות למשטחים מרוחקים באמצעות API בסגנון 'Jetpack פיתוח נייטיב'. |
גרפיקה | ניצול היתרונות הגרפיים בכמה גרסאות של פלטפורמת Android |
משבצות | להטמיע פריסת רשת. |
בריאות | יצירת אפליקציות שמניבות ביצועים טובים בתחום הבריאות בצורה אגנוסטית בפלטפורמה. |
health.connect | התכונה מאפשרת למפתחים לקרוא או לכתוב את נתוני הבריאות והכושר של המשתמשים. |
heifauthor | קידוד תמונה או אוסף תמונות בפורמט HEIF באמצעות רכיבי הקודק הזמינים במכשיר Android. |
קלט | קיצור זמן האחזור של אינטראקציות קלט על ידי חיזוי MotionEvents עתידיים |
אינטרפולטור | השתמשו באינטרפולטורים לאנימציה בפלטפורמות ישנות. |
javascript | איך להפעיל את JavaScript באפליקציה ל-Android. |
jetifier | כלי עצמאי שמעביר את יחסי התלות של ספרייה בספריית התמיכה שהוצאה משימוש ליחסי תלות מקבילים של AndroidX. |
leanback | כדאי להשתמש ב'כתיבה' לטלוויזיה במקום בפריט המידע הזה שנוצר בתהליך הפיתוח (Artifact). |
מדור קודם | פריט המידע הזה שנוצר בתהליך הפיתוח (Artifact) והמחלקות שלו הוצאו משימוש. ב-Android 8, ההגבלות על בדיקות רקע מונעות את השימוש בכיתה הזו. |
איתור שגיאות בקוד | בדיקות לאיתור שגיאות בקוד (lint) לאימות השימוש ב-Gradle API |
loader | טעינת נתונים של ממשק המשתמש אחרי שינויי ההגדרות האישיות. |
localbroadcastmanager | פריט המידע הזה שנוצר בתהליך הפיתוח (Artifact) והמחלקות שלו הוצאו משימוש. אפשר להשתמש ב-LiveData או בשידורים תגובתיים במקום זאת. |
מדיה | שיתוף של תוכן מדיה ופקדים עם אפליקציות אחרות. הוחלפה על ידי media2. |
media2 | שיתוף של תוכן מדיה ופקדים עם אפליקציות אחרות. |
media3 * | ספריות תמיכה לתרחישים לדוגמה של מדיה. |
mediarouter | הפעלת הצגה והפעלה של מדיה במכשירים עם מקלט מרוחק באמצעות ממשק משתמש משותף. |
multidex | פריסת אפליקציות עם מספר קובצי dex במכשירים עם מערכת הפעלה ישנה יותר מ-Android 5. |
מדדים | מעקב אחר מדדי זמן ריצה שונים ודיווח עליהם באפליקציות |
לוח | חלץ לוחות צבעים מייצגים מתמונות. |
ספרייה להוספת יכולות צפייה בקובצי PDF בתוך אפליקציות. | |
percentlayout | פריט המידע הזה שנוצר בתהליך הפיתוח (Artifact) והמחלקות שלו הוצאו משימוש. במקומה אפשר להשתמש ב-ConstraintLayout ובפריסות המשויכות. |
העדפה | בניית מסכי הגדרות אינטראקטיביים בלי שתצטרכו ליצור אינטראקציה עם האחסון במכשיר או לנהל את ממשק המשתמש. |
הדפסה | אפשר להדפיס תמונות, מסמכים ותמונות ופריטי גרפיקה אחרים מהאפליקציה. |
privacysandbox.activity | לביצוע |
privacysandbox.ads | הספרייה הזו מאפשרת שילוב עם ממשקי API לשמירה על הפרטיות, שהם חלק מארגז החול לפרטיות ב-Android. |
privacysandbox.Plugins | הפלאגין של Sdk Library Gradle לארגז החול לפרטיות ב-Android |
privacysandbox.sdkruntime. | הספרייה הזו מספקת רכיבים לצרכנים שמודעים ל-SdkRuntime |
privacysandbox.tools | ספרייה שאפשר להשתמש בה בפונקציונליות של ארגז החול לפרטיות ב-Android |
privacysandbox.ui | לביצוע |
profileinstaller | מאפשרת לספריות לאכלס מראש מעקבי הידור מראש לקריאה על ידי ART. |
המלצה | לקדם תוכן למסך הבית של Android TV Launcher. |
recyclerview | הצגת קבוצות גדולות של נתונים בממשק המשתמש תוך צמצום השימוש בזיכרון. |
remotecallback | יצירת wrapper שיקל על המפתחים לספק PendingIntent. |
בדיקת משאבים | מומלץ להציג את המאפיינים של תצוגות בהתאמה אישית בכלי לבדיקת פריסה בזמן אמת של Android Studio. |
מצב שמור | כתיבת רכיבים ניתנים לחיבור ששומרים את מצב ממשק המשתמש כשתהליך מסתיים ומשחזרים אותו כשהתהליך מתחיל מחדש. |
אבטחה | ניהול בטוח של מפתחות והצפין של קבצים והעדפות משותפות. |
sharetarget | תאימות לאחור לשימוש בקיצורי דרך כיעדי שיתוף ישיר. |
slice (פרוסה) | הצגת רכיבי ממשק משתמש בתבניות מחוץ לאפליקציה. |
slidingpanelayout | הטמעת דפוס ממשק משתמש של חלוניות זזות. |
הפעלה | הטמעת דרך פשוטה ומשתלמת לאתחל רכיבים בזמן ההפעלה של האפליקציה. |
sqlite | לעבוד עם מסדי נתונים מקומיים של SQLite. אם אפשר, כדאי להשתמש במקום זאת ב'חדר'. |
sOncerefreshrefreshlayout | הטמעת תבנית ממשק המשתמש של החלקה לרענון. |
test.uiautomator | מסגרת לבדיקה של ממשק המשתמש הפונקציונלית של האפליקציות השונות |
textclassifier | זיהוי שיחות, קישורים, בחירות ומבנים דומים אחרים בטקסט. |
מעקב | כתיבת אירועי מעקב במאגר הנתונים הזמני של המערכת. |
מעבר | מוסיפים אנימציה של התנועה בממשק המשתמש בעזרת פריסות של התחלה וסיום. |
טלוויזיה | מספקת למפתחים פונקציות של פיתוח נייטיב וחומר כדי לכתוב אפליקציות לטלוויזיה |
tvprovider | לספק ערוצי Android TV. |
Vectordrawable | עיבוד של גרפיקה וקטורית. |
versionedparcelable | האפליקציה מספקת פורמט יציב וקומפקטי לביצוע סריאליזציה בינארית, שאפשר להעביר בין תהליכים או לשמור אותם בצורה בטוחה. |
צפייה | הצג תצוגות או מקטעים בפורמט שניתן להחלקה. אם אפשר, השתמשו במקום זאת ב-viewpager2. |
viewpager2 | הצג תצוגות או מקטעים בפורמט שניתן להחלקה. |
בגדים | יצירת אפליקציות לשעונים חכמים של Wear OS by Google. |
wear.compose | כתיבת אפליקציות של Jetpack Compose למכשירים לבישים באמצעות אספקת פונקציונליות לתמיכה במכשירים לבישים ספציפיים, גדלים, צורות וסוגים מסוימים תנועות ניווט. |
wear.protolayout | הספרייה הזו מאפשרת להגדיר קבוצה של פריסות בממשק המשתמש וביטויים שאינם ממשקי משתמש שמיועדים לעיבוד/הערכה בפלטפורמות מרוחקות. |
wear.tiles | יצירת אפליקציות לשעונים חכמים של Wear OS by Google. |
wear.watchface | יצירת אפליקציות לשעונים חכמים של Wear OS by Google. |
webkit | עבודה עם ממשקי API מודרניים של WebView ב-Android 5 ואילך. |
חלון | ההגדרה הזו עוזרת לתמוך בגורמי צורה שונים של מכשירים, כמו מכשירים מתקפלים. |
window.extensions.core | ממשקי ה-API העיקריים לתוספים של ספריית מנהל החלונות |
מה חדש
- כתיבה באוגוסט 2023
- הגרסה של Jetpack Compose 1.5.0 עוברת ליציבות ומביאה לשיפורים משמעותיים בביצועים, כולל ארגון מחדש (Refactoring) של כלים ברמה גבוהה כמו 'Clickable' [קליקבילי] שיכול לקצר את זמן היצירה ב-80%. באוגוסט 2023 התכונה 'כתיבה מהירה' משפרת גם עד 70% בהקצאת הזיכרון (במיוחד במקבץ הגרפיקה), מה שיפחית את טביעת הרגל הפחמנית של הכתיבה במכשירים.
- פיתוח נייטיב ומשבצות 1.2 של Wear
- כרטיסי המידע ב-Wear Compose וגם המשבצות של Wear עברו למצב יציב כדי לשפר את החוויה של המפתחים של WearOS. שתיהן משלימות אחת את השנייה, ואפשר להשתמש ב-Wear Compose כדי ליצור מסכי אפליקציה מורכבים במכשירי Wear, ואפשר להשתמש בכרטיסי המידע ב-Wear כדי ליצור את משבצות האפליקציה. הגרסה החדשה של Wear Compose כוללת פונקציות חדשות, כמו 'פריטים שניתנים להרחבה' ו'החלקה לפתיחה'. גרסת כרטיסי המידע ב-Wear תומכת גם באנימציה של ווידג'ט ובקישור נתוני הפלטפורמה (כמו מקור הנתונים לגבי בריאות).
- חלון 1.1
- 1.1 מייצב ממשקי API של הטמעת פעילויות, ומאפשר לאפליקציות כמו WhatsApp, eBay ו-Temu לשלוח פריסות של מסכים גדולים. ה-API מציע תכונות נוספות, כי הוא מאפשר למפתחים לשנות התנהגות של מסך מפוצל, לבדוק (ולשנות) את מצב המפוצל בזמן הריצה, להטמיע פיצולים אופקיים ולהתחיל חלון מלא בחלון מלא.
- נתוני גרסה
- למידע נוסף, כדאי לעיין בנתוני הגרסה שלנו.
למה כדאי להשתמש ב-Android Jetpack?
כדאי לפעול בהתאם לשיטות המומלצות
ספריות Jetpack ב-Android מבוססות על שיטות עיצוב מודרניות, ומאפשרות פחות קריסות ופחות דליפות זיכרון בזכות תאימות לאחור.
להוציא קוד סטנדרטי
Android Jetpack מנהל פעילויות מאתגרות כמו משימות ברקע, ניווט וניהול מחזור החיים, כדי שתוכלו להתמקד במה שהופך את האפליקציה שלכם לנהדרת.
צמצום המקטעים
כדאי להשתמש בספריות שפועלות באופן עקבי בגרסאות Android ובמכשירים שונים כדי להפחית את המורכבות.