רמת ה-API: 10
Android 2.3.4 (GINGERBREAD_MR1
) היא גרסה לתחזוקה שמוסיפה כמה תיקונים ותיקוני באגים לפלטפורמת Android 2.3, ללא שינויים ב-API בהשוואה ל-Android 2.3.3. בנוסף, ב-Android 2.3.4 יש תמיכה ב-Open Accessory API למכשירים ניידים, דרך Open Accessory Library האופציונלית.
למפתחים, פלטפורמת Android 2.3.4 זמינה כרכיב שניתן להורדה ל-Android SDK. הפלטפורמה שניתנת להורדה כוללת ספריית Android ותמונת מערכת, וגם ערכת סקינים של אמולטור עוד. כדי להתחיל לפתח או לבדוק מול Android 2.3.4, להשתמש ב-Android SDK Manager כדי להוריד את הפלטפורמה ל-SDK.
סקירה כללית על ממשקי API
ב-Android 2.3.4 מוצג אותו ממשק API למסגרת לאפליקציות כמו ב-Android 2.3.3 (רמת API 10). לסיכום של ה-API אפשר לעיין במאמר הערות לגבי גרסת Android 2.3.3.
פתיחת ספריית האביזרים
Open Accessory היא יכולת חדשה לשילוב ציוד היקפי מחובר עם אפליקציות שפועלות בפלטפורמה. היכולת מבוסס על מחסנית USB (אפיק טורי אוניברסלי) שמובנית בפלטפורמה ממשק ה-API חשוף לאפליקציות. ציוד היקפי שמחובר למכשירי Android בתור אביזרים מתחבר כמארחי USB.
Open Accessory הושק ב-Android 3.1 (רמת API 12), אבל הוא זמין למכשירים שבהם פועלת מערכת Android 2.3.4 באמצעות התקן חיצוני אופציונלי ספריית האביזרים הפתוחה. הספרייה חושפת ממשק API של framework מאפשר לאפליקציות לגלות מגוון מכשירים, לתקשר איתם ולנהל אותם שונים המחוברים באמצעות USB. הן גם מספקות את ההטמעה של ה-API מול חלקים של פלטפורמת Android שאינם חשופים ישירות לאפליקציות Android 2.3.4.
ספריית האביזרים הפתוחה היא אופציונלית בכל מכשיר נתון. Device (מכשיר) יצרנים יכולים לבחור אם לכלול את ספריית האביזרים הפתוחה המוצרים או להחריג אותם. הספרייה תואמת ל-Android 3.1, כך שאפליקציות שפותחו עבור Android 2.3.4 יפעלו כראוי במכשירים עם Android 3.1, אם המכשירים האלה תומכים באביזרי USB.
ממשק ה-API שסופק על ידי ספריית Open Accessory מבוסס על ממשק ה-API של Open Accessory שסופק ב-Android 3.1. ברוב התחומים אפשר להשתמש באותן שיטות ממשקי API. עם זאת, פיתוח ל-Open Accessory Library ב-Android 2.3.4 שונה מהפיתוח ל-USB API הסטנדרטי בדרכים הבאות:
- קבלת אובייקט
UsbManager
– כדי לקבל באובייקטUsbManager
כשמשתמשים בספריית התוספים, להשתמש בשיטת העזרהgetInstance()
במקוםgetSystemService()
מוצרים לדוגמה:Kotlin
val manager = UsbManager.getInstance(this)
Java
UsbManager manager = UsbManager.getInstance(this);
- אחזור של
UsbAccessory
מכוונה מסוננת – כשמסננים מכשיר או אביזר מחוברים באמצעות מסנן כוונה, אובייקטUsbAccessory
נכלל בכוונה שמועברת לאפליקציה. אם אתם משתמשים בספריית התוסף, תוכלו לקבל את האובייקטUsbAccessory
באופן הבא:Kotlin
val accessory = UsbManager.getAccessory(intent)
Java
UsbAccessory accessory = UsbManager.getAccessory(intent)
- אין תמיכה במארח USB – ב-Android 2.3.4 ובספריית Open Accessory Library אין תמיכה במצב מארח USB (לדוגמה, דרך
UsbDevice
), אבל במצב מארח USB יש תמיכה ב-Android 3.1. מכשיר מבוסס Android עם Android 2.3.4 לא יכול לפעול כ-USB מארח. הספרייה מאפשרת למכשיר מבוסס Android לפעול ציוד היקפי בלבד, כשהאביזר המחובר פועל כמארח USB (באמצעותUsbAccessory
).
כדי לפתח אפליקציות באמצעות Open Accessory Library, יש צורך:
- הגרסה האחרונה של כלי Android SDK
- הגרסה האחרונה של התוסף של Google APIs, שכוללת את הספרייה עצמה (לקישור)
- מכשיר חומרה בפועל עם Android 2.3.4 (או Android 3.1) שתומך באביזרי USB, לצורך בדיקה בסביבת זמן ריצה במכשירים מחוברים
לסקירה מלאה על פיתוח אפליקציות שמקיימות אינטראקציה עם אביזרי USB, אפשר לעיין במסמכי התיעוד למפתחים הרלוונטיים.
בנוסף, מפתחים יכולים לבקש סינון ב-Google Play, כך שהאפליקציות שלהם לא יהיו זמינות למשתמשים שהמכשירים שלהם לא תומכים באבזרים המתאימים. כדי לבקש סינון, מוסיפים את הרכיב הבא למניפסט של האפליקציה:
<uses-feature android:name="android.hardware.usb.accessory" android:required="true">
רמת API
בפלטפורמה Android 2.3.4 לא מוסיפים רמת API – היא משתמשת באותה רמת API כמו Android 2.3.3, רמת API 10.
כדי להשתמש בממשקי API שהושקו ברמת API 10 באפליקציה שלכם: צריך להדר את האפליקציה מול ספריית Android שמופיעה את הגרסה האחרונה של תוסף Google APIs, שכוללת גם את ספריית האביזרים.
בהתאם לצרכים שלכם, יכול להיות שתצטרכו להוסיף גם מאפיין android:minSdkVersion="10"
לאלמנט <uses-sdk>
במניפסט של האפליקציה. אם האפליקציה מיועדת לפעול רק ב-Android מגרסה 2.3.3 ואילך,
הצהרה על המאפיין מונעת את התקנת האפליקציה בשלב מוקדם יותר
של הפלטפורמה.
מידע נוסף זמין במאמר מהו רמת API?