רמת ה-API: 10
Android 2.3.3 (GINGERBREAD_MR1
) היא גרסה קטנה עם תכונות חדשות, שכוללת כמה שיפורים וממשקי API לפלטפורמת Android 2.3.
למפתחים, פלטפורמת Android 2.3.3 זמינה כרכיב שניתן להורדה ל-Android SDK. הפלטפורמה שניתן להורדה כוללת ספריית Android ותמונת מערכת, וגם ערכה של סקינים למהדמרים ועוד. כדי להתחיל לפתח או לבדוק עבור Android 2.3.3, צריך להשתמש ב-Android SDK Manager כדי להוריד את הפלטפורמה ל-SDK.
סקירה כללית על ממשקי API
בקטעים הבאים מופיעה סקירה טכנית של החידושים למפתחים בגרסה 2.3.3, כולל תכונות חדשות ושינויים ב-API של המסגרת מאז הגרסה הקודמת.
תקשורת מטווח קצר (NFC)
ב-Android 2.3.3 יש תמיכה משופרת ומרחיבה ב-NFC, שמאפשרת לאפליקציות לקיים אינטראקציה עם סוגים נוספים של תגים בדרכים חדשות.
קבוצה חדשה ומקיפה של ממשקי API שמספקת לאפליקציות גישה לקריאה ולכתיבה למגוון רחב יותר של טכנולוגיות תגים רגילות, כולל:
- NFC-A (ISO 14443-3A)
- NFC-B (ISO 14443-3B)
- NFC-F (JIS 6319-4)
- NFC-V (ISO 15693)
- ISO-DEP (ISO 14443-4)
- MIFARE Classic
- MIFARE Ultralight
- תגי NDEF של NFC Forum
הפלטפורמה מספקת גם פרוטוקול תקשורת ו-API מוגבלים של peer-to-peer. פעילויות בחזית יכולות להשתמש ב-API כדי לרשום הודעת NDEF שתישלח למכשירי NFC אחרים כשהם יתחברו.
שליחת תגים מתקדמת מעניקה לאפליקציות יותר שליטה על האופן והמועד של הפעלתן כשמתגלה תג NFC. בעבר, הפלטפורמה השתמשה בשליחת כוונה בשלב אחד כדי להודיע לאפליקציות המעוניינות שזוהה תג. הפלטפורמה משתמשת עכשיו בתהליך בן ארבעה שלבים שמאפשר לאפליקציה שבחזית להשתלט על אירוע תג לפני שהוא מועבר לאפליקציות אחרות (android.nfc.NfcAdapter.enableForegroundDispatch()
). תהליך השליחה החדש מאפשר גם לאפליקציות להאזין לתוכן ספציפי של תגים ולטכנולוגיות תגים, על סמך שתי פעולות חדשות של כוונת השימוש – android.nfc.action.NDEF_DISCOVERED
ו-android.nfc.action.TECH_DISCOVERED
.
ממשק ה-API של NFC זמין בחבילות android.nfc
ו-android.nfc.tech
. הכיתות העיקריות הן:
NfcAdapter
, שמייצג את חומרת ה-NFC במכשיר.NdefMessage
, שמייצג הודעת נתונים מסוג NDEF, הפורמט הסטנדרטי שבו מתבצעת העברה של 'רשומות' עם נתונים בין מכשירים ותגים. הודעה מסוג NDEF מכילה הרבה רשומות NDEF מסוגים שונים. אפליקציות יכולות לקבל את ההודעות האלה מאובייקטים מסוג Intent מסוגNDEF_DISCOVERED
,TECH_DISCOVERED
אוTAG_DISCOVERED
.NdefRecord
, שנשלח ב-NdefMessage
, שמתאר את סוג הנתונים ששותפו ונושא את הנתונים עצמם.Tag
, שמייצג תג שנסרק על ידי המכשיר. יש תמיכה בכמה סוגים של תגים, בהתאם לטכנולוגיית התג הבסיסית.TagTechnology
, ממשק שמעניק לאפליקציות גישה למאפייני התג ולפעולות הקלט/פלט על סמך הטכנולוגיות שקיימות בתג. בקישורandroid.nfc.tech
מופיעה רשימה מלאה של טכנולוגיות התגים שנתמכות ב-Android 2.3.3.
תקשורת NFC מבוססת על טכנולוגיה אלחוטית בחומרה של המכשיר, והיא לא קיימת בכל מכשירי Android. במכשירי Android שלא תומכים ב-NFC, כשמפעילים את getDefaultAdapter(Context)
המערכת מחזירה אובייקט null, וב-context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_NFC)
המערכת מחזירה את הערך false
. עם זאת, ממשק ה-API של NFC תמיד קיים, ללא קשר לתמיכה בחומרה הבסיסית.
כדי להשתמש ב-NFC API, האפליקציות צריכות לבקש הרשאה מהמשתמש על ידי הצהרה על <uses-permission
android:name="android.permission.NFC">
בקובצי המניפסט שלהן.
בנוסף, מפתחים יכולים לבקש סינון ב-Google Play, כך שהאפליקציות שלהם לא יהיו גלויות למשתמשים שהמכשירים שלהם לא תומכים ב-NFC. כדי לבקש סינון, מוסיפים את הערך <uses-feature android:name="android.hardware.nfc"
android:required="true">
למניפסט של האפליקציה.
מידע נוסף זמין במדריך למפתחים בנושא NFC.
Bluetooth
ב-Android 2.3.3 נוספה תמיכה בפלטפורמה וב-API לחיבורי שקע לא מאובטחים ב-Bluetooth. כך אפליקציות יכולות לתקשר עם מכשירים פשוטים שאולי לא מציעים ממשק משתמש לאימות. מידע נוסף זמין במאמרים createInsecureRfcommSocketToServiceRecord(java.util.UUID)
ו-listenUsingInsecureRfcommWithServiceRecord(java.lang.String, java.util.UUID)
.
גרפיקה
- הכיתה החדשה
BitmapRegionDecoder
מאפשרת לאפליקציות לפענח אזור מלבני מתמונה. ה-API שימושי במיוחד כשהתמונה המקורית גדולה והאפליקציה צריכה רק חלקים מהתמונה. - שדה
inPreferQualityOverSpeed
חדש ב-BitmapFactory.Options
מאפשר לאפליקציות להשתמש בשיטת IDCT מדויקת יותר, אבל איטית יותר במעט, בפענוח JPEG. כך אפשר לשפר את איכות התמונה המשוחזרת.
מסגרת מדיה
- הכיתה החדשה
MediaMetadataRetriever
מספקת ממשק מאוחד לאחזור של פריים ומטא-נתונים מקובץ מדיה של קלט. - השדות
MediaRecorder.AudioEncoder
ו-MediaRecorder.OutputFormat
כוללים שדות חדשים לציון הפורמטים AMR Wideband ו-AAC.
זיהוי דיבור
ממשק ה-API לזיהוי דיבור כולל ערכי קבועים חדשים שמאפשרים לכם לנהל את תוצאות החיפוש הקולי בדרכים חדשות. הקבועים החדשים לא נדרשים לשימוש רגיל בזיהוי דיבור, אבל אפשר להשתמש בהם כדי להציג תצוגה שונה של תוצאות החיפוש הקולי באפליקציה. מידע נוסף זמין במאמר RecognizerResultsIntent
.
רמת ה-API
פלטפורמת Android 2.3.3 מספקת גרסה מעודכנת של API המסגרת. לממשק ה-API של Android 2.3.3 מוקצה מזהה שלם – 10 – שנשמר במערכת עצמה. המזהה הזה, שנקרא 'רמת ה-API', מאפשר למערכת לקבוע בצורה נכונה אם אפליקציה תואמת למערכת, לפני התקנת האפליקציה.
כדי להשתמש בממשקי API שהוצגו ב-Android 2.3.3 באפליקציה, צריך לקמפל את האפליקציה מול ספריית Android שסופקת בפלטפורמת Android 2.3.3 SDK. בהתאם לצרכים שלכם, יכול להיות שתצטרכו להוסיף גם מאפיין android:minSdkVersion="10"
לאלמנט <uses-sdk>
במניפסט של האפליקציה. אם האפליקציה שלכם מיועדת לפעול רק ב-Android מגרסה 2.3 ואילך, ההצהרה על המאפיין תמנע את ההתקנה של האפליקציה בגרסאות קודמות של הפלטפורמה.
מידע נוסף זמין במאמר מהו רמת API?