Interfejsy API Androida 4.0.3

Poziom interfejsu API: 15

Android 4.0.3 (ICE_CREAM_SANDWICH_MR1) to wersja rozwojowa rodziny platform Android 4.0 (ICE_CREAM_SANDWICH). Ta wersja zawiera nowe funkcje dla użytkowników i programistów, zmiany w interfejsie API oraz różne poprawki błędów.

Dla deweloperów platforma Android 4.0.3 jest dostępna jako komponent do pobrania w pakiecie Android SDK. Platforma do pobrania zawiera bibliotekę Androida i obraz systemu, a także zestaw skórek emulatora i inne elementy. Aby rozpocząć tworzenie i testowanie aplikacji na Androida w wersji 4.0.3, użyj Menedżera pakietu Android SDK, aby pobrać platformę do swojego pakietu SDK.

Omówienie interfejsu API

W sekcjach poniżej znajdziesz omówienie techniczne nowych interfejsów API w Androidzie 4.0.3.

Interfejs API strumienia mediów społecznościowych w usługach dostawcy kontaktów

Aplikacje korzystające z danych strumienia społecznościowego, takich jak aktualizacje stanu i meldunki, mogą teraz synchronizować te dane z każdym kontaktem użytkownika, udostępniając elementy strumienia wraz ze zdjęciami.

Tabela bazy danych zawierająca strumień społecznościowy konkretnego kontaktu jest zdefiniowana przez android.provider.ContactsContract.StreamItems, a jej identyfikator URI jest zagnieżdżony w katalogu ContactsContract.RawContacts, do którego należą elementy strumienia. Każda tabela strumienia społecznościowego zawiera kilka kolumn z metadanymi o każdym elemencie strumienia, np. ikonę źródła (awatar), etykietę elementu, główny tekst treści, komentarze dotyczące elementu (np. odpowiedzi innych osób) i inne. Zdjęcia powiązane ze strumieniem są przechowywane w innej tabeli zdefiniowanej przez android.provider.ContactsContract.StreamItemPhotos, która jest dostępna jako podkatalog android.provider.ContactsContract.StreamItemsUri.

Więcej informacji znajdziesz w android.provider.ContactsContract.StreamItems i android.provider.ContactsContract.StreamItemPhotos.

Aby odczytywać lub zapisywać elementy strumienia społecznościowego dotyczące kontaktów, aplikacja musi poprosić użytkownika o pozwolenie, deklarując w plikach manifestu <uses-permission android:name="android.permission.READ_SOCIAL_STREAM"> lub <uses-permission android:name="android.permission.WRITE_SOCIAL_STREAM">.

Dostawca kalendarza

Widżety na ekranie głównym

Od Androida 4.0 widżety na ekranie głównym nie powinny już mieć własnych marginesów. Zamiast tego system automatycznie dodaje wypełnienie dla każdego widżetu na podstawie cech bieżącego ekranu. Dzięki temu widżety są wyświetlane w siatce w bardziej spójny sposób. Aby ułatwić aplikacjom obsługę widżetów na ekranie głównym, platforma udostępnia nową metodę getDefaultPaddingForWidget(). Aplikacje mogą wywoływać tę metodę, aby uzyskać wypełnienie zdefiniowane przez system i uwzględnić je podczas obliczania liczby komórek do przydzielenia widżetowi.

Sprawdzanie pisowni

  • W przypadku aplikacji, które korzystają z usług sprawdzania pisowni, nowa metoda cancel() anuluje wszystkie oczekujące i działające zadania sprawdzania pisowni w ramach sesji.
  • W przypadku usług sprawdzania pisowni nowa flaga sugestii RESULT_ATTR_HAS_RECOMMENDED_SUGGESTIONS pozwala im odróżnić sugestie o większym poziomie pewności od tych o mniejszym poziomie pewności. Na przykład sprawdzacz pisowni może ustawić flagę, jeśli słowo nie znajduje się w słowniku użytkownika, ale ma prawdopodobne sugestie, lub nie ustawić flagi, jeśli słowo nie znajduje się w słowniku i ma sugestie, które prawdopodobnie będą mniej przydatne.

    Aplikacje połączone z sprawdzaniem pisowni mogą używać flagi RESULT_ATTR_HAS_RECOMMENDED_SUGGESTIONS w połączeniu z innymi atrybutami sugestii oraz metodami getSuggestionsAttributes()getSuggestionsCount(), aby określić, czy należy oznaczyć wprowadzane słowa jako literówki i zaproponować sugestie.

  • Nowy styl FLAG_AUTO_CORRECTION dla zakresów tekstu wskazuje, że autokorekta ma zostać zastosowana do słowa lub tekstu, który użytkownik właśnie pisze lub komponuje. Ten typ sugestii jest renderowany inaczej, aby wskazać, że odbywa się automatyczna korekta.

Bluetooth

Nowe publiczne metody fetchUuidsWithSdp()getUuids() umożliwiają aplikacjom określanie funkcji (identyfikatorów UUID) obsługiwanych przez urządzenie zdalne. W przypadku fetchUuidsWithSdp() system przeprowadza wykrywanie usługi na urządzeniu zdalnym, aby uzyskać obsługiwane identyfikatory UUID, a następnie przekazuje wynik w intencji ACTION_UUID.

Zestaw narzędzi UI

Nowe metody setUserVisibleHint()getUserVisibleHint() umożliwiają fragmentowi określenie, czy jest on obecnie widoczny dla użytkownika. System opóźnia rozpoczęcie działania fragmentów, które nie są widoczne dla użytkownika, do czasu uruchomienia ładowarek dla widocznych fragmentów. Wskazówka dotycząca widoczności jest domyślnie ustawiona na „true” (prawda).

Grafika

Ułatwienia dostępu

Przekształcanie tekstu na mowę

  • Dodaje nową metodę getFeatures() do wysyłania zapytań i włączania obsługi sieci TTS.
  • Dodaje nową klasę listenera, UtteranceProgressListener, którą silniki mogą zarejestrować, aby otrzymywać powiadomienia o błędach syntezy mowy.

Baza danych

  • Nowa klasa CrossProcessCursorWrapper umożliwia dostawcom treści wydajniejsze zwracanie wyników zapytań międzyprocesowych. Nowa klasa jest przydatnym elementem konstrukcyjnym do zawijania kursorów, które będą wysyłane do procesów zdalnie. Może też przekształcać zwykłe obiekty Cursor w przezroczyste obiekty CrossProcessCursor.

    Klasa CrossProcessCursorWrapper rozwiązuje typowe problemy z wydajnością i błędy, które występują w aplikacjach podczas implementowania dostawców treści.

  • Konstruktor CursorWindow(java.lang.String) przyjmuje teraz jako dane wejściowe ciąg znaków nazwy. System nie rozróżnia już okien kursora lokalnego i zdalnego, więc funkcja CursorWindow(boolean) została wycofana.

Przeznaczenie

Dodaje nowe kategorie kierowania na popularne typy aplikacji na urządzeniu, takie jak CATEGORY_APP_BROWSER, CATEGORY_APP_CALENDAR, CATEGORY_APP_MAPS i inne.

Aparat

Uprawnienia

Oto nowe uprawnienia:

  • android.Manifest.permission#READ_SOCIAL_STREAM i android.Manifest.permission#WRITE_SOCIAL_STREAM: zezwalanie na odczytywanie i zapisywanie danych z potoków danych społecznościowych do kontaktu w udostępnionym dostawcy kontaktów.

Szczegółowe informacje o wszystkich zmianach w interfejsie API w Androidzie 4.0.3 (poziom interfejsu API 15) znajdziesz w raporcie o różnicach w interfejsie API.

Poziom interfejsu API

Interfejs API w wersji 4.0.3 Androida ma przypisany identyfikator liczbowy 15, który jest przechowywany w systemie. Ten identyfikator, zwany „poziomem interfejsu API”, umożliwia systemowi prawidłowe określenie, czy aplikacja jest zgodna z systemem, zanim zostanie zainstalowana.

Aby używać w swojej aplikacji interfejsów API wprowadzonych w Androidzie 4.0.3, musisz skompilować aplikację na platformie Androida, która obsługuje poziom interfejsu API 15 lub nowszy. W zależności od potrzeb możesz też dodać atrybut android:minSdkVersion="15" do elementu <uses-sdk>.

Więcej informacji znajdziesz w dokumentacji poziomów interfejsu API.