Data: luty 2009 r.
Poziom interfejsu API: 2
Ten dokument zawiera informacje o wersji obrazu systemu Android 1.1 zawartego w pakiecie SDK.
- Omówienie
- Biblioteki zewnętrzne
- Zgodność urządzeń
- Aplikacje wbudowane
- Tłumaczenia UI
- Rozwiązane problemy
- Nowe funkcje
- Zmiany w interfejsie API
Przegląd
Obraz systemu Android 1.1 dostarczony w pakiecie SDK jest rozwinięciem programu produkcyjnego obrazu systemu Android 1.1, który od lutego 2009 r. można wdrożyć w telefonach z Androidem.
Obraz systemu Android 1.1 zawiera zaktualizowaną wersję interfejsu API platformy. Tak jak w przypadku interfejsu API Androida 1.0, interfejsowi API Androida 1.1 jest przypisany identyfikator całkowita (2), który jest przechowywany w samym systemie. Ten identyfikator, nazywany „poziomem interfejsu API”, pozwala systemowi przed jej zainstalowaniem prawidłowo określić, czy aplikacja jest z nim zgodna.
Aplikacje wskazują najniższy poziom interfejsu API systemu, z którym są zgodne, dodając wartość do atrybutu android:minSdkVersion
.
Wartość tego atrybutu jest liczbą całkowitą odpowiadającą identyfikatorowi poziomu interfejsu API. Przed zainstalowaniem aplikacji system sprawdza wartość android:minSdkVersion
i umożliwia instalację tylko wtedy, gdy wymieniona liczba całkowita jest mniejsza od liczby całkowitej poziomu interfejsu API zapisanej w systemie lub jej równa.
Jeśli używasz obrazu systemu Android 1.1 do tworzenia aplikacji zgodnej z urządzeniami z Androidem i z platformą Android 1.1, musisz ustawić w atrybucie android:minSdkVersion
wartość „2”, by określić, że aplikacja jest zgodna tylko z urządzeniami z obrazem systemu Android 1.1 (lub nowszym).
W szczególności musisz podać atrybut android:minSdkVersion
w elemencie <uses-sdk>
jako element podrzędny elementu <manifest>
w pliku manifestu. Po ustawieniu atrybut wygląda tak:
<manifest>
...
<uses-sdk android:minSdkVersion="2" />
...
</manifest>
Dzięki temu ustawieniu android:minSdkVersion
będziesz mieć pewność, że użytkownicy będą mogli zainstalować Twoją aplikację tylko na urządzeniach z systemem Android 1.1. To z kolei gwarantuje, że aplikacja będzie działać prawidłowo na urządzeniach, zwłaszcza jeśli korzysta z interfejsów API wprowadzonych w Androidzie 1.1.
Jeśli Twoja aplikacja korzysta z interfejsów API wprowadzonych w Androidzie 1.1, ale nie deklaruje <uses-sdk android:minSdkVersion="2" />
, będzie działać prawidłowo na urządzeniach z Androidem 1.1, ale nie na urządzeniach z Androidem 1.0. W drugim przypadku aplikacja ulega awarii w czasie działania, gdy spróbuje użyć interfejsów API Androida 1.1.
Jeśli Twoja aplikacja nie korzysta z żadnych nowych interfejsów API wprowadzonych w Androidzie 1.1, możesz wskazać zgodność z tym systemem, usuwając atrybut android:minSdkVersion
lub ustawiając atrybut na „1”. Przed opublikowaniem aplikacji musisz jednak skompilować ją do obrazu systemu Android 1.0 (dostępnego w pakiecie SDK do Androida 1.0), by mieć pewność, że będzie dobrze działać na urządzeniach z Androidem 1.0. Należy przetestować aplikację pod kątem obrazów systemu odpowiadających poziomom interfejsów API, z którymi aplikacja ma być zgodna.
Jeśli masz pewność, że Twoja aplikacja nie korzysta z interfejsów API Androida 1.1 i nie musi ich używać, być może łatwiej będzie Ci dalej pracować z pakietem SDK Androida 1.0, zamiast przeprowadzać migrację do Android 1.1 SDK i wykonywać dodatkowe testy.
Biblioteki zewnętrzne
Obraz systemu zawiera te biblioteki zewnętrzne, do których możesz uzyskać dostęp z poziomu aplikacji, dodając tag <uses-library>.
- com.google.android.maps umożliwia aplikacji dostęp do danych Map Google. Pamiętaj, że do korzystania z danych Map Google wymagany jest klucz interfejsu API Map Google.
Zgodność urządzeń
Obraz systemu Android 1.1 został przetestowany pod kątem zgodności z wymienionymi poniżej urządzeniami z Androidem:
- T-Mobile G1
Wbudowane aplikacje
Obraz systemu zawiera te wbudowane aplikacje:
- Budzik
- Prezentacje interfejsów API
- Przeglądarka
- Kalkulator
- Aparat
- Kontakty
- Narzędzia dla programistów
- Dialer
- Mapy (i Street View)
- Wiadomości
- Muzyka
- Zdjęcia
- Ustawienia
Lokalizacja UI
Obraz systemu zawiera zlokalizowane w interfejsie ciągi znaków dla języków wymienionych poniżej.
- angielski, Stany Zjednoczone (en_US)
- German (de)
Zlokalizowane ciągi interfejsu odpowiadają lokalizacjom, które wyświetlają się w emulatorze i są dostępne w aplikacji Ustawienia na urządzeniu.
Rozwiązane problemy
- Alert budzika odtwarza dźwięk i obrazy bezpośrednio, a nie przez usługę AlarmManager. Alert AlarmClock rozpoczyna odtwarzanie dźwięku/obrazu w odbiorniku intencji, a nie w momencie rozpoczęcia aktywności. Te zmiany powinny zapobiegać blokowaniu alarmów przez okna modalne.
- Poprawki związane z uśpieniem urządzenia.
- Jedno kliknięcie nie otwiera już klawiatury podczas połączenia. Użytkownicy muszą ją teraz kliknąć i przeciągnąć.
- Usunięto błąd, który powodował blokowanie połączenia IMAP (z serwerem Gmaila) do około 1 na 25 wiadomości wychodzących do folderu Wysłane.
- Usuwa wpisy automatycznej konfiguracji konta, które są uszkodzone lub nie nadaje się do sprawdzenia. W pozostałych wpisach wprowadza niewielkie poprawki. Poprawiono okna z ostrzeżeniami używane w kilku szczególnych przypadkach.
- Zmienia domyślny interwał sprawdzania poczty na co 15 minut (zamiast domyślnego ustawienia „nigdy”).
- Poprawia błędy związane z cytowaniem haseł w protokole IMAP, aby użytkownicy mogli umieszczać w hasłach znaki specjalne (np. spacje).
- Poprawia różne błędy automatycznej i ręcznej konfiguracji konta.
- Ulepsza raportowanie różnych błędów połączenia, ułatwiając użytkownikowi diagnozowanie nieudanych konfiguracji kont.
- Rozwiązano problem z powiadomieniami o nowej poczcie na kontach POP3.
- Zapewnia prawidłową, automatyczną kontrolę kont oznaczonych jako „Nigdy nie sprawdzaj”.
- Teraz wyświetla datę i godzinę zgodnie z ustawieniami użytkownika (np.24 godz. vs. AM/PM).
- Teraz w widoku wiadomości widać DW:
- Poprawia odzyskiwanie po niepowodzeniu połączenia POP3.
- Reguły parsera POP3 zostały rozluźnione, aby aplikacja mogła działać z niezgodnymi serwerami poczty e-mail.
Nowe funkcje
- Mapy: dodaje szczegóły i opinie, gdy użytkownik przeprowadza wyszukiwanie w Mapach Google i klika na firmę, aby wyświetlić dotyczące jej szczegóły.
- Telefon: domyślny limit czasu wygaszania ekranu połączenia przychodzącego w przypadku korzystania z głośnika jest teraz dłuższy.
- Telefon: dodaje opcję „Pokaż klawiaturę” i „Ukryj klawiaturę” do menu połączenia, by ułatwić znalezienie klawiatury DTMF.
- Dodano obsługę zapisywania załączników z wiadomości MMS
- Dodano obsługę markiz w układach.
Zmiany interfejsu API
Przegląd
- Dodaje adnotacje na potrzeby systemów testowych, bez rzeczywistych (nietestowych) zmian w interfejsie API.
- Dodaje metodę, która umożliwia procesowi łatwego określenia jego identyfikatora UID.
- Dodano obsługę markiz w układach.
- Dodaje nowe metody określania dopełnienia w widokach. Ta opcja jest przydatna, gdy tworzysz własne podklasy
View
. - Dodaje nowe uprawnienia, które pozwalają aplikacji na nadawanie SMS-ów lub wiadomości WAP Push.
- Czyszczenie interfejsu API: usuwa chroniony konstruktor z obrazów systemu powiązanych z pakietem SDK.
Szczegóły zmiany interfejsu API
Moduł lub funkcja | Opis zmiany |
---|---|
Adnotacje na potrzeby systemów testowych | |
Dodano adnotację LargeTest . | |
Dodano adnotację MediumTest . | |
Dodano adnotację SmallTest . | |
Zezwól procesowi na łatwą identyfikację jego identyfikatora UID. | |
Dodano metodę publiczną myUid() do klasy android.os.Process | |
Dopełnienie w widokach | |
Dodano metodę publiczną getBottomPaddingOffset() do klasy android.view.View . | |
Dodano metodę publiczną getLeftPaddingOffset() do klasy android.view.View . | |
Dodano metodę publiczną getRightPaddingOffset() do klasy android.view.View . | |
Dodano metodę publiczną getTopPaddingOffset() do klasy android.view.View . | |
Dodano metodę publiczną isPaddingOffsetRequired() do klasy android.view.View . | |
Obsługa transparentu | |
Dodano metodę publiczną setMarqueeRepeatLimit(int) do klasy TextView | |
Dodano pole publiczne android.R.attr.marqueeRepeatLimit | |
Nowe uprawnienia | |
Dodano pole publiczne android.Manifest.permission.BROADCAST_SMS | |
Dodano pole publiczne android.Manifest.permission.BROADCAST_WAP_PUSH | |
Czyszczenie interfejsu API | |
Usunięto chroniony konstruktor java.net.ServerSocket.ServerSocket(java.net.SocketImpl). |