Interfejsy API Androida 2.3.4

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ć obiekt UsbManager podczas korzystania z biblioteki dodatków, użyj metody pomocniczej getInstance() zamiast getSystemService(). 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, obiekt UsbAccessory jest zawarty w intencji przekazywanej do aplikacji. Jeśli używasz biblioteki dodatków, możesz uzyskać obiekt UsbAccessory 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średnictwem UsbAccessory).

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?