Funkce Nougatu

Jak začít používat Xamarin.Android k vývoji aplikací pro Android Nougat

Tento článek obsahuje přehled funkcí zavedených v Androidu Nougat, vysvětluje, jak připravit vývoj pro Xamarin.Android pro Android Nougat a poskytuje odkazy na ukázkové aplikace, které ilustrují použití funkcí Android Nougat v aplikacích Xamarin.Android.

Přehled

Android Nougat je google followup na Android 6.0 Marshmallow. Xamarin.Android poskytuje podporu pro vazby Androidu 7.x v Xamarin Androidu 7.0 a novějších verzích. Android Nougat přidává mnoho nových rozhraní API pro funkce Nougat popsané níže; tato rozhraní API jsou dostupná pro aplikace Xamarin.Android při použití Xamarin.Android 7.0.

Hero images of Android tablet and phones running Android Nougat

Další informace o rozhraních API androidu 7.x najdete v referenčních informacích k rozhraní ANDROID API. Seznam známých problémů s Xamarin.Android 7.0 najdete v poznámkách k verzi.

Android Nougat poskytuje vývojářům Xamarin.Android mnoho nových funkcí. Patří k nim:

  • Podpora více oken – Toto vylepšení umožňuje uživatelům otevřít dvě aplikace na obrazovce najednou.

  • Vylepšení oznámení – Přepracovaný systém oznámení v Androidu Nougat obsahuje funkci přímé odpovědi , která uživatelům umožňuje rychle reagovat na textové zprávy přímo z uživatelského rozhraní oznámení. Pokud vaše aplikace vytvoří oznámení pro přijaté zprávy, může nová funkce sbalit oznámení společně jako jednu skupinu, když se přijme více než jedna zpráva.

  • Ukládání dat – Tato funkce je nová systémová služba, která pomáhá snižovat využití mobilních dat aplikacemi. Poskytuje uživatelům kontrolu nad tím, jak aplikace používají mobilní data.

Kromě toho Android Nougat přináší vývojářům aplikací mnoho dalších vylepšení, jako je nová funkce konfigurace zabezpečení sítě, Doze na Go, ověření klíče, nová rozhraní API rychlého Nastavení, podpora více národních prostředí, rozhraní API ICU4J, vylepšení WebView, přístup k funkcím jazyka Java 8, omezený přístup k adresářům, vlastní rozhraní API ukazatele, podpora platformy VR, virtuální soubory a optimalizace zpracování na pozadí.

Tento článek vysvětluje, jak začít sestavovat aplikace s Androidem Nougat a vyzkoušet si nové funkce a naplánovat migraci nebo funkci, která bude cílit na novou platformu Android Nougat.

Požadavky

K použití nových funkcí Android Nougat v aplikacích založených na Xamarinu je potřeba následující:

  • Visual Studio nebo Visual Studio pro Mac – Pokud používáte Visual Studio, vyžaduje se verze 4.2.0.628 nebo novější sady Visual Studio Tools for Xamarin. Pokud používáte Visual Studio pro Mac, vyžaduje se verze 6.1.0 nebo novější Visual Studio pro Mac.

  • Xamarin.Android – Xamarin.Android 7.0 nebo novější musí být nainstalovaný a nakonfigurovaný pomocí sady Visual Studio nebo Visual Studio pro Mac.

  • Sada Android SDK – Android SDK 7.0 (API 24) nebo novější musí být nainstalována přes Správce sady Android SDK.

  • Sada Java Developer Kit – Vývoj pro Xamarin Android 7.0 vyžaduje JDK 8 nebo novější, pokud vyvíjíte pro rozhraní API úrovně 24 nebo vyšší (JDK 8 podporuje také úrovně rozhraní API starší než 24). 64bitová verze sady JDK 8 se vyžaduje, pokud používáte vlastní ovládací prvky nebo Forms Previewer.

Důležité

Xamarin.Android nepodporuje sadu JDK 9.

Aplikace musí být znovu sestaveny pomocí Xamarin C6SR4 nebo novější, aby spolehlivě fungovaly s Androidem Nougat. Vzhledem k tomu, že Android Nougat může propojit pouze s nativními knihovnami poskytovanými NDK, může dojít k chybovému ukončení stávajících aplikací využívajících knihovny, jako je Mono.Data.Sqlite.dll při spuštění v Androidu Nougat, pokud nejsou správně znovu sestaveny.

Začínáme

Pokud chcete začít používat Android Nougat s Xamarin.Androidem, musíte si stáhnout a nainstalovat nejnovější nástroje a balíčky SDK, abyste mohli vytvořit projekt Android Nougat:

  1. Nainstalujte nejnovější aktualizace Xamarin.Android z Xamarinu.

  2. Nainstalujte balíčky a nástroje pro Android 7.0 (API 24) nebo novější.

  3. Vytvořte nový projekt Xamarin.Android, který cílí na Android Nougat.

  4. Nakonfigurujte emulátor nebo zařízení pro Android Nougat.

Každý z těchto kroků je vysvětlený v následujících částech:

Instalace Aktualizace Xamarinu

Pokud chcete přidat podporu Xamarinu pro Android Nougat, změňte kanál aktualizací v sadě Visual Studio nebo Visual Studio pro Mac na stabilní kanál a nainstalujte nejnovější aktualizace. Pokud potřebujete také funkce, které jsou aktuálně dostupné jenom v kanálu Alfa nebo Beta, můžete přepnout na kanál Alfa nebo Beta (kanály Alpha a Beta také poskytují podporu pro Android 7.x). Informace o tom, jak změnit kanál aktualizací (vydané verze), najdete v tématu Změna kanálu Aktualizace.

Instalace sady Android SDK

Pokud chcete vytvořit projekt s Xamarin Androidem 7.0, musíte nejprve pomocí Správce sady Android SDK nainstalovat sadu SDK Platform Android N (API 24) nebo novější. Musíte také nainstalovat nejnovější nástroje sady Android SDK:

  1. Spusťte Správce sady Android SDK (v Visual Studio pro Mac použijte nástroje Open Android SDK Manager...; v sadě Visual Studio použijte Nástroje >> Android SDK Manager>).

  2. Nainstalujte Android 7.0 (API 24) nebo novější:

    Výběr balíčků Android 7.0 ve Správci sady Android SDK

  3. Nainstalujte nejnovější nástroje sady Android SDK:

    Výběr nejnovějších nástrojů sady Android SDK ve Správci sady Android SDK

    Musíte nainstalovat Nástroje sady Android SDK verze 25.2.2 nebo novější, nástroje platformy Android SDK 24.0.3 nebo novější a nástroje buildu sady Android SDK 24.0.2 nebo novější.

  4. Ověřte, že je pro sadu JDK 1.8 nakonfigurované umístění sady Java Development Kit:

    Konfigurace cesty JDK 8 v části Možnosti nástrojů

    Chcete-li toto nastavení zobrazit v sadě Visual Studio, klepněte na tlačítko Nástroje > Možnosti > Xamarin > Android Nastavení. V Visual Studio pro Mac klepněte na tlačítko Předvolby > projekty > SDK umístění > Android.

Spuštění projektu Xamarin.Android

Vytvořte nový projekt Xamarin.Android. Pokud s vývojem pro Android s Xamarinem začínáte, přečtěte si téma Hello, Android , kde se dozvíte o vytváření projektů Xamarin.Android.

Při vytváření projektu pro Android musíte nakonfigurovat nastavení verze pro cílení na Android 7.0 nebo novější. Pokud chcete například cílit na projekt pro Android 7.0, musíte nakonfigurovat cílovou úroveň rozhraní Android API projektu na Android 7.0 (ROZHRANÍ API 24 – Nougat). Doporučujeme nastavit cílovou úroveň architektury na rozhraní API 24 nebo novější. Další informace o konfiguraci úrovní na úrovni rozhraní ANDROID API najdete v tématu Principy úrovní rozhraní ANDROID API.

Poznámka:

V současné době musíte nastavit minimální verzi Androidu na Android 7.0 (API 24 – Nougat) a nasadit aplikaci do zařízení nebo emulátorů Androidu Nougat.

Konfigurace emulátoru nebo zařízení

Pokud používáte emulátor, spusťte Správce AVD Androidu a vytvořte nové zařízení pomocí následujícího nastavení:

  • Zařízení: Nexus 5X, Nexus 6, Nexus 6P, Nexus Player, Nexus 9 nebo Pixel C.
  • Cíl: Android 7.0 – úroveň rozhraní API 24
  • ABI: x86 nebo x86_64

Toto virtuální zařízení je například nakonfigurované pro emulaci zařízení Nexus 6:

Konfigurace AVD pomocí zařízení Nexus 6, cíle Androidu 7.0 a procesoru Intel Atom x86 /ABI

Pokud používáte fyzické zařízení, jako je Nexus 5X, 6 nebo 9, můžete zařízení buď aktualizovat prostřednictvím automatických aktualizací OTA (Air Over The Air), nebo si stáhnout systémovou image a blikat zařízení přímo. Další informace o ruční aktualizaci zařízení na Android Nougat naleznete v tématu Obrázky OTA pro zařízení Nexus.

Mějte na paměti, že zařízení Nexus 5 nejsou podporována Androidem Nougat.

Nové funkce

Android Nougat představuje řadu nových funkcí a možností, jako je podpora více oken, vylepšení oznámení a ukládání dat. Následující části zvýrazňují tyto funkce a poskytují odkazy, které vám pomůžou začít používat je ve vaší aplikaci.

Režim s více okny

Režim s více okny umožňuje uživatelům otevírat dvě aplikace najednou s plnou podporou multitaskingu. Tyto aplikace můžou běžet vedle sebe (na šířku) nebo 1 nad druhým (na výšku) v režimu rozdělené obrazovky. Uživatelé můžou přetáhnout rozdělovač mezi aplikacemi a změnit jejich velikost a obsah mezi aplikacemi vyjmout a vložit. Když se v režimu s více okny zobrazí dvě aplikace, vybraná aktivita se bude dál spouštět, i když je nevybraná aktivita pozastavená, ale stále viditelná. Režim s více okny nemění životní cyklus aktivity Androidu.

Ukázkové aplikace spuštěné v režimu s více okny na výšku i na šířku

Můžete nakonfigurovat, jak aktivity aplikace Xamarin.Android podporují režim s více okny. Můžete například nakonfigurovat atributy, které nastaví minimální velikost a výchozí výšku a šířku aplikace v režimu s více okny. Pomocí nové Activity.IsInMultiWindowMode vlastnosti můžete určit, jestli je vaše aktivita v režimu s více okny. Příklad:

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

Další informace o režimu s více okny naleznete v tématu Podpora více oken.

Rozšířená oznámení

Android Nougat představuje přepracovaný systém oznámení. Obsahuje novou funkci přímé odpovědi, která uživatelům umožňuje rychle odpovědět na oznámení příchozích textových zpráv přímo v uživatelském rozhraní oznámení. Od Androidu 7.0 je možné zprávy s oznámením spojit jako jednu skupinu, když se přijme více zpráv. Vývojáři také můžou přizpůsobit zobrazení oznámení, využívat systémové dekorace v oznámeních a využívat nové šablony oznámení při generování oznámení.

Přímá odpověď

Když uživatel obdrží oznámení o příchozí zprávě, Android Nougat umožňuje odpovědět na zprávu v oznámení (místo otevření aplikace pro zasílání zpráv pro odeslání odpovědi). Tato funkce vložené odpovědi umožňuje uživatelům rychle reagovat na SMS nebo textovou zprávu přímo v rozhraní oznámení:

Snímek obrazovky s oznámením s vloženým polem přímé odpovědi

Pokud chcete tuto funkci v aplikaci podporovat, musíte do aplikace přidat vložené akce odpovědi prostřednictvím objektu RemoteInput , aby uživatelé mohli odpovědět prostřednictvím textu přímo z uživatelského rozhraní oznámení. Například následující kód sestaví pro příjem textového RemoteInput vstupu, sestaví čekající záměr pro akci odpovědi a vytvoří akci s povoleným vzdáleným vstupem:

// 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 ();

Tato akce se přidá do oznámení:

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

Další informace o přidávání vložených akcí odpovědí do aplikace pro Android 7.0 nebo novější najdete v tématu Odpovědi na oznámení v Androidu.

Sbalené oznámení

Android Nougat může seskupit zprávy s oznámeními dohromady (například podle tématu zprávy) a místo každé samostatné zprávy zobrazit skupinu. Tato funkce sbalených oznámení umožňuje uživatelům zavřít nebo archivovat skupinu oznámení v jedné akci. Uživatel se může posunout dolů a rozbalit sadu oznámení, aby se zobrazila jednotlivá oznámení podrobně:

Snímek obrazovky s příkladem sbalených oznámení

K podpoře sbalovaných oznámení může vaše aplikace použít metodu Builder.SetGroup k vytvoření sady podobných oznámení. Další informace o sbalovaných skupinách oznámení v AndroidU N najdete v tématu Oznámení o sdružování androidů.

Vlastní zobrazení

Android Nougat umožňuje vytvářet vlastní zobrazení oznámení pomocí systémových záhlaví oznámení, akcí a rozbalitelných rozložení. Další informace o vlastních zobrazeních oznámení v Androidu Nougat najdete v tématu Vylepšení oznámení androidu.

Spořič dat

Od Androidu Nougat můžou uživatelé povolit nové nastavení ukládání dat, které blokuje využití dat na pozadí. Toto nastavení také signalizuje, že aplikace bude používat méně dat v popředí, kdykoli je to možné. Připojení ivityManager byl v Androidu Nougat rozšířen tak, aby aplikace nemohla zkontrolovat, jestli uživatel povolil ukládání dat, aby se vaše aplikace snažila omezit využití dat, když je povolený Nástroj pro ukládání dat.

Další informace o nové funkci Ukládání dat v Androidu Nougat najdete v tématu Optimalizace využití síťových dat v Androidu.

Klávesové zkratky aplikací

Android 7.1 zavedl funkci Zástupci aplikací, která uživatelům umožňuje rychle spouštět běžné nebo doporučené úlohy s vaší aplikací. Pokud chcete aktivovat nabídku klávesových zkratek, uživatel dlouho stiskne ikonu aplikace za sekundu nebo více – nabídka se zobrazí s rychlým kmitáním. Uvolnění stisknutí způsobí, že nabídka zůstane:

Příklad obrazovky místní nabídky aplikace pro aplikaci pro zasílání zpráv

Tato funkce je dostupná pouze pro rozhraní API úrovně 25 nebo vyšší. Další informace o nové funkci Zástupci aplikací v Androidu 7.1 najdete v tématu Zástupci aplikací pro Android.

Shrnutí

Tento článek představil Android Nougat a vysvětlil, jak nainstalovat a nakonfigurovat nejnovější nástroje a balíčky pro vývoj pro Xamarin.Android v Androidu Nougat. Poskytuje také přehled klíčových funkcí dostupných v Androidu Nougat s odkazy na ukázkový zdrojový kód, který vám pomůže začít vytvářet aplikace pro Android Nougat.