ספריית תמיכה

הערה: בגרסת Android 9.0 (רמת API 28) יש גרסה חדשה של ספריית התמיכה שנקראת AndroidX, שהוא חלק מ-Jetpack. ספריית AndroidX שכולל את ספריית התמיכה הקיימת וגם את רכיבי Jetpack העדכניים ביותר.

אפשר להמשיך להשתמש בספריית התמיכה. פריטי מידע היסטוריים (גרסאות 27 ומטה, ונארזים בפורמט android.support.*) ימשיכו להיות זמינים ב-Google Maven. אבל כל הפיתוח של הספריות החדשות יתבצע בספרייה AndroidX.

מומלץ להשתמש בספריות של AndroidX בכל הפרויקטים החדשים. עוד משחקים שכדאי להכיר להעביר פרויקטים קיימים גם ל-AndroidX.

כשמפתחים אפליקציות שתומכות בכמה גרסאות API, כדאי לדעת דרך סטנדרטית לספק תכונות חדשות יותר בגרסאות קודמות של Android או חוזרים בעדינות לפונקציונליות מקבילה. במקום ליצור קוד לטיפול בגרסאות קודמות של הפלטפורמה, תוכלו למנף את הספריות כדי לספק את שכבת התאימות הזו. בנוסף, ספריות התמיכה לספק סיווגי נוחות ותכונות נוספות שלא זמינות Standard Framework API לפיתוח ולתמיכה קלים יותר מכשירים.

ספריית התמיכה של Android, שבמקור הייתה ספרייה בינארית אחת לאפליקציות, התפתחו לחבילה של ספריות לפיתוח אפליקציות. רבים מאלה ספריות הן עכשיו חלק מומלץ מאוד, אם לא חיוני, ופיתוח.

במסמך הזה מוצגת סקירה כללית של ספריית התמיכה כדי לעזור לכם להבין את הרכיבים שלו ואיך להשתמש בו ביעילות באפליקציה.

זהירות: החל מגרסה 26.0.0 של ספריית התמיכה (יולי 2017), רמת ה-API המינימלית הנתמכת ברוב ספריות התמיכה עלה ל-Android 4.0 (רמת API 14) עבור רוב חבילות הספריות. עבור למידע נוסף, ראו תמיכה בגרסאות וחבילה שמות בדף הזה.

שימושים בספריות התמיכה

יש כמה שימושים ייחודיים לספריות התמיכה. אחורה סוגי התאימות של גרסאות קודמות של הפלטפורמה הוא רק אחד אותם. הנה רשימה מלאה יותר של הדרכים שבהן אפשר להשתמש בספריות התמיכה. באפליקציה שלך:

  • תאימות לאחור עבור ממשקי API חדשים יותר - כמות גדולה של ספריות תמיכה מספקות תאימות לאחור ל-framework חדש יותר הסוגים והשיטות. לדוגמה, Fragment מחלקת התמיכה מספקת תמיכה במקטעים במכשירים שבהם פועלות גרסאות גרסה ישנה יותר מ-Android 3.0 (רמת API 11).
  • כיתות נוחות וסיוע – ספריות התמיכה מספקות מספר מחלקות המסייעים, במיוחד לפיתוח ממשק משתמש. עבור לדוגמה, המחלקה RecyclerView נותנת למשתמש ווידג'ט של הממשק להצגה ולניהול של רשימות ארוכות מאוד, שניתן להשתמש בו גרסאות של Android מרמת API 7 ומעלה.
  • ניפוי באגים וכלי תחזוקה – יש כמה תכונות. שמספקים תועלת מעבר לקוד שמשתלב באפליקציה, כולל support-annotations עבור בדיקות משופרות של איתור שגיאות בקוד של קלט שיטה ותמיכה ב-Multidex הגדרה והפצה של אפליקציות ביותר מ-65,536 שיטות.

שימוש בתמיכה לעומת ממשקי API של Framework

ספריות תמיכה מספקות מחלקות ושיטות שדומות מאוד לממשקי API ו-Android Framework. לאחר שגיליתי את זה, אתה אולי תוהה אם כדאי להשתמש בגרסת ה-framework של ה-API או בגרסת התמיכה המקבילה של ספריית התמיכה. כאן הן ההנחיות לגבי המקרים שבהם כדאי להשתמש בכיתות בספריות תמיכה. של ממשקי API של Framework:

  • תאימות לתכונה ספציפית - אם רוצים לתמוך לאחרונה במכשירים שבהם פועלות גרסאות קודמות של משתמשים במחלקות ובשיטות המקבילות מספריית התמיכה.
  • תאימות לתכונות ספרייה קשורות - מתוחכמת יותר עשויות להיות תלויות בתמיכה נוספת אחת או יותר של ספריות הספריות, אז צריך להשתמש בכיתות תמיכה בספריות של יחסי התלות. לדוגמה, ViewPager צריך להשתמש במחלקת התמיכה יחד עם FragmentPagerAdapter או עם מחלקות התמיכה של FragmentStatePagerAdapter.
  • תאימות כללית למכשיר - אם אין לך מכשיר ספציפי תכונת פלטפורמה שבה אתם מתכוונים להשתמש באפליקציה במסגרת תאימות לאחור אבל עדיין כדאי להשתמש בספריות לתמיכה באפליקציה שלכם. לדוגמה, כדאי לך להשתמש ב-ActivityCompat במקום בכיתה Activity של framework, כדי ליהנות מתכונות חדשות יותר מאוחר יותר, למשל שילוב של מודל ההרשאות החדש שנוסף Android 6.0 (רמת API 23).

תמיכה במחלקות של ספריות שמספקות הטמעה תואמת של פלטפורמה יכול להיות שמחלקות API לא יוכלו לספק את כל הפונקציונליות זמינה בגרסה האחרונה, בגלל המגבלות של המכשיר המארח בגרסת הפלטפורמה. במקרים כאלה, המחלקות של Support Library מיועדים תפגע קלות, ועשוי לא לספק את כל הפונקציונליות או הנתונים של את ה-API הנוכחי של הפלטפורמה. לכן, כדאי לעיין את התיעוד של המחלקות והשיטות שבהן אתם משתמשים בספרייה שבה אתם משתמשים, לבדיקה במכשירים שבהם פועלת הגרסה הישנה ביותר של הפלטפורמה הנתמכת על ידי באפליקציה שלך.

הערה: ספריות התמיכה לא מספקות אפשרויות מקבילות המחלקות והשיטות לכל API של framework. במקרים מסוימים, יכול להיות שתצטרכו העברת קריאה ל-method של framework באמצעות בדיקה מפורשת של גרסת SDK, קוד חלופי לטיפול בשיטות שלא זמינות במכשיר. לקבלת מידע נוסף מידע על שימוש בבדיקות גרסה בקוד שלך, ראה תמיכה בגרסאות שונות גרסאות פלטפורמה.

תמיכה בגרסה ושמות החבילות

לחלק מהחבילות של ספריית התמיכה יש שמות של חבילות שנועדו לציין רמת ה-API המינימלית שבה הם תומכים במקור, באמצעות סימון v#, כמו support-v4. החל מגרסה 26.0.0 של ספריית התמיכה (הושקה ב- ביולי 2017), רמת ה-API המינימלית הנתמכת השתנתה ל-Android 4.0 (API) רמה 14) עבור כל החבילות של ספריית התמיכה. לכן, כשעובדים עם בכל גרסה עדכנית של ספריית התמיכה, אין להניח סימון החבילה v# מציין רמת תמיכה מינימלית ב-API. השינוי הזה בגרסאות האחרונות פירושו גם שחבילות ספרייה עם הגרסה 4 ו-v7 הם למעשה שווי ערך ברמה המינימלית של ה-API שבה הם תומכים. לדוגמה, חבילת support-v4 וחבילת support-v7 תומכות שתיהן רמת API של 14, לגרסאות של ספריית התמיכה מגרסה 26.0.0 ואילך.

גרסאות הפצה של ספריית התמיכה

גרסת ההפצה של ספריית התמיכה, כמו 24.2.0 או 25.0.1, שונה מרמת ה-API המינימלית שנתמכת על ידי כל ספרייה שבה מספר הגרסה.מספר הגרסה של הגרסה מציין איזו גרסה של הפלטפורמה ל-API הזה הוא נוצר, ולכן יכולים להיות ממשקי ה-API הכי עדכניים שכלולות בגרסה הזו של הספריות.

באופן ספציפי, החלק הראשון של מספר גרסת הגרסה, לדוגמה גרסה 24.2.0 של גרסה 24.2.0, בדרך כלל תואמת לגרסה וה-API של הפלטפורמה היה זמין כשהוא הופיע. רמת גרסת ההפצה של לפי ספריית התמיכה הנוכחית, היא כוללת חלק מהתכונות של אותו ממשק API אבל אין להניח שהוא מספק תאימות לכל תכונות חדשות בגרסת ה-API של הפלטפורמה החדשה.

יחסי תלות של הספרייה

רוב הספריות בחבילה של ספריית התמיכה של Android תלויות במידה מסוימת ספרייה אחת או יותר. לדוגמה, כמעט כל ספריות התמיכה כוללות שתלויות בחבילה support-compat. באופן כללי, אין צריך לדאוג לגבי יחסי תלות של ספריות תמיכה, כי תהליך Grale מנהל עבורך את יחסי התלות של הספריות, על ידי הכללת באופן אוטומטי של ספריות תלויות.

אם אתם רוצים לראות אילו ספריות ויחסי תלות של ספריות כלולים באפליקציה שלך, מריצים את הפקודה הבאה ברמה הבסיסית (root) של פיתוח האפליקציה כדי לקבל דוח על יחסי התלות של אותו פרויקט, כולל ספריות התמיכה ב-Android וספריות אחרות:

gradle -q dependencies your-app-project:dependencies

למידע נוסף על הוספת ספריות תמיכה לפיתוח לפרויקט באמצעות Gradle, ראו תמיכה הגדרת הספרייה. למידע נוסף על עבודה עם Gradle, ניתן לעיין במאמר הגדרה גרסת ה-build שלך.

חשוב לשים לב שכל ספריות התמיכה של Android תלויות גם ברמה בסיסית מסוימת של הפלטפורמה, בגרסאות האחרונות, שהיא Android 4.0 (רמת API 14) או גבוהה יותר.