ממשקי API של Android 2.3

רמת ה-API: 9

למפתחים, פלטפורמת Android 2.3‏ (GINGERBREAD) זמינה כרכיב שניתן להורדה ל-Android SDK. הפלטפורמה שניתנת להורדה כוללת ספריית Android ותמונת מערכת, וגם ערכת סקינים של אמולטור עוד. כדי להתחיל לפתח או לבדוק עבור Android 2.3, צריך להשתמש ב-Android SDK Manager כדי להוריד את הפלטפורמה ל-SDK.

סקירה כללית על ממשקי API

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

VoIP מבוסס-SIP

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

SIP API זמין בandroid.net.sip חבילה. סוג המפתח הוא SipManager, והאפליקציות משתמשות בו כדי להגדיר ולנהל פרופילי SIP, ולאחר מכן להתחיל שיחות אודיו ולקבל שיחות אודיו. אחרי שמתחילים שיחת אודיו, האפליקציות יכולות להשתיק את השיחה, להפעיל את מצב הרמקול, לשלוח צלילים של DTMF ועוד. האפליקציות יכולות להשתמש גם SipManager כדי ליצור חיבורי SIP כלליים.

סטאק ה-SIP והשירותים הבסיסיים של הפלטפורמה זמינים במכשירים לפי שיקול דעתו של היצרן והספק המשויך. לכן, לפני שמשקיפים את הפונקציונליות של השיחות למשתמשים, צריך להשתמש בשיטה isApiSupported() כדי לבדוק אם יש תמיכה ב-SIP.

כדי להשתמש ב-SIP API, האפליקציות צריכות לבקש הרשאה מהמשתמש על ידי הצהרה על <uses-permission android:name="android.permission.INTERNET"> ו-<uses-permission android:name="android.permission.USE_SIP"> בקובצי המניפסט שלהן.

בנוסף, מפתחים יכולים לבקש סינון ב-Google Play, כך שהאפליקציות שלהם לא יהיו גלויות למשתמשים שהמכשירים שלהם לא כוללים את שירותי SIP וסטאק SIP של הפלטפורמה. כדי לבקש סינון, צריך להוסיף את <uses-feature android:name="android.software.sip" android:required="true"> ואת <uses-feature android:name="android.software.sip.voip"> למניפסט של האפליקציה.

מידע נוסף זמין במדריך למפתחים של SIP.

תקשורת מטווח קצר (NFC)

מערכת Android 2.3 כוללת סטאק NFC ו-framework API שמאפשר למפתחים קריאת תגי NDEF שמתגלה כשמשתמש נוגע במכשיר עם NFC כדי לתייג רכיבים שמוטמעים בסטיקרים, בפוסטרים חכמים ואפילו במכשירים אחרים.

הפלטפורמה מספקת את שירותי ה-NFC הבסיסיים שפועלים עם החומרה של המכשיר כדי לזהות תגים כשהם נכנסים לטווח. כשהפלטפורמה מזהה תג, היא מעדכנת את האפליקציות על ידי שידור כוונה (Intent), ומצרפת את הודעות ה-NDEF של התג לכוונה כפרטים נוספים. אפליקציות יכולות ליצור מסנני Intent כדי לזהות הודעות ותגים ממוקדים ולטפל בהם. לדוגמה, אחרי קבלת תג לפי Intent, אפליקציות מחלצות את הודעות ה-NDEF, מאחסנים אותן, שולחים התראות או תטפל בהם בדרכים אחרות.

API NFC זמין בחבילה של android.nfc. סיווגי המפתח הם:

  • NfcAdapter, שמייצג את חומרת ה-NFC במכשיר.
  • NdefMessage, שמייצג הודעת נתונים מסוג NDEF, הפורמט הסטנדרטי שבו מתבצעת העברה של 'רשומות' עם נתונים בין מכשירים ותגים. האפליקציות יכולות לקבל את ההודעות האלה מאובייקטים מסוג Intent של ACTION_TAG_DISCOVERED.
  • NdefRecord, שנשלח ב-NdefMessage, שמתאר את סוג הנתונים ששותפו ונושא את הנתונים עצמם.

תקשורת NFC מסתמכת על טכנולוגיה אלחוטית בחומרת המכשיר, התמיכה בתכונות ה-NFC של הפלטפורמה במכשירים ספציפיים נקבעת לפי של היצרנים שלהם. כדי לבדוק מהי התמיכה ב-NFC במכשיר הנוכחי: אפליקציות יכולות לקרוא ל-isEnabled() כדי לשלוח שאילתה אל NfcAdapter. עם זאת, ממשק ה-API של NFC תמיד קיים, ללא קשר לתמיכה בחומרה הבסיסית.

כדי להשתמש ב-NFC API, האפליקציות צריכות לבקש הרשאה מהמשתמש על ידי הצהרה על <uses-permission android:name="android.permission.NFC"> בקובצי המניפסט שלהן.

בנוסף, מפתחים יכולים לבקש סינון ב-Google Play, למשל המשתמשים במכשירים שלהם לא תומכים בגילוי האפליקציות שלהם NFC. כדי לבקש סינון, מוסיפים את הערך <uses-feature android:name="android.hardware.nfc" android:required="true"> למניפסט של האפליקציה.

כדי לעיין באפליקציה לדוגמה שמשתמשת ב-API ל-NFC: NFCDemo

ג'ירוסקופ וחיישנים אחרים

ב-Android 2.3 נוספה תמיכה בפלטפורמה וב-API בכמה סוגים חדשים של קריאות חיישנים – גירוסקופ, וקטור סיבוב, תאוצה לינארית, כוח משיכה ובארומטר. מפתחים יכולים להשתמש בקריאות החיישנים החדשות כדי ליצור אפליקציות שמגיבות במהירות ובקלות לשינויים מדויקים במיקום ובתנועה של המכשיר. אפליקציית Sensor API מדווחת על הג'ירוסקופ ועל שינויים אחרים בחיישנים כדי להביע עניין בין אם הן פועלות במסגרת האפליקציה או במערכות מקוריות

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

מפתחים יכולים לבקש סינון ב-Google Play, כך שהאפליקציות שלהם לא יהיו גלויות למשתמשים שהמכשירים שלהם לא כוללים חיישן גירוסקופ. כדי לעשות זאת, מוסיפים את <uses-feature android:name="android.hardware.sensor.gyroscope" android:required="true"> למניפסט של האפליקציה.

לפרטים נוספים על ה-API: Sensor.

תמיכה במספר מצלמות

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

  • בכיתה חדשה של Camera.CameraInfo נשמרים מאפיינים תלויי מיקום (כיוון, לפנים או אחוריים).
  • methods חדשות getNumberOfCameras() ו-getCameraInfo() במחלקה Camera מאפשרות לאפליקציות לשלוח שאילתות לגבי המצלמות הזמינות ופותחים את המצלמה שהם צריכים.
  • שיטת get() החדשה מאפשרת אפליקציות מאחזרות CamcorderProfile של מצלמה ספציפית.
  • getJpegEncodingQualityParameter() החדש מאפשר לאפליקציות לקבל את רמת האיכות של צילום התמונות הסטטיות במצלמה ספציפית.

כדי לראות קוד לדוגמה לגישה למצלמה הקדמית, אפשר לעיין בקטע CameraPreview.java באפליקציית הדוגמה ApiDemos.

ב-Camera API יש גם:

אפקטים קוליים שניתן לערבב

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

קוד לדוגמה של אפקטים קוליים זמין כאן: AudioFxDemo.java באפליקציה לדוגמה של ApiDemos.

מסגרת המדיה מוסיפה גם:

  • תמיכה חדשה בתג גובה במטא-נתונים של EXIF בקובצי JPEG. שיטה חדשה אמצעי תשלום אחד (getAltitude()) אל מאחזרים את הערך של תג הגובה EXIF.
  • שיטה חדשה של setOrientationHint() מאפשרת לאפליקציה לעדכן את MediaRecorder לגבי הכיוון במהלך צילום הווידאו.

מנהל ההורדות

הפלטפורמה כוללת שירות מערכת חדש של DownloadManager שמטפל בהורדות HTTP ממושכות. אפליקציות יכולות לבקש שה-URI יוריד לקובץ יעד מסוים. DownloadManager המערכת תבצע את ההורדה ברקע, תוך שמירה על אינטראקציות HTTP ניסיון חוזר של הורדות לאחר כשלים או בעקבות שינויי קישוריות ומערכת מופעלת מחדש.

  • אפליקציות יכולות לקבל מופע של המחלקה DownloadManager על ידי קריאה ל-getSystemService(String) והעברת DOWNLOAD_SERVICE. אפליקציות שמבקשות הורדות דרך ה-API הזה צריכות לרשום מקלט שידורים עבור ACTION_NOTIFICATION_CLICKED, בהתאם כאשר המשתמש לוחץ על הורדה פועלת בהתראה או ממשק משתמש של הורדות.
  • המחלקה DownloadManager.Request מאפשרת לספק את כל המידע הדרוש כדי לבקש הורדה חדשה, כמו URI של בקשה ויעד הורדה. מזהה ה-URI של הבקשה הוא הפרמטר היחיד הנדרש. חשוב לדעת שהיעד שמוגדר כברירת מחדל להורדה הוא נפח אחסון משותף, שבו המערכת יכולה למחוק את הקובץ אם היא צריכה לפנות מקום לשימוש במערכת. כדי לשמור הורדה באופן קבוע, צריך לציין יעד להורדה באחסון חיצוני (ראו setDestinationUri(Uri)).
  • בכיתה DownloadManager.Query יש שיטות שמאפשרות לאפליקציה לבצע שאילתות ולסנן הורדות פעילות.

StrictMode

כדי לעזור למפתחים לעקוב אחרי הביצועים של האפליקציות שלהם ולשפר אותם, בפלטפורמה יש שירות חדש שנקרא StrictMode. כאשר הוא מוטמע באפליקציה, StrictMode קולט ושולח התראות מפתח של פעילות מקרית או ברשת שעשויה לפגוע באפליקציה ביצועים, כמו פעילות שמתרחשת ב-thread הראשי של האפליקציה (כשמתקבלות פעולות בממשק המשתמש ומתבצעות גם אנימציות). מפתחים יכולים להעריך את בעיות השימוש ברשת ובדיסק שהועלו ב-StrictMode ולתקן אותן לפי הצורך, כדי שהשרשור הראשי יהיה יותר רספונסיבי לא ניתן להציג למשתמשים תיבות דו-שיח של ANR.

  • StrictMode היא הכיתה המרכזית וזהו נקודת השילוב העיקרית עם המערכת והמכונה הווירטואלית. הכיתה מספקת שיטות נוחות ניהול כללי מדיניות ה-thread וה-VM שחלים על המכונה.
  • StrictMode.ThreadPolicy ו-StrictMode.VmPolicy מחזיקים את כללי המדיניות שהגדרת וחלים עליהם מכונות thread ו-VM.

למידע נוסף על השימוש ב-StrictMode לאופטימיזציה של האפליקציה, אפשר לעיין במסמכי העזרה של הכיתה ובקוד לדוגמה בכתובת android.os.StrictMode.

מסגרת UI

  • תמיכה בגלילת יתר
    • תמיכה חדשה לגלילת יתר בתצוגות ובווידג'טים. בתצוגות, אפליקציות יכולות להפעיל או להשבית גלילה מעבר לקצה בתצוגה מסוימת, להגדיר את מצב הגלילה מעבר לקצה, לשלוט במרחק הגלילה מעבר לקצה ולטפל בתוצאות של גלילה מעבר לקצה.
    • בווידג'טים, אפליקציות יכולות לשלוט במאפיינים של גלילת יתר כמו אנימציה, קפיציות ומרחק גדול מדי. מידע נוסף זמין במאמרים android.view.View ו-android.widget.OverScroller.
    • ViewConfiguration מספק גם את השיטות getScaledOverflingDistance() ו-getScaledOverscrollDistance().
    • overScrollMode, overScrollFooter חדשים וגם מאפייני overScrollHeader עבור רכיבי <ListView>, לשליטה בהתנהגות של גלילת יתר.
  • תמיכה בסינון באמצעות מגע
    • תמיכה חדשה בסינון מגע, שמאפשרת לאפליקציה לשפר את האבטחה של תצוגות שמספקות גישה לפונקציונליות רגישה. לדוגמה, סינון המגע מתאים כדי להבטיח את האבטחה של פעולות משתמש כגון הענקת בקשת הרשאה, ביצוע רכישה או לחיצה על מודעה. פרטים נוספים זמינים במאמר הצגת מסמכי התיעוד של הכיתה.
    • מאפיין filterTouchesWhenObscured חדש לרכיבי תצוגה, שמציין אם לסנן נגיעות כשחלון התצוגה מוסתר על ידי חלון גלוי אחר. אם המדיניות מוגדרת לערך "true", התצוגה לא לקבל נגיעות בכל פעם שמופיע טוסט, תיבת דו-שיח או חלון אחר מעל החלון של הצפייה. פרטים נוספים זמינים במאמר הצגת מסמכי העזרה בנושא אבטחה.

    קוד לדוגמה לסינון מגע: SecureView.Java באפליקציה לדוגמה של ApiDemos.

  • ניהול אירועים משופר
    • מחלקה בסיסית חדשה עבור אירועים לקלט, InputEvent. הכיתה מספקת שיטות שמאפשרות לאפליקציות לקבוע את משמעות האירוע, למשל באמצעות שליחת שאילתה ל-inputDevice שממנו בוצע האירוע. KeyEvent ו-MotionEvent הם מחלקות משנה של InputEvent.
    • מחלקה בסיסית חדשה למכשירים לקליטת נתונים, InputDevice. הכיתה מאחסנת מידע על היכולות של מכשיר קלט מסוים מספקת שיטות שמאפשרות לאפליקציות לקבוע איך לפרש אירועים של מכשיר לקליטת נתונים.
  • אירועי תנועה משופרים
    • ה-API של MotionEvent מורחב כך שיכלול 'מזהה מצביע' מידע, שמאפשר לאפליקציות לעקוב אחר אצבעות בודדות בזמן שהן לעבור למעלה ולמטה. הכיתה מוסיפה מגוון שיטות שמאפשרות לאפליקציה לעבוד ביעילות עם אירועי תנועה.
    • למערכת הקלט יש עכשיו לוגיקה ליצירת אירועי תנועה עם פרטים על מזהים של מצביע העכבר, סינתזות של מזהים כסמנים חדשים, לא פעילים. המערכת עוקבת אחרי מספר מזהי סמן בנפרד במהלך אירוע תנועה, ומבצעת הערכה של המרחק בין הקבוצה האחרונה של הסימנים לבין הקבוצה הבאה כדי להבטיח המשכיות תקינה של הסימנים.
  • פקדים לבחירת טקסט
    • שיטה חדשה של setComposingRegion מאפשרת לאפליקציה לסמן אזור של טקסט כטקסט שנערך, תוך שמירה על הסגנון הנוכחי. א' השיטה getSelectedText מחזירה את הטקסט שנבחר אל תרגום מכונה. השיטות זמינות ב-BaseInputConnection, ב-InputConnection וב-InputConnectionWrapper.
    • מאפיינים חדשים textSelectHandle,‏ textSelectHandleLeft,‏ textSelectHandleRight ו-textSelectHandleWindowStyle ל-<TextView>, שמשמשים להפניה לרכיבי drawable שיעזרו להציג עוגנים לבחירת טקסט ואת הסגנון של החלון המכיל.
  • בקרת הפעילות בחשבון
  • הסגנונות של הסמלים והטקסט של ההתראות
  • מסכים גדולים במיוחד

    הפלטפורמה תומכת עכשיו בגודלי מסך גדולים במיוחד, כמו אלה שעשויים להופיע במכשירי טאבלט. מפתחים יכולים לציין שהאפליקציות שלהם תוכננו לתמוך בגודלי מסך גדולים במיוחד על ידי הוספת רכיב <supports screens ... android:xlargeScreens="true"> לקובצי המניפסט שלהם. אפליקציות יכולות להשתמש במגדיר משאבים חדש, xlarge, כדי לתייג משאבים שספציפיים למסכים גדולים במיוחד. עבור לפרטים על האופן שבו ניתן לתמוך במסכים גדולים במיוחד ובגדלים אחרים, ראו תמיכה בריבוי מסכים.

    גרפיקה

    ספקי תוכן

    • סוג ספק חדש AlarmClock להגדרת התראה או לטיפול בהתראה. הספק מכיל פעולת Intent מסוג ACTION_SET_ALARM ואת האפשרויות הנוספות שאפשר להשתמש בהן כדי להפעיל פעילות להגדרת שעון מעורר חדש באפליקציית שעון מעורר. לאפליקציות המעוניינות לקבל ה-Intent של SET_ALARM צריך ליצור פעילות שמחייבת את התחילית את ההרשאה SET_ALARM. אפליקציות שרוצות ליצור חשבון חדש ההתראה צריכה להשתמש ב-Context.startActivity(), כדי שלמשתמש תהיה אפשרות לבחור באיזה יישום של שעון מעורר להשתמש.
    • MediaStore תומך בפעולה חדשה של כוונה (Intent), PLAY_FROM_SEARCH, שמאפשרת לאפליקציה לחפש מדיה של מוזיקה ולהפעיל תוכן מהתוצאה באופן אוטומטי, אם הדבר אפשרי. לדוגמה, האפליקציה יכולה להפעיל את ה-Intent הזה כתוצאה מפקודת זיהוי קולי כדי להאזין למוזיקה.
    • MediaStore מוסיף גם את הדגל החדש MEDIA_IGNORE_FILENAME, שמורה לסורק המדיה להתעלם ממדיה בספרייה המכילה ובספריות המשנה שלה. המפתחים יכולים להשתמש באפשרות הזו כדי למנוע הצגת גרפיקה בגלריה, וכדי למנוע הצגת מוזיקה וצלילים של אפליקציות באפליקציית המוזיקה.
    • הספק Settings מוסיף את הפעולות החדשות של Activity‏ APPLICATION_DETAILS_SETTINGS ו-MANAGE_ALL_APPLICATIONS_SETTINGS, שמאפשרות לאפליקציה להציג את מסך הפרטים של אפליקציה ספציפית או להציג את המסך Manage Applications (ניהול האפליקציות).
    • ספק ContactsContract מוסיף את סוג הנתונים ContactsContract.CommonDataKinds.SipAddress, כדי לאחסן את כתובת ה-SIP (טלפוניה באינטרנט) של איש הקשר.

    מיקום

    • עכשיו ה-LocationManager עוקב אחרי בקשות של אפליקציות שמובילות לחסימות מצב שינה או לחסימות Wi-Fi, בהתאם ל-WorkSource, כיתת ניהול מערכת שמזהה את האפליקציה.

      LocationManager עוקב אחרי של כל הלקוחות שמבקשים עדכונים תקופתיים, ומיידעים את הספקים שלהם עליהם כפרמטר WorkSource, בעת הגדרת המינימום זמני עדכון. ספק המיקום ברשת משתמש ב-WorkSource כדי לעקוב אחרי נעילת ההתעוררות והנעילה של Wi-Fi שהאפליקציה יזמה, ומוסיף את הנתונים האלה לדיווח על השימוש בסוללה של האפליקציה בדף 'ניהול האפליקציות'.

    • בLocationManager נוספו כמה שיטות חדשות לאפשר לפעילות להירשם לקבלת עדכוני מיקום תקופתיים או חד-פעמיים לפי קריטריונים מסוימים (ראו בהמשך).
    • מחלקה חדשה של Criteria מאפשרת לאפליקציה לציין קבוצת קריטריונים לבחירת ספק מיקום. לדוגמה, ספקים יכולים להיות מסודרת לפי דיוק, צריכת חשמל, יכולת לדווח על גובה, מהירות, ורמת הנשיאה, והעלות הכספית.

    אחסון

    • ב-Android 2.3 נוספה StorageManager חדשה שתומכת בקובצי OBB (Opaque Binary Blob). התמיכה בפלטפורמה של קובצי OBB זמינה ב-Android 2.3, אבל כלים לפיתוח ליצירה ולניהול של קובצי OBB יהיו זמינים רק בתחילת 2011.
    • פלטפורמת Android 2.3 מוסיפה תמיכה רשמית במכשירים שלא כוללים כרטיסי SD (אבל היא מספקת מחיצה של כרטיס SD וירטואלי, כשאין כרטיס SD פיזי זמין). שיטת נוחות, isExternalStorageRemovable(), מאפשרת לאפליקציות לקבוע אם יש כרטיס SD פיזי.

    מנהל החבילות

    טלפוניה

    • TelephonyManager מוסיף את הקבוע NETWORK_TYPE_EVDO_B לציון ה-CDMA סוג רשת EVDO Rev B.
    • החזרה באמצעות שיטת getPsc() חדשה קוד המעורבל הראשי של תא ההצגה ברשת UMTS.

    גישה מקורית למחזור החיים של פעילות, לחלונות

    ב-Android 2.3 מוצגת קבוצה רחבה של ממשקי API לאפליקציות שמשתמשות בקוד מקומי. רמות העניין של אפליקציות כאלה כוללות:

    • NativeActivity הוא סוג חדש של סיווג Activity, שבו קריאות החזרה (callbacks) של מחזור החיים מיושמות ישירות בקוד מקורי. א' NativeActivity והקוד המקורי שלו מריצים במערכת בדיוק כמו פעילויות אחרות - באופן ספציפי הן פועלות במכשיר Android בתהליך המערכת של האפליקציה והפעלה שלה ב-thread הראשי של ממשק המשתמש של האפליקציה, והם מקבלים את אותו קריאה חוזרת (callback) במחזור החיים כמו פעילויות אחרות.
    • מחלקה חדשה של InputQueue וממשק קריאה חוזרת (callback) מאפשר להפעיל מודעות מותאמות ניהול קוד בתור אירועים.
    • ממשק SurfaceHolder.Callback2 החדש מאפשר שימוש בקוד נייטיב לנהל SurfaceHolder.
    • שיטות חדשות של takeInputQueue ו-takeSurface() ב-Window מאפשרות לקוד מקורי לנהל אירועים וממשקים.

    כדי לקבל מידע מלא על עבודה עם קוד נייטיב או כדי להוריד את ה-NDK: תוכלו לעיין בדף Android NDK.

    Dalvik Runtime

    רכיבים ומאפיינים חדשים במניפסט

    • מאפיין xlargeScreens חדש עבור <supports-screens> כדי לציין אם האפליקציה תומכת גורמי צורה גדולים במיוחד של מסכים גדולים. פרטים נוספים זמינים במאמר תמיכה במספר מסכים.
    • ערכים חדשים למאפיין android:screenOrientation של רכיב <activity>:
      • "reverseLandscape" — הפעילות רוצה שהמסך יהיה בכיוון לרוחב, הפוך לכיוון הרגיל של המסך בכיוון לרוחב.
      • "reversePortrait" — במסגרת הפעילות צריך המסך בפריסה לאורך, בכיוון ההפוך מהרגיל לאורך.
      • "sensorLandscape" — במסגרת הפעילות צריך המסך בפריסה לרוחב, אבל יכול להשתמש בחיישן כדי לשנות לכיוון המסך.
      • "sensorPortrait" — במסגרת הפעילות צריך המסך לאורך, אבל יכול להשתמש בחיישן כדי לשנות את הכיוון שהמסך פונה אליו.
      • "fullSensor" — הכיוון נקבע לפי חיישן כיוון: המסך יסתובב בהתאם לאופן שבו המשתמש יזיז את במכשיר. כך מתאפשרת כל אחת מ-4 הסבבים האפשריים, ללא קשר בדרך כלל, (לדוגמה, מכשירים מסוימים לא משתמשים בדרך כלל ב-180 מעלות ).

    הרשאות חדשות

    • com.android.permission.SET_ALARM – מאפשרת אפליקציה לשידור Intent כדי להגדיר התראה למשתמש. פעילות שמטפלת פעולת ה-Intent SET_ALARM צריכה את ההרשאה הזו.
    • android.permission.USE_SIP — הרשאה שמאפשרת לאפליקציה להשתמש ב-SIP API כדי לבצע או לקבל שיחות באינטרנט.
    • android.permission.NFC – מאפשרת לאפליקציה להשתמש NFC API כדי לקרוא תגי NFC.

    מאפיינים קבועים חדשים

    לפלטפורמה נוספו כמה תכונות חומרה חדשות שהמפתחים יכולים להצהיר עליהן במניפסטים של האפליקציה בהתאם לדרישות של האפליקציות שלהם. הזה מאפשרת למפתחים לשלוט באופן הסינון של האפליקציה שלהם, כשהיא מתפרסמת בתאריך Google Play.

    מידע מלא על הצהרת מאפיינים ועל שימוש בהם לסינון זמין במסמכי העזרה של <uses-feature>.

    דוח הבדלים בין ממשקי API

    כדי לראות תצוגה מפורטת של כל השינויים ב-API ב-Android 2.3 (רמת API 9), אפשר לעיין בדוח ההבדלים ב-API.

    רמת ה-API

    פלטפורמת Android 2.3 מספקת גרסה מעודכנת של ממשק ה-API של framework. ממשק ה-API של Android 2.3 מקבלים מזהה של מספר שלם – 9 – כלומר מאוחסנים במערכת עצמה. המזהה הזה, שנקרא 'רמת API', מאפשר כדי לקבוע בצורה נכונה אם אפליקציה תואמת במערכת, לפני התקנת האפליקציה.

    כדי להשתמש בממשקי API שהוצגו ב-Android 2.3 באפליקציה, צריך לקמפל את האפליקציה מול ספריית Android שסופקת בפלטפורמת Android 2.3 SDK. בהתאם לצרכים שלכם, ייתכן צריך להוסיף גם android:minSdkVersion="9" לרכיב <uses-sdk> . אם האפליקציה מיועדת לפעול רק ב-Android מגרסה 2.3 ואילך, הצהרה על המאפיין מונעת את התקנת האפליקציה בשלב מוקדם יותר של הפלטפורמה.

    מידע נוסף זמין במאמר מהו רמת API?