Udostępnij za pośrednictwem


Funkcje narzędzia Nougat

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

W tym artykule przedstawiono omówienie funkcji wprowadzonych w systemie Android Nougat, wyjaśniono, jak przygotować oprogramowanie Xamarin.Android dla systemu Android Nougat oraz linki do przykładowych aplikacji ilustrujących sposób korzystania z funkcji Systemu Android Nougat w aplikacjach platformy Xamarin.Android.

Omówienie

Android Nougat jest kontynuacją Google android 6.0 Marshmallow. Platforma Xamarin.Android zapewnia obsługę powiązań systemu Android 7.x w środowisku Xamarin Android 7.0 lub nowszym. Android Nougat dodaje wiele nowych interfejsów API dla funkcji Nougat opisanych poniżej; te interfejsy API są dostępne dla aplikacji platformy Xamarin.Android w przypadku korzystania z platformy Xamarin.Android 7.0.

Hero obrazy tabletów z systemem Android i telefonów z systemem Android Nougat

Aby uzyskać więcej informacji na temat interfejsów API systemu Android 7.x, zobacz Dokumentacja interfejsu API systemu Android. Aby uzyskać listę znanych problemów z platformą Xamarin.Android 7.0, zobacz informacje o wersji.

System Android Nougat udostępnia wiele nowych funkcji interesujących deweloperów platformy Xamarin.Android. Do tych funkcji należą:

  • Obsługa wielu okien — to ulepszenie umożliwia użytkownikom otwieranie dwóch aplikacji na ekranie jednocześnie.

  • Ulepszenia powiadomień — przeprojektowany system powiadomień w systemie Android Nougat zawiera funkcję odpowiedzi bezpośredniej, która umożliwia użytkownikom szybkie odpowiadanie na wiadomości SMS bezpośrednio z poziomu interfejsu użytkownika powiadomień. Ponadto jeśli aplikacja tworzy powiadomienia dotyczące odebranych komunikatów, nowa funkcja powiadomień w pakiecie może łączyć powiadomienia razem jako pojedynczą grupę po odebraniu więcej niż jednego komunikatu.

  • Data Saver — ta funkcja to nowa usługa systemowa, która pomaga zmniejszyć użycie danych komórkowych przez aplikacje. Zapewnia użytkownikom kontrolę nad sposobem korzystania z danych komórkowych przez aplikacje.

Ponadto system Android Nougat oferuje wiele innych ulepszeń interesujących deweloperów aplikacji, takich jak nowa funkcja konfiguracji zabezpieczeń sieci, Doze on the Go, zaświadczanie klucza, nowe interfejsy API Quick Ustawienia, obsługa wielu ustawień regionalnych, interfejsy API ICU4J, ulepszenia webview, dostęp do funkcji języka Java 8, dostęp do katalogu w zakresie, niestandardowy interfejs API wskaźnika, obsługa vr, pliki wirtualne i optymalizacje przetwarzania w tle.

W tym artykule wyjaśniono, jak rozpocząć tworzenie aplikacji za pomocą narzędzia Android Nougat, aby wypróbować nowe funkcje i zaplanować migrację lub pracę funkcji w celu kierowania nowej platformy Android Nougat.

Wymagania

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

  • Visual Studio lub Visual Studio dla komputerów Mac — jeśli używasz programu Visual Studio, wymagana jest wersja 4.2.0.628 lub nowsza w narzędziach Visual Studio Tools for Xamarin. Jeśli używasz Visual Studio dla komputerów Mac, wymagana jest wersja 6.1.0 lub nowsza Visual Studio dla komputerów Mac.

  • Xamarin.Android — program Xamarin.Android 7.0 lub nowszy musi być zainstalowany i skonfigurowany przy użyciu programu Visual Studio lub Visual Studio dla komputerów Mac.

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

  • Zestaw Java Developer Kit — programowanie zestawu Xamarin Android 7.0 wymaga zestawu JDK 8 lub nowszego, jeśli tworzysz zestaw API na poziomie 24 lub nowszym (zestaw JDK 8 obsługuje również poziomy interfejsu API starsze niż 24). Wersja 64-bitowa zestawu JDK 8 jest wymagana, jeśli używasz kontrolek niestandardowych lub podglądu formularzy.

Ważne

Zestaw Xamarin.Android nie obsługuje zestawu JDK 9.

Należy pamiętać, że aplikacje muszą zostać ponownie skompilowane przy użyciu platformy Xamarin C6SR4 lub nowszej, aby działały niezawodnie z systemem Android Nougat. Ponieważ narzędzie Android Nougat może łączyć się tylko z bibliotekami natywnymi dostarczanymi przez zestaw NDK, istniejące aplikacje korzystające z bibliotek, takich jak Mono.Data.Sqlite.dll, mogą ulec awarii podczas uruchamiania w systemie Android Nougat, jeśli nie zostaną prawidłowo skompilowane.

Wprowadzenie

Aby rozpocząć korzystanie z narzędzia Android Nougat z platformą Xamarin.Android, musisz pobrać i zainstalować najnowsze narzędzia i pakiety zestawu SDK, zanim będzie można utworzyć projekt Nougat systemu Android:

  1. Zainstaluj najnowsze aktualizacje platformy Xamarin.Android z platformy Xamarin.

  2. Zainstaluj pakiety i narzędzia systemu Android 7.0 (API 24) lub nowsze.

  3. Utwórz nowy projekt platformy Xamarin.Android przeznaczony dla systemu Android Nougat.

  4. Skonfiguruj emulator lub urządzenie dla systemu Android Nougat.

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

Instalowanie Aktualizacje platformy Xamarin

Aby dodać obsługę platformy Xamarin dla systemu Android Nougat, zmień kanał aktualizacji w programie Visual Studio lub Visual Studio dla komputerów Mac na kanał Stable i zastosuj najnowsze aktualizacje. Jeśli potrzebujesz również funkcji, które są obecnie dostępne tylko w kanale Alfa lub Beta, możesz przełączyć się na kanał Alfa lub Beta (kanały Alpha i Beta zapewniają również obsługę systemu Android 7.x). Aby uzyskać informacje o sposobie zmiany kanału aktualizacji (wydań), zobacz Zmienianie kanału Aktualizacje.

Instalowanie zestawu Android SDK

Aby utworzyć projekt przy użyciu platformy Xamarin Android 7.0, musisz najpierw użyć Menedżera zestawu SDK systemu Android do zainstalowania platformy SDK Dla systemu Android N (interfejs API 24) lub nowszego. Należy również zainstalować najnowsze narzędzia zestawu Android SDK:

  1. Uruchom Menedżera zestawu Android SDK (w Visual Studio dla komputerów Mac użyj narzędzia > Otwórz Menedżera zestawu Android SDK Manager...; w programie Visual Studio użyj narzędzia > Android > SDK Manager.

  2. Zainstaluj system Android 7.0 (INTERFEJS API 24) lub nowszy:

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

  3. Zainstaluj najnowsze narzędzia zestawu Android SDK:

    Wybieranie najnowszych narzędzi zestawu Sdk systemu Android w menedżerze zestawów SDK systemu Android

    Należy zainstalować narzędzia Android SDK Tools w wersji 25.2.2 lub nowszej, narzędzia platformy zestawu Android SDK w wersji 24.0.3 lub nowszej oraz narzędzia kompilacji zestawu Android SDK w wersji 24.0.2 lub nowszej.

  4. Sprawdź, czy lokalizacja zestawu Java Development Kit jest skonfigurowana dla zestawu JDK 1.8:

    Konfigurowanie ścieżki zestawu JDK 8 w obszarze Opcje narzędzi

    Aby wyświetlić to ustawienie w programie Visual Studio, kliknij pozycję Narzędzia > Opcje > Xamarin > Android Ustawienia. W Visual Studio dla komputerów Mac kliknij pozycję Preferencje Projekty > SDK Lokalizacje >> android.

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 przeznaczone dla systemu Android 7.0 lub nowszego. Na przykład w celu kierowania projektu dla systemu Android 7.0 należy skonfigurować docelowy poziom interfejsu API systemu Android dla systemu Android 7.0 (interfejs API 24 — Nougat). Zaleca się ustawienie docelowego poziomu platformy na interfejs API 24 lub nowszy. Aby uzyskać więcej informacji na temat konfigurowania poziomów interfejsu API systemu Android, zobacz Opis poziomów interfejsu API systemu Android.

Uwaga

Obecnie należy ustawić minimalną wersję systemu Android na Android 7.0 (interfejs API 24 — Nougat), aby wdrożyć aplikację na urządzeniach lub emulatorach systemu Android Nougat.

Konfigurowanie emulatora lub urządzenia

Jeśli używasz emulatora, uruchom program Android AVD Manager i utwórz nowe urządzenie przy użyciu następujących ustawień:

  • Urządzenie: Nexus 5X, Nexus 6, Nexus 6P, Nexus Player, Nexus 9 lub Pixel C.
  • Cel: Android 7.0 — poziom 24 interfejsu API
  • ABI: x86 lub x86_64

Na przykład to urządzenie wirtualne jest skonfigurowane do emulacji Nexus 6:

Konfigurowanie usługi AVD przy użyciu urządzenia Nexus 6, docelowego systemu Android 7.0 i procesora CPU/ABI Intel Atom x86

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

Należy pamiętać, że urządzenia Nexus 5 nie są obsługiwane przez android Nougat.

Nowe funkcje

System Android Nougat wprowadza różne nowe funkcje i możliwości, takie jak obsługa wielu okien, ulepszenia powiadomień i funkcja zapisywania danych. W poniższych sekcjach przedstawiono te funkcje i linki ułatwiające rozpoczęcie korzystania z nich w aplikacji.

Tryb wielu okien

Tryb wielu okien umożliwia użytkownikom otwieranie dwóch aplikacji jednocześnie z pełną obsługą wielozadaniowości. Te aplikacje mogą działać obok siebie (poziomo) lub jeden powyżej drugiego (pionowy) w trybie podzielonym ekranu. Użytkownicy mogą przeciągać podział między aplikacjami w celu ich zmiany rozmiaru, a następnie wycinać i wklejać zawartość między aplikacjami. Gdy dwie aplikacje są prezentowane w trybie wielu okien, wybrane działanie jest nadal uruchamiane, gdy niezaznaczone działanie jest wstrzymane, ale nadal widoczne. Tryb wielu okien nie modyfikuje cyklu życia działania systemu Android.

Przykładowe aplikacje działające w trybie wielu okien zarówno w trybie pionowym, jak i poziomym

Możesz skonfigurować sposób działania aplikacji platformy Xamarin.Android obsługującej tryb wielu okien. Można na przykład skonfigurować atrybuty, które ustawiają minimalny rozmiar oraz domyślną wysokość i szerokość aplikacji w trybie wielu okien. Możesz użyć nowej Activity.IsInMultiWindowMode właściwości, aby określić, czy działanie jest w trybie wielu okien. Na przykład:

if (!IsInMultiWindowMode) {
    multiDisabledMessage.Visibility = ViewStates.Visible;
} else {
    multiDisabledMessage.Visibility = ViewStates.Gone;
}

Aby uzyskać więcej informacji na temat trybu wielu okien, zobacz Obsługa wielu okien.

Powiadomienia rozszerzone

System Android Nougat wprowadza przeprojektowany system powiadomień. Oferuje ona nową funkcję odpowiedzi bezpośredniej, która umożliwia użytkownikom szybkie odpowiadanie na powiadomienia dotyczące przychodzących wiadomości TEKSTowych bezpośrednio w interfejsie użytkownika powiadomień. Począwszy od systemu Android 7.0, komunikaty powiadomień można łączyć razem jako pojedynczą grupę po odebraniu więcej niż jednego komunikatu. Ponadto deweloperzy mogą dostosowywać widoki powiadomień, wykorzystywać dekoracje systemowe w powiadomieniach i korzystać z nowych szablonów powiadomień podczas generowania powiadomień.

Bezpośrednia odpowiedź

Gdy użytkownik otrzyma powiadomienie o wiadomości przychodzącej, narzędzie Android Nougat umożliwia udzielenie odpowiedzi na wiadomość w ramach powiadomienia (zamiast otwierać aplikację do obsługi wiadomości w celu wysłania odpowiedzi). Ta funkcja odpowiedzi wbudowanej umożliwia użytkownikom szybkie odpowiadanie na wiadomości SMS lub sms bezpośrednio w interfejsie powiadomień:

Zrzut ekranu przedstawiający powiadomienie z wbudowanym polem Odpowiedzi bezpośredniej

Aby obsługiwać tę funkcję w aplikacji, należy dodać wbudowane akcje odpowiedzi do aplikacji za pośrednictwem obiektu RemoteInput , aby użytkownicy mogli odpowiadać za pośrednictwem tekstu bezpośrednio z poziomu interfejsu użytkownika powiadomienia. Na przykład poniższy kod tworzy RemoteInput element do odbierania tekstu wejściowego, tworzy oczekującą intencję dla akcji odpowiedzi i tworzy zdalną akcję z włączoną obsługą danych wejściowych:

// Build a RemoteInput for receiving text input:
var remoteInput = new Android.Support.V4.App.RemoteInput.Builder (EXTRA_REMOTE_REPLY)
    .SetLabel (GetString (Resource.String.reply))
    .Build ();

// Build a Pending Intent for the reply action to trigger:
PendingIntent replyIntent = PendingIntent.GetBroadcast (ApplicationContext,
                                conversation.ConversationId,
                                GetMessageReplyIntent (conversation.ConversationId),
                                PendingIntentFlags.UpdateCurrent);

// Build an Android 7.0 compatible Remote Input enabled action:
NotificationCompat.Action actionReplyByRemoteInput = new NotificationCompat.Action.Builder (
    Resource.Drawable.notification_icon,
    GetString (Resource.String.reply),
    replyIntent).AddRemoteInput (remoteInput).Build ();

Ta akcja jest dodawana do powiadomienia:

// Create the notification:
NotificationCompat.Builder builder = new NotificationCompat.Builder (ApplicationContext)
   .SetSmallIcon (Resource.Drawable.notification_icon)
   ...
   .AddAction (actionReplyByRemoteInput);

Aby uzyskać więcej informacji na temat dodawania wbudowanych akcji odpowiedzi do aplikacji dla systemu Android 7.0 lub nowszego, zobacz temat Odpowiadanie na powiadomienia w systemie Android.

Powiadomienia w pakiecie

Android Nougat może grupować komunikaty powiadomień (na przykład według tematu wiadomości) i wyświetlać grupę, a nie każdą oddzielną wiadomość. Ta funkcja powiadomień w pakiecie umożliwia użytkownikom odrzucanie lub archiwizowanie grupy powiadomień w jednej akcji. Użytkownik może przesunąć w dół, aby rozwinąć pakiet powiadomień, aby wyświetlić każde powiadomienie szczegółowo:

Zrzut ekranu przedstawiający przykład powiadomień w pakiecie

Aby obsługiwać powiadomienia w pakiecie, aplikacja może używać metody Builder.SetGroup do tworzenia podobnych powiadomień. Aby uzyskać więcej informacji na temat grup powiadomień w pakiecie w systemie Android N, zobacz temat Powiadomienia dotyczące tworzenia pakietów systemu Android.

Widoki niestandardowe

Narzędzie Android Nougat umożliwia tworzenie niestandardowych widoków powiadomień z nagłówkami powiadomień systemowych, akcjami i układami rozwijanymi. Aby uzyskać więcej informacji na temat niestandardowych widoków powiadomień w systemie Android Nougat, zobacz temat Rozszerzenia powiadomień systemu Android.

Zapisywanie danych

Począwszy od systemu Android Nougat, użytkownicy mogą włączyć nowe ustawienie zapisywania danych, które blokuje użycie danych w tle. To ustawienie sygnalizuje również, że aplikacja używa mniej danych na pierwszym planie wszędzie tam, gdzie to możliwe. Połączenie ivityManager został rozszerzony w systemie Android Nougat, aby aplikacja mogła sprawdzić, czy użytkownik włączył funkcję zapisywania danych, aby aplikacja mogła starać się ograniczyć użycie danych po włączeniu funkcji zapisywania danych.

Aby uzyskać więcej informacji na temat nowej funkcji zapisywania danych w systemie Android Nougat, zobacz temat Optymalizacja danych sieciowych w systemie Android.

Skróty aplikacji

System Android 7.1 wprowadził funkcję skrótów aplikacji, która umożliwia użytkownikom szybkie uruchamianie typowych lub zalecanych zadań w aplikacji. Aby aktywować menu skrótów, użytkownik długo naciska ikonę aplikacji na sekundę lub więcej — menu zostanie wyświetlone z szybkim drganiami. Zwolnienie prasy powoduje, że menu pozostanie:

Przykładowy ekran menu skrótów aplikacji dla aplikacji do obsługi komunikatów

Ta funkcja jest dostępna tylko na poziomie interfejsu API 25 lub nowszym. Aby uzyskać więcej informacji na temat nowej funkcji skrótów aplikacji w systemie Android 7.1, zobacz temat Skróty aplikacji systemu Android.

Podsumowanie

W tym artykule przedstawiono system Android Nougat i wyjaśniono, jak zainstalować i skonfigurować najnowsze narzędzia i pakiety na potrzeby programowania na platformie Xamarin.Android w systemie Android Nougat. Udostępniono również omówienie kluczowych funkcji dostępnych w systemie Android Nougat z linkami do przykładowego kodu źródłowego, które ułatwiają rozpoczęcie tworzenia aplikacji dla systemu Android Nougat.