Interfejsy API Androida 4.0.3

Poziom API: 15

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

Platforma Android 4.0.3 jest dostępna dla programistów jako komponent pakietu Android SDK, który można pobrać. Platforma do pobrania zawiera bibliotekę Androida i obraz systemu, a także zestaw skórek emulatorów. Aby zacząć programować lub testować Androida w wersji 4.0.3, pobierz platformę do swojego pakietu SDK za pomocą Menedżera pakietów Android SDK.

Omówienie interfejsu API

Sekcje poniżej zawierają omówienie techniczne nowych interfejsów API w Androidzie 4.0.3.

Interfejs API strumieni danych społecznościowych w dostawcy kontaktów

Aplikacje korzystające z danych strumieni społecznościowych, takich jak aktualizacje statusów i meldowanie się, mogą teraz synchronizować te dane z poszczególnymi kontaktami użytkownika, udostępniając elementy w strumieniu wraz ze zdjęciami każdego z nich.

Tabela bazy danych zawierająca strumień społecznościowy pojedynczego kontaktu jest definiowana przez identyfikator android.provider.ContactsContract.StreamItems, czyli identyfikator URI, który jest zagnieżdżony w katalogu ContactsContract.RawContacts, do którego należą elementy strumienia. Każda tabela strumienia danych społecznościowych zawiera kilka kolumn z metadanymi o poszczególnych elementach strumienia, np. ikonę reprezentującą źródło (awatar), etykietę elementu, główny tekst, komentarze na jego temat (np. odpowiedzi innych osób) i inne. Zdjęcia powiązane ze strumieniem są przechowywane w innej tabeli zdefiniowanej przez plik android.provider.ContactsContract.StreamItemPhotos, który jest dostępny jako podkatalog identyfikatora URI android.provider.ContactsContract.StreamItems.

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

Aby odczytywać lub zapisywać elementy strumienia społecznościowego dla kontaktu, 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 ekran główny

Od Androida 4.0 widżety ekranu głównego nie powinny już mieć własnego dopełnienia. Zamiast tego system automatycznie dodaje dopełnienie każdego widżetu w zależności od charakterystyki bieżącego ekranu. Prowadzi to do bardziej jednolitego, spójnego przedstawiania widżetów w siatce. Aby pomóc aplikacjom hostującym widżety ekranu głównego, platforma udostępnia nową metodę getDefaultPaddingForWidget(). Aplikacje mogą wywoływać tę metodę, aby uzyskać zdefiniowane przez system dopełnienie i uwzględnić je podczas obliczania liczby komórek do przydzielonych do widżetu.

sprawdzanie pisowni;

  • W przypadku aplikacji, które mają dostęp do usług sprawdzania pisowni, nowa metoda cancel() anuluje wszystkie oczekujące i uruchomione zadania sprawdzania pisowni w danej sesji.
  • W przypadku usług sprawdzania pisowni nowa flaga sugestii (RESULT_ATTR_HAS_RECOMMENDED_SUGGESTIONS) pozwala usługom odróżniać sugestie o większym stopniu pewności od tych o niższym stopniu pewności. Na przykład moduł sprawdzania pisowni może ustawić flagę, jeśli słowo wejściowe nie znajduje się w słowniku użytkownika, ale zawiera prawdopodobne sugestie, lub nie ustawi flagi, jeśli słowo wejściowe nie znajduje się w słowniku i zawiera sugestie, które prawdopodobnie będą mniej przydatne.

    Aplikacje połączone z sprawdzaniem pisowni mogą korzystać z flagi RESULT_ATTR_HAS_RECOMMENDED_SUGGESTIONS w połączeniu z innymi atrybutami sugestii, a także z metodami getSuggestionsAttributes() i getSuggestionsCount(), aby określać, czy wpisywane słowa należy oznaczać jako literówki, oraz oferować sugestie.

  • Nowy styl FLAG_AUTO_CORRECTION dotyczący zakresów tekstu oznacza, że do słowa/tekstu, które użytkownik wpisuje, zostanie zastosowana autokorekta. Ten typ sugestii jest renderowany w inny sposób, co wskazuje, że działa autokorekta.

Bluetooth

Nowe metody publiczne fetchUuidsWithSdp() i getUuids() pozwalają aplikacjom określać funkcje (UUID) obsługiwane przez urządzenie zdalne. W przypadku fetchUuidsWithSdp() system wykrywa usługę na urządzeniu zdalnym, aby uzyskać obsługiwane identyfikatory UUID, a potem transmituje wynik w intencji ACTION_UUID.

zestaw narzędzi interfejsu

Nowe metody setUserVisibleHint() i getUserVisibleHint() umożliwiają fragmentowi wskazywanie, czy jest on w danym momencie widoczny dla użytkownika. System opóźnia początek fragmentów, które nie są widoczne dla użytkownika, dopóki nie uruchomią się moduły ładowania widocznych fragmentów. Wskazówka dotycząca widoczności ma domyślnie wartość „true” (prawda).

Grafika

Ułatwienia dostępu

  • Klienci obiektu RemoteViews mogą teraz używać metody setContentDescription() do ustawiania i pobierania opisu treści dowolnego widoku w powiększonym układzie.
  • Metody getMaxScrollX(), getMaxScrollY(), setMaxScrollX() i setMaxScrollY() umożliwiają aplikacjom pobieranie i ustawianie maksymalnego opóźnienia przewijania w przypadku obiektu AccessibilityRecord.
  • Gdy włączony jest tryb eksploracji dotykiem, nowe bezpieczne ustawienie ACCESSIBILITY_SPEAK_PASSWORDwskazuje, czy użytkownik prosi o odczytanie przez użytkownika tekstu wpisanego w polach hasła, nawet jeśli nie używasz zestawu słuchawkowego. Domyślnie tekst hasła nie jest odczytywany, chyba że używasz zestawu słuchawkowego.

Przetwarzanie tekstu na mowę

  • Dodaje nową metodę getFeatures()zapytań i włącz obsługę zamiany tekstu na mowę sieci.
  • Dodaje nową klasę detektora UtteranceProgressListener, którą wyszukiwarki mogą rejestrować, aby otrzymywać powiadomienia o błędach syntezy mowy.

Baza danych

  • Nowa klasa CrossProcessCursorWrapper umożliwia dostawcom treści sprawniejsze zwracanie wyników zapytań w różnych procesach. Nowa klasa jest przydatnym elementem składowym zawijania kursorów, które będą wysyłane zdalnie do procesów. Może też w przejrzysty sposób przekształcić zwykłe obiekty Cursor w obiekty CrossProcessCursor.

    Klasa CrossProcessCursorWrapper rozwiązuje typowe problemy z wydajnością i błędy, które napotykają aplikacje podczas implementacji dostawców treści.

  • Konstruktor CursorWindow(java.lang.String) przyjmuje teraz jako dane wejściowe ciąg tekstowy z nazwą. System nie rozróżnia już lokalnych i zdalnych okien kursora, dlatego interfejs CursorWindow(boolean) został wycofany.

Przeznaczenie

Dodaje nowe kategorie służące do kierowania na typowe rodzaje aplikacji na urządzeniu, np. 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: Zezwól adapterowi synchronizacji na odczytywanie i zapisywanie danych strumieni społecznościowych w kontaktach w udostępnianym dostawcy kontaktów.

Szczegółowe informacje o wszystkich zmianach w interfejsach API w Androidzie 4.0.3 (poziom API 15) znajdziesz w raporcie Różnice w interfejsie API.

Poziom API

Interfejs API Androida 4.0.3 ma przypisany identyfikator w liczbie całkowitej (15) przechowywany w samym systemie. Ten identyfikator, nazywany „poziomem interfejsu API”, pozwala systemowi prawidłowo określić, czy aplikacja jest z nim zgodna, zanim ją zainstalujesz.

Aby korzystać z interfejsów API wprowadzonych w Androidzie 4.0.3, musisz skompilować aplikację na platformę Androida, która obsługuje interfejs API na poziomie 15 lub wyższym. W zależności od potrzeb może być też konieczne dodanie atrybutu android:minSdkVersion="15" do elementu <uses-sdk>.

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