Poziom API: 10
Android 2.3.4 (GINGERBREAD_MR1
)
to wersja konserwacyjna, która zawiera kilka poprawek błędów
na platformę Android 2.3, bez żadnych zmian w interfejsach API w stosunku do Androida 2.3.3. Dodatkowo:
Android 2.3.4 obsługuje interfejs Open Accessory API na urządzeniach mobilnych,
za pomocą opcjonalnej Otwórz bibliotekę akcesoriów.
Dla programistów platforma Android 2.3.4 jest dostępna jako dostępny do pobrania komponent Android SDK. Platforma do pobrania zawiera bibliotekę i obraz systemu Androida, a także zestaw skórek do emulatora i inne elementy. Aby rozpocząć tworzenie lub testowanie aplikacji na Androida w wersji 2.3.4, użyj Menedżera pakietu Android SDK, aby pobrać platformę do swojego pakietu SDK.
Omówienie interfejsu API
Android 2.3.4 udostępnia aplikacjom ten sam interfejs API co Android 2.3.3 (poziom API 10). Podsumowanie interfejsu API znajdziesz w Informacje o wersji Androida 2.3.3
Otwórz Bibliotekę akcesoriów
Otwarte akcesoria to nowa funkcja umożliwiająca integrację połączonych urządzeń peryferyjnych z aplikacjami działającymi na platformie. Ta funkcja opiera się na stosie USB (uniwersalna magistrala szeregowa) wbudowanym w platformę i interfejsie API udostępnianym aplikacjom. Urządzenia peryferyjne podłączane do urządzeń z Androidem jako akcesoria łączą się jako hosty USB.
Funkcja Open Accessory została wprowadzona w Androidzie 3.1 (poziom API 12), ale jest na urządzeniach z Androidem 2.3.4 przy użyciu czyli Open Accessory Library. Biblioteka udostępnia obiektowy interfejs API, który Umożliwia aplikacjom wykrywanie różnych urządzeń, komunikowanie się z nimi i zarządzanie nimi. podłączone przez USB. Zawiera też implementację interfejsu API w częściach platformy Android, które nie są bezpośrednio dostępne dla aplikacji w Androidzie 2.3.4.
Korzystanie z Open Accessory Library jest opcjonalne na każdym urządzeniu. Producenci urządzeń mogą zdecydować, czy chcą uwzględnić Open Accessory Library w swoich produktach, czy też z niej zrezygnować. Biblioteka jest zgodna z Androidem 3.1, więc aplikacje opracowane pod kątem Androida 2.3.4 będą prawidłowo działać na urządzeniach z Androidem 3.1, jeśli te urządzenia obsługują akcesoria USB.
Interfejs API udostępniany przez Open Accessory Library jest oparty na Open Accessory Interfejs API udostępniany w systemie Android 3.1. W większości obszarów można stosować te same techniki API. Programowanie na potrzeby Open Accessory Library na Androidzie 2.3.4 różni się jednak ze standardowego interfejsu API USB w następujący sposób:
- Uzyskiwanie obiektu
UsbManager
– aby uzyskać obiektUsbManager
podczas korzystania z biblioteki dodatków, użyj metody pomocniczejgetInstance()
zamiastgetSystemService()
. Przykład:Kotlin
val manager = UsbManager.getInstance(this)
Java
UsbManager manager = UsbManager.getInstance(this);
- Pobieranie obiektu
UsbAccessory
z odfiltrowanej intencji – gdy filtrujesz pod kątem podłączonego urządzenia lub akcesorium za pomocą filtra intencji, obiektUsbAccessory
jest zawarty w intencji przekazywanej do aplikacji. Jeśli używasz biblioteki dodatków, możesz uzyskać obiektUsbAccessory
w ten sposób:Kotlin
val accessory = UsbManager.getAccessory(intent)
Java
UsbAccessory accessory = UsbManager.getAccessory(intent)
- Brak obsługi hosta USB – Android 2.3.4 i Open Accessory Library nie obsługują trybu hosta USB (na przykład przez
UsbDevice
), chociaż tryb hosta USB jest obsługiwany w Androidzie 3.1. Urządzenie z Androidem w wersji 2.3.4 nie może działać jako host USB. Dzięki tej bibliotece urządzenie z Androidem może działać tylko urządzenie peryferyjne, w którym podłączone akcesorium działa jako host USB. (za pośrednictwemUsbAccessory
).
Do tworzenia aplikacji przy użyciu Open Accessory Library potrzebujesz:
- najnowsza wersja narzędzi Android SDK;
- Najnowsza wersja dodatku do interfejsów API Google, która zawiera bibliotekę siebie (do łączenia)
- rzeczywiste urządzenie sprzętowe z Androidem 2.3.4 (lub Androidem 3.1) z obsługą urządzeń peryferyjnych USB do testowania w czasie działania na podłączonych urządzeniach.
Aby dowiedzieć się więcej o rozwijaniu aplikacji, które współpracują z urządzeniami peryferyjnymi USB, zapoznaj się z odpowiednią dokumentacją dla deweloperów.
Deweloperzy mogą też poprosić o filtrowanie w Google Play, ich aplikacje nie będą dostępne dla użytkowników, których urządzenia nie obsługują odpowiednie akcesoria. Aby poprosić o filtrowanie, dodaj do pliku manifestu aplikacji element:
<uses-feature android:name="android.hardware.usb.accessory" android:required="true">
Poziom interfejsu API
Platforma Android 2.3.4 nie zwiększa poziomu interfejsu API – używa tego samego poziomu co Android 2.3.3, czyli poziomu 10.
Aby używać w swojej aplikacji interfejsów API wprowadzonych na poziomie 10, musisz skompilować aplikację z użyciem biblioteki Androida dostępnej w najnowszej wersji dodatku interfejsów API Google, która zawiera też bibliotekę Open Accessory Library.
W zależności od potrzeb możesz też dodać atrybut android:minSdkVersion="10"
do elementu <uses-sdk>
w pliku manifestu aplikacji. Jeśli Twoja aplikacja jest przeznaczona do działania tylko na Androidzie 2.3.3 lub nowszym, zadeklarowanie tego atrybutu uniemożliwi jej instalację na starszych wersjach tej platformy.
Więcej informacji znajdziesz w artykule Co to jest interfejs API Poziom?