רמת ה-API: 15
Android 4.0.3 (ICE_CREAM_SANDWICH_MR1
) הוא גרסה מצטברת של משפחת הפלטפורמות Android 4.0 (ICE_CREAM_SANDWICH
). הגרסה הזו כוללת תכונות חדשות למשתמשים ולמפתחים, שינויים ב-API ותיקוני באגים שונים.
למפתחים, פלטפורמת Android 4.0.3 זמינה כרכיב שניתן להורדה ל-Android SDK. הפלטפורמה שניתן להורדה כוללת ספריית Android ותמונת מערכת, וגם ערכה של סקינים למהדמרים ועוד. כדי להתחיל לפתח או לבדוק את Android 4.0.3, תוכלו להשתמש ב-Android SDK Manager כדי להוריד את הפלטפורמה ל-SDK.
סקירה כללית על ממשקי API
בקטעים הבאים מופיעה סקירה כללית טכנית על ממשקי API חדשים ב-Android 4.0.3.
Social stream API ב-Contacts Provider
אפליקציות שמשתמשות בנתונים של פיד ברשתות חברתיות, כמו עדכוני סטטוס וביקורים בעסקים, יכולות עכשיו לסנכרן את הנתונים האלה עם כל אנשי הקשר של המשתמש, ולספק פריטים בפיד עם תמונות של כל אחד מהם.
טבלת מסד הנתונים שמכילה את הפיד החברתי של איש קשר מסוים מוגדרת על ידי android.provider.ContactsContract.StreamItems, כאשר ה-Uri של הטבלה נמצא בתוך הספרייה ContactsContract.RawContacts
שאליה שייכים פריטי הפיד. כל טבלה של פיד חברתי כוללת כמה עמודות של מטא-נתונים לגבי כל פריט בפיד, כמו סמל שמייצג את המקור (אווטאר), תווית של הפריט, תוכן הטקסט הראשי, תגובות על הפריט (כמו תשובות מאנשים אחרים) ועוד. תמונות שמשויכות לסטטוס מאוחסנות בטבלה אחרת, שמוגדרת על ידי android.provider.ContactsContract.StreamItemPhotos, שזמינה כספריית משנה של ה-Uri android.provider.ContactsContract.StreamItems.
מידע נוסף זמין במאמרים android.provider.ContactsContract.StreamItems ו-android.provider.ContactsContract.StreamItemPhotos.
כדי לקרוא או לכתוב פריטים בסטרים של רשתות חברתיות של איש קשר, האפליקציה צריכה לבקש הרשאה מהמשתמש על ידי הצהרה על <uses-permission
android:name="android.permission.READ_SOCIAL_STREAM">
ו/או <uses-permission
android:name="android.permission.WRITE_SOCIAL_STREAM">
בקובצי המניפסט שלה.
ספק היומן
- הוספת הכיתה
CalendarContract.Colors
לייצוג טבלת צבעים ב-Calendar Provider. הכיתה מספקת שדות לגישה לצבעים שזמינים לחשבון נתון. ההפניה לצבעים מתבצעת באמצעות השדה COLOR_KEY
, שצריך להיות ייחודי לשם או לסוג של חשבון נתון. רק מתאם הסנכרון יכול לעדכן את הערכים האלה.
- הוספנו את
ALLOWED_AVAILABILITY
ו-ALLOWED_ATTENDEE_TYPES
לתמיכה בהחלפה או בסנכרון.
- הוספת
TYPE_RESOURCE
(כמו חדרי ישיבות) למשתתפים ו-AVAILABILITY_TENTATIVE
, וגם EVENT_COLOR_KEY
לאירועים.
CalendarContract.Colors
לייצוג טבלת צבעים ב-Calendar Provider. הכיתה מספקת שדות לגישה לצבעים שזמינים לחשבון נתון. ההפניה לצבעים מתבצעת באמצעות השדה COLOR_KEY
, שצריך להיות ייחודי לשם או לסוג של חשבון נתון. רק מתאם הסנכרון יכול לעדכן את הערכים האלה.ALLOWED_AVAILABILITY
ו-ALLOWED_ATTENDEE_TYPES
לתמיכה בהחלפה או בסנכרון.TYPE_RESOURCE
(כמו חדרי ישיבות) למשתתפים ו-AVAILABILITY_TENTATIVE
, וגם EVENT_COLOR_KEY
לאירועים.ווידג'טים במסך הבית
החל מ-Android 4.0, ווידג'טים במסך הבית לא אמורים לכלול יותר את הריפוד שלהם. במקום זאת, המערכת מוסיפה עכשיו באופן אוטומטי ריפוד לכל ווידג'ט, על סמך המאפיינים של המסך הנוכחי. כך אפשר להציג את הווידג'טים ברשת בצורה אחידה ועקבית יותר. כדי לעזור לאפליקציות שמארחות ווידג'טים במסך הבית, הפלטפורמה מספקת שיטה חדשה getDefaultPaddingForWidget()
. אפליקציות יכולות להפעיל את השיטה הזו כדי לקבל את החפיפה שמוגדרת על ידי המערכת ולחשב את מספר התאים שצריך להקצות לווידג'ט.
בדיקת איות
- באפליקציות שמשתמשות בשירותי בדיקת איות, שיטה חדשה של
cancel()
מבטלת את כל המשימות של בדיקת האיות שממתינות או פועלות בסשן. - בשירותי בדיקת איות, דגל הצעות חדש,
RESULT_ATTR_HAS_RECOMMENDED_SUGGESTIONS
, מאפשר לשירותים להבדיל בין הצעות עם רמת ביטחון גבוהה יותר לבין הצעות עם רמת ביטחון נמוכה יותר. לדוגמה, בודק איות יכול להגדיר את הדגל אם מילה שהוזנה לא נמצאת במילון המשתמש אבל יש לה הצעות סבירות, או לא להגדיר את הדגל אם מילה שהוזנה לא נמצאת במילון ויש לה הצעות שסביר להניח שהן פחות מועילות.אפליקציות שמחוברות למסנן האיות יכולות להשתמש בדגל
RESULT_ATTR_HAS_RECOMMENDED_SUGGESTIONS
בשילוב עם מאפייני הצעות אחרים, וגם בשיטותgetSuggestionsAttributes()
ו-getSuggestionsCount()
, כדי לקבוע אם לסמן מילות קלט כטעויות הקלדה ולהציע הצעות. - סגנון חדש
FLAG_AUTO_CORRECTION
של קטעי טקסט מציין שהתיקון האוטומטי עומד לחול על מילה או טקסט שהמשתמש מקלידים או כותבים. סוג ההצעה הזה מוצג באופן שונה, כדי לציין שהתיקון האוטומטי מתבצע.
Bluetooth
השיטות הציבוריות החדשות fetchUuidsWithSdp()
ו-getUuids()
מאפשרות לאפליקציות לקבוע אילו תכונות (מזהי UUID) נתמכות במכשיר מרוחק. במקרה של fetchUuidsWithSdp()
, המערכת מבצעת גילוי שירות במכשיר המרוחק כדי לקבל את מזהי ה-UUID הנתמכים, ואז משדרת את התוצאה בכוונה ACTION_UUID
.
ערכת כלים לבניית ממשק משתמש
השיטות החדשות setUserVisibleHint()
ו-getUserVisibleHint()
מאפשרות להגדיר בחלקיק רמז לגבי החשיפה שלו למשתמשים. המערכת משהה את הטעינה של קטעי קוד שלא גלויים למשתמשים עד שהמטענים של קטעי הקוד הגלויים יפעלו. הערך של הטיפים לגבי החשיפה הוא 'true' כברירת מחדל.
גרפיקה
- השיטה החדשה
setDefaultBufferSize(int, int)
ב-SurfaceTexture
מגדירה את גודל ברירת המחדל של מאגרי הנתונים של התמונות. אפשר להשתמש בשיטה הזו כדי להגדיר את גודל התמונה כשיוצרים תמונות באמצעותCanvas
(דרךlockCanvas(Rect)
) או OpenGL ES (דרך EGLSurface). - הוספת הגדרות למערכי הערכים של התוסף GL_OES_EGL_image_external ל-OpenGL ES –
GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES
,GL_SAMPLER_EXTERNAL_OES
,GL_TEXTURE_BINDING_EXTERNAL_OES
ו-GL_TEXTURE_EXTERNAL_OES
.
נגישות
- לקוחות של
RemoteViews
יכולים עכשיו להשתמש בשיטהsetContentDescription()
כדי להגדיר ולקבל את תיאור התוכן של כל תצוגה (View) בפריסה המורחבת. - השיטות
getMaxScrollX()
,getMaxScrollY()
,setMaxScrollX()
ו-setMaxScrollY()
מאפשרות לאפליקציות לקבל ולהגדיר את ההזזה המקסימלית בגלילה של אובייקטAccessibilityRecord
. - כשמצב הניווט במגע מופעל, הגדרה מאובטחת חדשה
ACCESSIBILITY_SPEAK_PASSWORD
מציינת אם המשתמש מבקש מ-IME לקרוא טקסט שהוזן בשדות של סיסמאות, גם אם לא משתמשים באוזניות. כברירת מחדל, הטקסט של הסיסמה לא מוקרא אלא אם משתמשים באוזניות.
טקסט לדיבור
- הוספת השיטה החדשה
getFeatures()
לשליחת שאילתות ולהפעלת תמיכה ב-TTS ברשת. - הוספה של סוג חדש של מאזין,
UtteranceProgressListener
, שמנועי חיפוש יכולים להירשם אליו כדי לקבל התראות על שגיאות בסנתז דיבור.
מסד נתונים
- סוג חדש של
CrossProcessCursorWrapper
מאפשר לספקים של תוכן להחזיר תוצאות לשאילתה חוצת-תהליכים בצורה יעילה יותר. הכיתה החדשה היא אבן בניין שימושית לעטיפות של סמלי הסמן שיישלחו לתהליכים מרחוק. הוא יכול גם להמיר אובייקטים רגילים מסוגCursor
לאובייקטים מסוגCrossProcessCursor
באופן שקוף.בכיתה
CrossProcessCursorWrapper
מתוקנות בעיות ביצועים נפוצות ובאגים שנתקלו בהם אפליקציות במהלך הטמעת ספקי תוכן. - ה-constructor של
CursorWindow(java.lang.String)
מקבל עכשיו מחרוזת שם כקלט. המערכת כבר לא מבדילה בין חלונות של סמן מקומי לבין חלונות של סמן מרוחק, ולכןCursorWindow(boolean)
הוצא משימוש.
כוונות
נוספו קטגוריות חדשות לטירגוט של סוגים נפוצים של אפליקציות במכשיר, כמו CATEGORY_APP_BROWSER
, CATEGORY_APP_CALENDAR
, CATEGORY_APP_MAPS
ועוד.
מצלמה
MediaMetadataRetriever
מוסיף את הקבוע החדשMETADATA_KEY_LOCATION
כדי לאפשר לאפליקציות לאחזר פרטי מיקום של תמונה או סרטון.CamcorderProfile
מוסיף את הפרופילים ברזולוציית QVGA (320x240). רמת האיכות מיוצגת על ידי הקבועיםQUALITY_QVGA
ו-QUALITY_TIME_LAPSE_QVGA
.- השיטות החדשות
setVideoStabilization()
,getVideoStabilization()
ו-isVideoStabilizationSupported()
מאפשרות לכם לבדוק ולנהל את ייצוב הסרטון ב-Camera
.
הרשאות
אלה ההרשאות החדשות:
- android.Manifest.permission#READ_SOCIAL_STREAM ו-android.Manifest.permission#WRITE_SOCIAL_STREAM: מאפשרות למתאם סנכרון לקרוא ולכתוב נתונים של פיד חברתי לאיש קשר בספק אנשי הקשר המשותף.
בדוח ההבדלים בין ממשקי ה-API תוכלו למצוא פירוט של כל השינויים ב-API ב-Android 4.0.3 (רמת API 15).
רמת ה-API
ל-Android 4.0.3 API מוקצה מזהה שלם – 15 – שנשמר במערכת עצמה. המזהה הזה, שנקרא 'רמת ה-API', מאפשר למערכת לקבוע בצורה נכונה אם אפליקציה תואמת למערכת, לפני התקנת האפליקציה.
כדי להשתמש בממשקי API שהוצגו ב-Android 4.0.3 באפליקציה, צריך לקמפל את האפליקציה לפלטפורמת Android שתומכת ברמת API 15 ואילך. בהתאם לצרכים שלכם, יכול להיות שתצטרכו להוסיף גם מאפיין android:minSdkVersion="15"
לאלמנט <uses-sdk>
.
מידע נוסף זמין במסמך רמות API.