Udostępnij za pośrednictwem


Funkcje oreo

Jak rozpocząć korzystanie z platformy Xamarin.Android do tworzenia aplikacji dla najnowszej wersji systemu Android.

Android 8.0 Oreo to najnowsza wersja systemu Android dostępna w google. System Android Oreo oferuje wiele nowych funkcji interesujących deweloperów platformy Xamarin.Android. Te funkcje obejmują kanały powiadomień, znaczki powiadomień, niestandardowe czcionki w formacie XML, czcionki do pobrania, autowypełnianie i obraz na obrazie (PIP). System Android Oreo zawiera nowe interfejsy API dla tych nowych funkcji, a te interfejsy API są dostępne dla aplikacji platformy Xamarin.Android w przypadku korzystania z platformy Xamarin.Android 8.0 lub nowszej.

Obraz bohatera Oreo dla systemu Android

Ten artykuł ma strukturę ułatwiając rozpoczęcie tworzenia aplikacji platformy Xamarin.Android dla systemu Android 8.0 Oreo. Wyjaśniono w nim, jak zainstalować niezbędne aktualizacje, skonfigurować zestaw SDK i utworzyć emulator (lub urządzenie) na potrzeby testowania. Zawiera również zarys nowych funkcji w systemie Android 8.0 Oreo z linkami do przykładowych aplikacji ilustrujących sposób korzystania z funkcji Systemu Android Oreo w aplikacjach platformy Xamarin.Android.

Wymagania

Do korzystania z funkcji systemu Android Oreo w aplikacjach opartych na platformie Xamarin wymagane są następujące elementy:

  • Visual Studio — jeśli używasz systemu Windows, wymagana jest wersja 15.5 lub nowsza programu Visual Studio. Jeśli używasz komputera Mac, wymagana jest Visual Studio dla komputerów Mac wersja 7.2.0.

  • Xamarin.Android — program Xamarin.Android 8.0 lub nowszy musi być zainstalowany i skonfigurowany w programie Visual Studio.

  • Zestaw Android SDK — zestaw Android SDK 8.0 (interfejs API 26) lub nowszy musi być zainstalowany za pośrednictwem Menedżera zestawu Android SDK.

Wprowadzenie

Aby rozpocząć korzystanie z systemu Android Oreo z platformą Xamarin.Android, musisz pobrać i zainstalować najnowsze narzędzia i pakiety zestawu SDK przed utworzeniem projektu Systemu Android Oreo:

  1. Przeprowadź aktualizację do najnowszej wersji programu Visual Studio.

  2. Zainstaluj pakiety i narzędzia dla systemu Android 8.0.0 (INTERFEJS API 26) lub nowsze za pośrednictwem Menedżera zestawu SDK.

  3. Utwórz nowy projekt platformy Xamarin.Android przeznaczony dla systemu Android Oreo (interfejs API 26).

  4. Skonfiguruj emulator lub urządzenie do testowania aplikacji Systemu Android Oreo.

Każdy z tych kroków wyjaśniono w następujących sekcjach:

Aktualizowanie programów Visual Studio i Xamarin.Android

Aby dodać obsługę systemu Android Oreo do programu Visual Studio, wykonaj następujące czynności:

  • W przypadku programu Visual Studio 2019 użyj Menedżera zestawu SDK, aby zainstalować interfejs API na poziomie 26.0 lub nowszym.

  • Jeśli używasz programu Visual Studio 2017:

    1. Aktualizacja do programu Visual Studio 2017 w wersji 15.7 lub nowszej (zobacz Aktualizacja programu Visual Studio 2017).

    2. Użyj Menedżera zestawów SDK, aby zainstalować interfejs API na poziomie 26.0 lub nowszym.

Aby uzyskać więcej informacji na temat obsługi platformy Xamarin dla systemu Android Oreo, zobacz informacje o wersji platformy Xamarin.Android 8.0.

Instalowanie zestawu Android SDK

Aby utworzyć projekt przy użyciu platformy Xamarin.Android 8.0, należy najpierw użyć menedżera zestawu SDK platformy Xamarin dla systemu Android 8.0 — Oreo lub nowszego. Należy również zainstalować narzędzia Android SDK Tools 26.0 lub nowsze.

  1. Uruchom Menedżera zestawu SDK (w programie Visual Studio kliknij pozycję Narzędzia >> Android SDK Manager).

  2. Zainstaluj pakiety Android 8.0 — Oreo. Jeśli używasz emulatora zestawu Android SDK, pamiętaj o dołączeniu obrazów systemowych x86 , które będą potrzebne:

    Wybieranie pakietów systemu Android 8.0 w menedżerze zestawu Android SDK

  3. Zainstaluj narzędzia Android SDK Tools 26.0.2 lub nowsze, zestaw Android SDK Platform-Tools 26.0.0 lub nowszy oraz zestaw Sdk dla systemu Android Build-Tools 26.0.0 (lub nowszy):

    Wybieranie narzędzi Android SDK Tools 26 w menedżerze zestawu Android SDK

Uruchamianie projektu platformy Xamarin.Android

Utwórz nowy projekt platformy Xamarin.Android. Jeśli dopiero zaczynasz programować aplikacje dla systemu Android za pomocą platformy Xamarin, zobacz Hello, Android , aby dowiedzieć się więcej o tworzeniu projektów platformy Xamarin.Android.

Podczas tworzenia projektu systemu Android należy skonfigurować ustawienia wersji, aby dotyczyły systemu Android 8.0 lub nowszego. Na przykład w celu kierowania projektu dla systemu Android 8.0 należy skonfigurować docelowy poziom interfejsu API systemu Android dla projektu na android 8.0 (interfejs API 26). Zaleca się również ustawienie docelowego poziomu platformy na interfejs API 26 lub nowszy. Aby uzyskać więcej informacji na temat konfigurowania poziomów interfejsu API systemu Android, zobacz Opis poziomów interfejsu API systemu Android.

Konfigurowanie emulatora lub urządzenia

Jeśli spróbujesz uruchomić domyślnego menedżera AVD firmy Google opartego na graficznym interfejsie użytkownika po zainstalowaniu narzędzia Android SDK Tools 26.0 lub nowszego, może zostać wyświetlone następujące okno dialogowe błędu, które instruuje, aby zamiast tego użyć narzędzia avdmanager menedżera AVD wiersza polecenia:

Ten komunikat jest wyświetlany, ponieważ firma Google nie udostępnia już autonomicznego menedżera identyfikatora GUI AVD obsługującego interfejs API 26.0 lub nowszy. W przypadku systemu Android 8.0 Oreo należy użyć menedżera emulatora systemu Android platformy Xamarin lub narzędzia wiersza polecenia avdmanager , aby utworzyć urządzenia wirtualne dla systemu Android Oreo.

Aby użyć Menedżer urządzeń systemu Android do tworzenia urządzeń wirtualnych i zarządzania nimi, zobacz Zarządzanie urządzeniami wirtualnymi przy użyciu Menedżer urządzeń systemu Android. Aby utworzyć urządzenia wirtualne bez Menedżer urządzeń systemu Android, wykonaj kroki opisane w następnej sekcji.

Tworzenie urządzeń wirtualnych przy użyciu narzędzia avdmanager

Aby utworzyć nowe urządzenie wirtualne przy użyciu narzędzia avdmanager , wykonaj następujące kroki:

  1. Otwórz okno wiersza polecenia i ustaw JAVA_HOME lokalizację zestawu JAVA SDK na komputerze. W przypadku typowej instalacji platformy Xamarin można użyć następującego polecenia:

    setx JAVA_HOME "C:\Program Files\Java\jdk1.8.0_131"
    
  2. Dodaj lokalizację folderu zestawu SDK bin systemu Android do pliku PATH. W przypadku typowej instalacji platformy Xamarin można użyć następującego polecenia:

    setx PATH "%PATH%;C:\Program Files (x86)\Android\android-sdk\tools\bin"
    
  3. Zamknij okno wiersza polecenia i otwórz nowe okno wiersza polecenia. Utwórz nowe urządzenie wirtualne przy użyciu polecenia avdmanager . Aby na przykład utworzyć avD o nazwie AVD-Oreo-8.0 przy użyciu obrazu systemu x86 dla poziomu 26 interfejsu API, użyj następującego polecenia:

    avdmanager create avd -n AVD-Oreo-8.0 -k "system-images;android-26;google_apis;x86"
    
  4. Po wyświetleniu monitu z poleceniem Czy chcesz utworzyć niestandardowy profil sprzętu [nie] możesz wprowadzić nie i zaakceptować domyślny profil sprzętu. Jeśli tak, avdmanager wyświetli monit z listą pytań dotyczących dostosowywania profilu sprzętu.

Po utworzeniu urządzenia wirtualnego przez avdmanager zostanie on dołączony do menu rozwijanego urządzenia:

Nowa usługa AVD dodana do menu rozwijanego urządzenia

Aby uzyskać więcej informacji na temat konfigurowania emulatora systemu Android na potrzeby testowania i debugowania, zobacz Debugowanie w emulatorze systemu Android.

Jeśli używasz urządzenia fizycznego, takiego jak Nexus lub Pixel, możesz zaktualizować urządzenie za pomocą automatycznych aktualizacji powietrza (OTA) lub pobrać obraz systemowy i migać urządzenie bezpośrednio. Aby uzyskać więcej informacji na temat ręcznego aktualizowania urządzenia do systemu Android Oreo, zobacz Obrazy fabryczne dla urządzeń Nexus i Pixel.

Nowe funkcje

System Android Oreo wprowadza różne nowe funkcje i możliwości, takie jak kanały powiadomień, znaczki powiadomień, niestandardowe czcionki w formacie XML, czcionki do pobrania, autowypełnianie i obraz na obrazie. W poniższych sekcjach przedstawiono te funkcje i linki ułatwiające rozpoczęcie korzystania z nich w aplikacji.

Kanały powiadomień

Kanały powiadomień to kategorie zdefiniowane przez aplikację dla powiadomień. Możesz utworzyć kanał powiadomień dla każdego typu powiadomienia, które chcesz wysłać, i możesz utworzyć kanały powiadomień, aby odzwierciedlać wybory dokonane przez użytkowników aplikacji. Nowa funkcja kanałów powiadomień umożliwia użytkownikom precyzyjną kontrolę nad różnymi rodzajami powiadomień. Jeśli na przykład implementujesz aplikację do obsługi komunikatów, możesz utworzyć oddzielne kanały powiadomień dla każdej grupy konwersacji utworzonej przez użytkownika.

Kanały powiadomień wyjaśniają, jak utworzyć kanał powiadomień i używać go do publikowania powiadomień lokalnych.

Znaczki powiadomień

Znaczki powiadomień to małe kropki, które pojawiają się na ikonach aplikacji, jak pokazano na tym zrzucie ekranu:

Przykładowe znaczki powiadomień na ikonach aplikacji

Te kropki wskazują, że istnieją nowe powiadomienia dla co najmniej jednego kanału powiadomień w aplikacji skojarzonej z tą ikoną aplikacji — są to powiadomienia, na które użytkownik jeszcze nie odrzucił ani nie działał. Użytkownicy mogą długo naciskać ikonę, aby przeglądać powiadomienia skojarzone z znaczkiem powiadomienia, odrzucając lub działając na powiadomieniach z menu długiego naciśnięcia, które appeaars.

Aby uzyskać więcej informacji na temat znaczków powiadomień, zobacz temat Znaczki dla deweloperów systemu Android.

Czcionki niestandardowe w formacie XML

System Android Oreo wprowadza czcionki w formacie XML, co umożliwia dołączanie czcionek niestandardowych jako zasobów. Obsługiwane są formaty czcionek OpenType (.otf) i TrueType (.ttf). Aby dodać czcionki jako zasoby, wykonaj następujące czynności:

  1. Utwórz folder Resources/font.

  2. Skopiuj pliki czcionek (na przykład pliki .ttf i .otf ) do pozycji Zasoby/czcionka.

  3. W razie potrzeby zmień nazwę każdego pliku czcionki, tak aby był zgodny z konwencjami nazewnictwa plików systemu Android (tj. używaj tylko małych liter a-z, 0–9 i podkreśleń w nazwach plików). Na przykład można zmienić nazwę pliku Pacifico-Regular.ttf czcionki na podobną pacifico.ttfdo .

  4. Zastosuj czcionkę niestandardową przy użyciu nowego android:fontFamily atrybutu w pliku XML układu. Na przykład następująca TextView deklaracja używa dodanego zasobu czcionki pacifico.ttf:

    <TextView
      android:text="Example Text in Pacifico Regular"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:fontFamily="@font/pacifico" />
    

Można również utworzyć plik XML rodziny czcionek, który opisuje wiele czcionek, a także szczegóły stylu i wagi. Aby uzyskać więcej informacji, zobacz temat Czcionki dla deweloperów systemu Android w języku XML .

Czcionki do pobrania

Począwszy od systemu Android Oreo, aplikacje mogą żądać czcionek od dostawcy, a nie grupować je w apk. Czcionki są pobierane z sieci tylko w razie potrzeby. Ta funkcja zmniejsza rozmiar pakietu APK, oszczędzając pamięć telefonu i użycie danych komórkowych. Możesz również użyć tej funkcji w interfejsie API systemu Android w wersji 14 lub nowszej, instalując pakiet Biblioteki pomocy technicznej systemu Android 26.

Gdy aplikacja potrzebuje czcionki, należy utworzyć obiekt (określając czcionkę FontsRequest do pobrania), a następnie przekazać ją do FontsContract metody w celu pobrania czcionki. W poniższych krokach opisano bardziej szczegółowo proces pobierania czcionek:

  1. Utwórz wystąpienie obiektu FontRequest .

  2. Podklasa i utwórz wystąpienie pliku FontsContract.FontRequestCallback.

  3. Zaimplementuj metodę FontRequestCallback.OnTypeFaceRetrieved , która służy do obsługi uzupełniania żądania czcionki.

  4. Zaimplementuj metodę FontRequestCallback.OnTypeFaceRequestFailed , która służy do informowania aplikacji o wszelkich błędach występujących podczas procesu żądania czcionki.

  5. Wywołaj metodę FontsContract.RequestFonts , aby pobrać czcionkę z dostawcy czcionek.

Podczas wywoływania RequestFonts metody najpierw sprawdza, czy czcionka jest lokalnie buforowana (z poprzedniego wywołania do RequestFontmetody ). Jeśli nie jest on buforowany, wywołuje dostawcę czcionek, pobiera czcionkę asynchronicznie, a następnie przekazuje wyniki z powrotem do aplikacji, wywołując OnTypeFaceRetrieved metodę.

Aby uzyskać więcej informacji na temat pobierania czcionek, zobacz temat Android Developer Downloadable Fonts (Czcionki do pobrania dla deweloperów systemu Android).

Autowypełnianie

Nowa struktura automatycznego wypełniania w systemie Android Oreo ułatwia użytkownikom obsługę powtarzających się zadań, takich jak logowanie, tworzenie konta i transakcje kart kredytowych. Użytkownicy poświęcają mniej czasu na ponowne wpisywanie informacji (co może prowadzić do błędów wejściowych). Zanim aplikacja będzie mogła pracować z platformą autowypełniania, w ustawieniach systemu musi być włączona usługa automatycznego wypełniania (użytkownicy mogą włączać lub wyłączać automatyczne wypełnianie).

Aby uzyskać więcej informacji na temat nowej funkcji automatycznego wypełniania i sposobu optymalizacji aplikacji pod kątem automatycznego wypełniania, zobacz temat Android Developer Autofill Framework (Struktura automatycznego wypełniania dla deweloperów systemu Android).

Obraz na obrazie (PIP)

Android Oreo umożliwia uruchomienie działania w trybie obraz-in-picture (PIP), nakładanie ekranu innego działania. Ta funkcja jest przeznaczona do odtwarzania wideo.

Aby określić, że działanie aplikacji może używać trybu PIP, ustaw następującą flagę na true w manifeście systemu Android:

android:supportsPictureInPicture

Aby określić, jak działanie powinno zachowywać się w trybie PIP, należy użyć nowego obiektu PictureInPictureParams . PictureInPictureParams reprezentuje zestaw parametrów używanych do inicjowania i aktualizowania działania w trybie PIP (na przykład preferowanego współczynnika proporcji działania). W systemie Android Oreo dodano Activity następujące nowe metody PIP:

  • EnterPictureInPictureMode — umieszcza działanie w trybie PIP. Działanie jest umieszczane w rogu ekranu, a reszta ekranu jest wypełniona poprzednim działaniem, które znajdowało się na ekranie.

  • SetPictureInPictureParams — Aktualizacje ustawień konfiguracji pip działania (na przykład zmiany współczynnika proporcji).

Inne funkcje

System Android Oreo zawiera wiele innych nowych funkcji, takich jak biblioteka obsługi emoji, interfejs API lokalizacji, limity w tle, szeroki kolor dla aplikacji, nowe kodecze audio, ulepszenia funkcji WebView, ulepszona obsługa nawigacji za pomocą klawiatury i nowy interfejs API AAudio (pro audio) na potrzeby dźwięku o wysokiej wydajności, aby uzyskać więcej informacji na temat tych funkcji, zobacz temat Android Developer Android Oreo Features and APIs (Funkcje i interfejsy API dla deweloperów systemu Android).

Zmiany zachowania

System Android Oreo zawiera różne zmiany zachowania systemu i interfejsu API, które mogą mieć wpływ na funkcjonalność istniejących aplikacji. Te zmiany są opisane w następujący sposób.

Limity wykonywania w tle

Aby ulepszyć środowisko użytkownika, system Android Oreo nakłada ograniczenia dotyczące tego, co aplikacje mogą robić podczas uruchamiania w tle. Jeśli na przykład użytkownik ogląda film wideo lub gra, aplikacja działająca w tle może obniżyć wydajność aplikacji intensywnie korzystającej z wideo uruchomionej na pierwszym planie. W związku z tym system Android Oreo nakłada następujące ograniczenia dotyczące aplikacji, które nie wchodzą bezpośrednio w interakcję z użytkownikiem:

  1. Ograniczenia usługi w tle — gdy aplikacja jest uruchomiona w tle, ma okno kilku minut, w którym nadal może tworzyć i korzystać z usług. Na końcu tego okna system Android zatrzymuje usługę w tle aplikacji i traktuje ją jako bezczynną.

  2. Ograniczenia emisji — system Android 7.0 (INTERFEJS API 25) ogranicza emisje rejestrowane przez aplikację do odbierania. Android Oreo sprawia, że te ograniczenia są bardziej rygorystyczne. Na przykład aplikacje Systemu Android Oreo nie mogą już rejestrować odbiorników emisji dla niejawnych emisji w ich manifestach.

Aby uzyskać więcej informacji na temat nowych limitów wykonywania w tle, zobacz temat Limity wykonywania w tle dla deweloperów systemu Android.

Zmiany powodujące niezgodność

Aplikacje przeznaczone dla systemu Android Oreo lub nowszego muszą modyfikować aplikacje, aby obsługiwały następujące zmiany, jeśli ma to zastosowanie:

  • System Android Oreo przestarzał możliwość ustawiania priorytetu poszczególnych powiadomień. Zamiast tego należy ustawić zalecany poziom ważności podczas tworzenia kanału powiadomień. Poziom ważności przypisywany do kanału powiadomień ma zastosowanie do wszystkich komunikatów powiadomień, które są do niego wysyłane.

  • W przypadku aplikacji przeznaczonych dla systemu Android Oreo PendingIntent.GetService() nie działa z powodu nowych limitów dotyczących usług uruchomionych w tle. Jeśli używasz systemu Android Oreo, zamiast tego użyj polecenia PendingIntent.GetBroadcast .

Wideo

Programowanie aplikacji Oreo dla systemu Android 8.0 za pomocą języka C#

Podsumowanie

W tym artykule przedstawiono system Android Oreo i wyjaśniono, jak zainstalować i skonfigurować najnowsze narzędzia i pakiety na potrzeby programowania na platformie Xamarin.Android w systemie Android Oreo. Udostępniono omówienie kluczowych funkcji dostępnych w systemie Android Oreo z linkami do przykładowego kodu źródłowego dla kilku nowych funkcji. Zawiera on linki do dokumentacji interfejsu API i tematów dla deweloperów systemu Android, które ułatwiają rozpoczęcie tworzenia aplikacji dla systemu Android Oreo. Wyróżniono również najważniejsze zmiany zachowania systemu Android Oreo, które mogą mieć wpływ na istniejące aplikacje.