Platforma Android 2.3 oferuje użytkownikom i programistom wiele nowych, ciekawych funkcji. W tym dokumencie opisujemy niektóre nowe funkcje i technologie dostępne w Androidzie 2.3. Szczegółowe informacje o nowych interfejsach API dla programistów znajdziesz w informacjach o wersji Androida 2.3.
Nowe funkcje dla użytkowników
![](https://developer.android.google.cn/static/sdk/images/2.3/home-menu.png?authuser=19&hl=pl)
![](https://developer.android.google.cn/static/sdk/images/2.3/home-plain.png?authuser=19&hl=pl)
Prostsze i szybsze działanie, udoskonalenie interfejsu
Interfejs został udoskonalony na wiele sposobów w całym systemie, dzięki czemu łatwiej się go uczy, jest szybszy w obsłudze i bardziej energooszczędny. Uproszczony motyw graficzny, którym kolory na tle czerni zyskują żywność i kontrast, a pasek powiadomień, menu i inne części interfejsu użytkownika są żywe. Zmiany w menu i ustawieniach ułatwiają użytkownikom poruszanie się po funkcjach systemu i urządzenia oraz zarządzanie nimi.
Szybsze i bardziej intuicyjne wprowadzanie tekstu
Klawiatura programowa Androida została zmieniona i zoptymalizowana pod kątem szybszego wprowadzania i edytowania tekstu. Same klawisze są przenoszone i zmieniane, aby ułatwić kierowanie. Dzięki temu łatwiej je dostrzec i dokładniej naciskać, nawet przy dużej prędkości. Bieżące znaki i sugestie ze słownika są wyświetlane również na klawiaturze w większym i bardziej kolorowym stylu, który jest czytelniejszy.
Klawiatura dodaje możliwość poprawiania wprowadzonych słów z sugestii w słowniku. Gdy użytkownik wybierze już wpisane słowo, na klawiaturze wyświetlą się sugestie, które mogą zastąpić wybrane słowa. Użytkownik może też przełączyć się na tryb wprowadzania głosowego, aby zmienić wybór. Dzięki inteligentnym sugestiom użytkownik może zaakceptować sugestię i w razie potrzeby poprawić ją na podstawie pierwotnego zestawu sugestii.
Nowy układ wielodotykowy klawiszy umożliwia użytkownikowi szybkie wpisywanie cyfr i symboli przez naciśnięcie Shift+<litera> oraz ?123+<symbol> bez konieczności ręcznego przełączania trybów wprowadzania. W przypadku niektórych klawiszy użytkownicy mogą też wyświetlić wyskakujące menu ze znakami diakrytycznymi, cyframi i symbolami, przytrzymując klawisz i przesuwając palcem, aby wybrać znak.
![](https://developer.android.google.cn/static/sdk/images/2.3/onetouch.png?authuser=19&hl=pl)
![](https://developer.android.google.cn/static/sdk/images/2.3/selection.png?authuser=19&hl=pl)
Zaznaczanie słów oraz kopiowanie i wklejanie jednym kliknięciem
Podczas wpisywania tekstu lub wyświetlania strony internetowej użytkownik może szybko zaznaczyć słowo, przytrzymując je, a następnie skopiować do schowka i wkleić. Naciśnięcie słowa uruchamia tryb swobodnego wyboru. Użytkownik może odpowiednio dostosować obszar zaznaczenia, przeciągając zestaw strzałek ograniczających na nowe pozycje, a następnie skopiować ograniczony obszar, naciskając dowolne miejsce w obszarze zaznaczenia. W przypadku wpisywania tekstu użytkownik może po prostu nacisnąć, aby włączyć tryb kursora, a następnie łatwo i dokładnie zmienić jego położenie, przeciągając strzałkę kursora. Przy trybach wyboru i kursora nie trzeba używać kulki.
![](https://developer.android.google.cn/static/sdk/images/2.3/running.png?authuser=19&hl=pl)
![](https://developer.android.google.cn/static/sdk/images/2.3/power.png?authuser=19&hl=pl)
Ulepszone zarządzanie energią
System Android odgrywa bardziej aktywną rolę w zarządzaniu aplikacjami, które zbyt długo nie wyłączają urządzenia lub zużywają procesor, gdy działają w tle. Zarządzając takimi aplikacjami i w razie potrzeby je zamykając, system pomaga zapewnić najlepszą możliwą wydajność i maksymalny czas pracy na baterii.
System daje też użytkownikowi lepszy wgląd w energię zużywaną przez komponenty systemu i uruchomione aplikacje. Ustawienia aplikacji zawierają dokładny wgląd w sposób wykorzystania baterii, a także szczegóły na temat jej zużycia oraz względnego zużycia energii przez poszczególne komponenty lub aplikacje.
Kontrola nad aplikacjami
Skrót do funkcji Zarządzaj aplikacjami pojawia się teraz w menu Opcje na ekranie głównym i w programie uruchamiającym, co znacznie ułatwia sprawdzanie aktywności aplikacji i zarządzanie nią. Gdy użytkownik przejdzie do Zarządzania aplikacjami, na nowej karcie Uruchomione zobaczysz listę aktywnych aplikacji oraz miejsca na dane i pamięci wykorzystywanej przez każdą z nich. Użytkownik może zapoznać się z dodatkowymi informacjami o każdej aplikacji, a w razie potrzeby zatrzymać aplikację lub zgłosić opinię jej deweloperowi.
Nowe sposoby komunikowania się i porządkowania treści
Zaktualizowany zestaw standardowych aplikacji pozwala użytkownikowi na nowe podejście do zarządzania informacjami i relacjami.
![](https://developer.android.google.cn/static/sdk/images/2.3/sipcall.png?authuser=19&hl=pl)
![](https://developer.android.google.cn/static/sdk/images/2.3/ffc.png?authuser=19&hl=pl)
Połączenia przez internet
Użytkownik może nawiązywać połączenia głosowe przez internet z innymi użytkownikami, którzy mają konta SIP. Użytkownik może dodać numer do połączeń przez internet (adres SIP) do dowolnego kontaktu i zainicjować połączenie z poziomu funkcji Szybki kontakt lub Telefon. Aby korzystać z połączeń przez internet, użytkownik musi utworzyć konto u wybranego dostawcy SIP – konta SIP nie są oferowane w ramach funkcji połączeń przez internet. Dodatkowo obsługa funkcji SIP i połączeń przez internet na danej platformie jest określana przez ich producentów i powiązanych operatorów.
![](https://developer.android.google.cn/static/sdk/images/2.3/nfc.png?authuser=19&hl=pl)
Komunikacja Near Field Communication
Aplikacja Czytnik NFC umożliwia użytkownikowi odczytywanie tagów komunikacji Near Field Communication (NFC) i wchodzenie z nimi w interakcję. Użytkownik może np. „kliknąć” lub „przesunąć” tag NFC, który można umieścić w plakatie, naklejce lub reklamie, a następnie wykonać działanie na danych odczytanych z tagu. Typowym zastosowaniem jest odczytanie tagu w restauracji, sklepie lub wydarzeniu, a następnie ocena lub rejestracja, przechodząc do witryny, której adres URL jest uwzględniony w danych tagu. Komunikacja NFC opiera się na technologii bezprzewodowej w sprzęcie urządzenia, a obsługa funkcji NFC platformy na poszczególnych urządzeniach jest uzależniona od producenta.
Zarządzanie pobranymi plikami
Aplikacja Pobrane pliki zapewnia łatwy dostęp do plików pobranych z przeglądarki, poczty e-mail lub innej aplikacji. Funkcja pobierania jest oparta na całkowicie nowym menedżerze pobierania dostępnym w systemie, którego mogą używać wszystkie inne aplikacje, aby ułatwić zarządzanie pobranymi plikami i ich przechowywanie.
Aparat
Aplikacja pozwala teraz użytkownikowi korzystać z kilku aparatów urządzenia, w tym przedniego, jeśli jest dostępny.
Nowe funkcje dla programistów
Android 2.3 oferuje wiele funkcji i interfejsów API, które pozwalają programistom wprowadzać na platformę Androida nowe typy aplikacji.
Ulepszenia w grach
Wydajność
Android 2.3 zawiera wiele ulepszeń, które sprawiają, że typowe operacje we wszystkich aplikacjach są szybsze i wydajniejsze. Szczególnie interesują deweloperów gier:
- Równoczesny zbierający śmieci – maszyna wirtualna Dalvik wprowadza nowy, równoczesny moduł do pobierania odpadów, który minimalizuje przerwy w działaniu aplikacji, pomagając uzyskać płynniejszą animację i zwiększyć czas reakcji w grach i podobnych aplikacjach.
- Szybsza dystrybucja zdarzeń – platforma może teraz szybciej i skuteczniej obsługiwać zdarzenia dotknięcia i klawiatury, co minimalizuje wykorzystanie procesora podczas dystrybucji zdarzeń. Zmiany poprawiają czas reagowania wszystkich aplikacji, ale szczególnie są przydatne w przypadku gier, które wykorzystują zdarzenia dotykowe w połączeniu z grafiką 3D lub innymi operacjami obciążającymi procesor.
- Zaktualizowane sterowniki wideo – platforma korzysta ze zaktualizowanych sterowników wideo innych firm, które zwiększają wydajność operacji OpenGL ES, aby zwiększyć ogólną wydajność grafiki 3D.
Natywne zdarzenia wejściowe i zdarzenia z czujników
Aplikacje, które używają kodu natywnego, mogą teraz odbierać i przetwarzać zdarzenia wejściowe i zdarzenia z czujników bezpośrednio w swoim kodzie natywnym, co znacznie zwiększa wydajność i czas reakcji.
Biblioteki natywne udostępniane przez platformę umożliwiają aplikacjom obsługę tych samych typów zdarzeń wejściowych, które są dostępne w ramach platformy. Aplikacje mogą odbierać zdarzenia ze wszystkich obsługiwanych typów czujników oraz włączać i wyłączać określone czujniki oraz zarządzać częstotliwością dostarczania zdarzeń i ich kolejki.
Żyroskop i inne nowe czujniki do ulepszonego przetwarzania ruchu 3D
Android 2.3 dodaje obsługę interfejsu API w przypadku kilku nowych typów czujników, takich jak żyroskop, wektor wektorowy, przyspieszenie liniowe, grawitacja i czujniki barometru. Aplikacje mogą wykorzystywać nowe czujniki w połączeniu z innymi czujnikami dostępnymi w urządzeniu, aby z dużą precyzją i dokładności śledzić trójwymiarowe zmiany ruchu i orientacji urządzenia. Na przykład aplikacja do gier może wykorzystywać odczyty z żyroskopu i akcelerometru na urządzeniu do rozpoznawania złożonych gestów i ruchów, takich jak pochylanie się, obracanie, unoszenie i wycinanie.
Open API do natywnych reklam audio
Platforma udostępnia programową implementację Khronos OpenSL ES, standardowego interfejsu API, który daje aplikacjom dostęp do zaawansowanych elementów sterujących dźwiękiem i efektów z poziomu kodu natywnego. Aplikacje mogą używać tego interfejsu do zarządzania urządzeniami audio oraz sterowania wejściem, wyjściem i przetwarzaniem dźwięku bezpośrednio z kodu natywnego.
Natywne zarządzanie grafiką
Platforma udostępnia interfejs biblioteki Khronos EGL, który umożliwia aplikacjom zarządzanie kontekstami grafiki oraz tworzenie tekstur i płaszczyzn OpenGL ES oraz zarządzanie nimi na podstawie kodu natywnego.
Dostęp natywny do cyklu życia aktywności, zarządzania oknami
Aplikacje natywne mogą zadeklarować nowy typ klasy aktywności NativeActivity
, której wywołania zwrotne cyklu życia są zaimplementowane bezpośrednio w kodzie natywnym. NativeActivity
i jego bazowy kod natywny uruchamiają się w systemie tak samo jak inne działania – działają w procesie systemowym aplikacji i wykonują je w głównym wątku UI aplikacji oraz otrzymują te same wywołania zwrotne cyklu życia co inne działania.
Platforma udostępnia również natywne interfejsy API do zarządzania oknami, w tym możliwość blokowania i odblokowywania bufora piksela w celu bezpośredniego rysowania. Za pomocą tego interfejsu aplikacje mogą uzyskiwać natywny obiekt window powiązany z obiektem platformy Surface i wchodzić z nim w interakcje bezpośrednio w kodzie natywnym.
Natywny dostęp do zasobów, miejsca na dane
Aplikacje mają teraz dostęp do natywnego interfejsu Asset Manager API, który umożliwia pobieranie zasobów aplikacji bezpośrednio z kodu natywnego, bez konieczności używania JNI.
Jeśli zasoby są skompresowane, platforma przeprowadza dekompresję strumieniową, gdy aplikacja odczytuje dane zasobu. Nie ma już limitu rozmiaru skompresowanych zasobów .apk
, które można odczytać.
Dodatkowo aplikacje mają dostęp do natywnego interfejsu Storage Manager API, aby bezpośrednio pracować z plikami OBB pobranymi i zarządzanymi przez system. Pamiętaj, że chociaż obsługa OBB przez platformę jest dostępna w Androidzie 2.3, narzędzia programistyczne do tworzenia plików OBB i zarządzania nimi będą dostępne dopiero na początku 2011 roku.
Rozbudowane natywne środowisko programistyczne
Android NDK (r5 lub nowszy) to kompletny zestaw narzędzi, łańcuchów narzędzi i bibliotek do tworzenia aplikacji wykorzystujących zaawansowane środowisko natywne oferowane przez platformę Androida 2.3. Więcej informacji oraz pakiet NDK można pobrać na stronie Androida NDK.
Nowe formy komunikacji
Telefonia internetowa
Deweloperzy mogą teraz dodawać do swoich aplikacji funkcje telefonii internetowej opartej na SIP. Android 2.3 obejmuje pełny stos protokołów SIP i zintegrowane usługi zarządzania połączeniami, które pozwalają aplikacjom łatwo konfigurować wychodzące i przychodzące połączenia głosowe bez konieczności bezpośredniego zarządzania sesjami, komunikacji na poziomie transportu czy nagrywania i odtwarzania dźwięku.
Obsługa funkcji SIP i połączeń przez internet na danej platformie zależy od producentów i powiązanych operatorów.
Komunikacja Near Field Communication (NFC)
Obsługa komunikacji Near Field Communication (NFC) przez platformę pozwala programistom rozpocząć tworzenie zupełnie nowej klasy aplikacji na Androida. Deweloperzy mogą tworzyć nowe aplikacje z informacjami i usługami opartymi na odległości dla użytkowników, organizacji, sprzedawców i reklamodawców.
Dzięki interfejsowi NFC aplikacje mogą odczytywać tagi NFC „wykryte” i reagować na nie, gdy użytkownik „dotyka” urządzenia z NFC elementem w naklejkach, inteligentnych plakatach, a nawet innych urządzeniach. Po zebraniu tagu interesującego aplikacje aplikacje mogą na niego odpowiedzieć, odczytać zawarte w nim wiadomości, a następnie zapisać te wiadomości, w razie potrzeby prosząc użytkownika o zgodę.
Począwszy od Androida 2.3.3 aplikacje mogą również zapisywać dane w tagach i konfigurować połączenia peer-to-peer z innymi urządzeniami z funkcją NFC.
Komunikacja NFC opiera się na technologii bezprzewodowej w sprzęcie urządzenia, dlatego to obsługa funkcji NFC platformy na określonych urządzeniach zależy od jej producenta.
Multimedialna
Mieszalne efekty audio
Nowy interfejs API efektów audio pozwala deweloperom łatwo tworzyć bogate środowiska audio przez dodanie korektora, wzmocnienia basów, wirtualizacji słuchawek (rozszerzona scena dźwiękowa) oraz pogłosu do ścieżek audio i dźwięków. Deweloperzy mogą dodawać wiele efektów dźwiękowych do jednej ścieżki lokalnej lub stosować ją globalnie do wielu ścieżek.
Obsługa nowych formatów multimediów
Platforma oferuje teraz wbudowaną obsługę otwartego formatu kompresji wideo VP8 oraz otwartego formatu kontenera WebM. Platforma dodaje też obsługę kodowania AAC i szerokopasmowego kodowania AMR (w oprogramowaniu), dzięki czemu aplikacje mogą rejestrować dźwięk wyższej jakości niż wąskopasmowe.
Dostęp do wielu kamer
Interfejs Camera API pozwala deweloperom korzystać z aparatów dostępnych w urządzeniu, w tym przedniego aparatu. Aplikacje mogą wysyłać do platformy zapytanie o liczbę kamer na urządzeniu oraz ich typy i cechy, a następnie uruchomić wymaganą kamerę. Na przykład aplikacja do obsługi czatu wideo może chcieć uzyskać dostęp do przedniego aparatu o niższej rozdzielczości, a aplikacja do obsługi zdjęć – do aparatu z tyłu, który oferuje wysoką rozdzielczość.
Nowe technologie platform
schemat mediów
- Nowa platforma multimediów w pełni zastępuje OpenCore, zachowując wcześniejszą obsługę kodeka i kontenera w zakresie kodowania i dekodowania.
- Zintegrowana obsługa otwartych formatów kompresji wideo VP8 i otwartego kontenera WebM
- Dodaje kodowanie AAC i kodowanie szerokopasmowe AMR
Jądro Linuksa
- Uaktualniono do wersji 2.6.35
Sieć
- Stos SIP, konfigurowany przez producenta urządzenia
- Obsługa komunikacji Near Field Communication (NFC) przez producenta urządzenia
- Zaktualizowano stos BlueZ
Czas działania Dalvik
- Maszyna wirtualna Dalvik:
- Równoczesny moduł odśmiecania (docelowy czas wstrzymania działania poniżej 3 ms)
- Dodaje dalsze optymalizacje JIT (generowania kodu)
- Ulepszona weryfikacja za pomocą kodu
- Debugowanie StrictMode służące do identyfikowania problemów z wydajnością i pamięcią
- Biblioteki podstawowe:
- Rozszerzona obsługa I18N (pełne kodowanie na całym świecie, więcej ustawień regionalnych)
- Szybsze formatowanie i formatowanie liczb. Na przykład formatowanie liczb zmiennoprzecinkowych jest 2, 5 raza szybsze.
- Odpowiedzi HTTP są domyślnie spakowane do formatu gzip. Rozmiary odpowiedzi interfejsu API w formacie XML i JSON mogą zostać zmniejszone o co najmniej 60%.
- Nowe interfejsy API kolekcji i narzędzi
- Ulepszone interfejsy API sieci
- Ulepszone elementy sterujące odczytem i zapisem plików
- Zaktualizowano JDBC
- Aktualizacje z projektów nadrzędnych:
- OpenSSL 1.0.0a
- BouncyCastle 1.45
- ICU 4.4
- zlib 1.2.5
Więcej informacji o nowych interfejsach API dla programistów znajdziesz w informacjach o wersji Androida 2.3 i w raporcie na temat różnic w interfejsach API.