Funkce Nougat
Jak začít používat Xamarin.Android k vývoji aplikací pro Android Nougat
Tento článek obsahuje přehled funkcí představených v Androidu Nougatu, vysvětluje, jak připravit Xamarin.Android pro vývoj v Nougatu pro Android, a obsahuje odkazy na ukázkové aplikace, které ukazují, jak používat funkce Android Nougatu v aplikacích Xamarin.Android.
Přehled
Android Nougat je následnice Googlu k Androidu 6.0 Marshmallow. Xamarin.Android poskytuje podporu pro vazby Androidu 7.x v Xamarin Androidu 7.0 a novějším. 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, když používáte Xamarin.Android 7.0.
Další informace o rozhraních API pro Android 7.x najdete v tématu Android 7.1 pro vývojáře. Seznam známých problémů s Xamarin.Androidem 7.0 najdete ve zprávě k vydání verze.
Android Nougat poskytuje vývojářům Xamarin.Android mnoho nových funkcí, které vás zajímají. 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 Direct Reply, 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 vytváří oznámení pro přijaté zprávy, může nová funkce přijímaných oznámení při přijetí více zpráv seskupit oznámení dohromady jako jednu skupinu.
Data Saver – tato funkce je nová systémová služba, která pomáhá omezit 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áší mnoho dalších vylepšení, která jsou pro vývojáře aplikací zajímavá, jako je nová funkce konfigurace zabezpečení sítě, Doze na Go, ověření klíče, nová rozhraní API quick Nastavení, podpora více národního prostředí, rozhraní API ICU4J, vylepšení WebView, přístup k funkcím jazyka Java 8, vymezený přístup k adresáři, rozhraní API s vlastním ukazatelem, podpora platformy VR, virtuální soubory a optimalizace zpracování na pozadí.
Tento článek vysvětluje, jak začít s vytvářením aplikací s Androidem Nougat a vyzkoušet si nové funkce a naplánovat migraci nebo práci s funkcemi tak, aby cílila na novou platformu Android Nougat.
Požadavky
Aby bylo možné používat nové funkce Android Nougatu v aplikacích založených na Xamarinu, je potřeba:
Visual Studio nebo Visual Studio pro Mac – Pokud používáte Visual Studio, vyžaduje se verze 4.2.0.628 nebo novější Visual Studio Tools pro Xamarin. Pokud používáte verzi Visual Studio pro Mac, vyžaduje se verze 6.1.0 Visual Studio pro Mac novější.
Xamarin.Android – Xamarin.Android 7.0 nebo novější musí být nainstalovaný a nakonfigurovaný Visual Studio nebo Visual Studio pro Mac.
Android SDK – Android SDK 7.0 (API 24) nebo novější se musí nainstalovat přes Správce sady Android SDK.
Sada Java Developer Kit – vývoj pro Xamarin Android 7.0 vyžaduje sadu JDK 8 nebo novější, pokud vyvíjíte pro rozhraní API úrovně 24 nebo vyšší (sada JDK 8 také podporuje úrovně rozhraní API starší než 24). Pokud používáte vlastní ovládací prvky nebo Forms Previewer, vyžaduje se 64bitová verze sady JDK 8.
Důležité
Xamarin.Android nepodporuje JDK 9.
Upozorňujeme, že aplikace je nutné znovu vytvořit 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,stávající aplikace využívající knihovny, jako jeMono.Data.Sqlite.dll, se při spuštění v Androidu Nougatu nemusí správně znovu vytvořit, může dojít k selhání stávajících aplikací, jako jeMono.Data.Sqlite.dll.
Začínáme
Pokud chcete začít používat Android Nougat s Xamarin.Androidem, musíte si před vytvořením projektu Android Nougat stáhnout a nainstalovat nejnovější nástroje a balíčky SDK:
Nainstalujte nejnovější aktualizace Xamarin.Android z Xamarinu.
Nainstalujte balíčky a nástroje pro Android 7.0 (API 24) nebo novější.
Vytvořte nový projekt Xamarin.Android, který cílí na Android Nougat.
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 aktualizací Xamarinu
Pokud chcete přidat podporu Xamarinu pro Android Nougat, změňte kanál aktualizací v 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 Alfa a Beta také poskytují podporu pro Android 7.x). Informace o tom, jak změnit kanál aktualizací (vydání), najdete v tématu Změna kanálu aktualizací.
Instalace Android SDK
Pokud chcete vytvořit projekt pomocí Xamarin Androidu 7.0, musíte nejdřív použít Správce sady Android SDK k instalaci sady SDK Platform Android N (API 24) nebo novější. Musíte také nainstalovat nejnovější verzi Android SDK Tools:
Spusťte Správce sady Android SDK (v Visual Studio pro Mac nástroje Otevřít Správce sady Android SDK...; v Visual Studio použijte Nástroje android > Správce sady Android SDK).
Nainstalujte Android 7.0 (API 24) nebo novější:
Nainstalujte nejnovější Android SDK nástroje:
Musíte nainstalovat verzi 25.2.2 nebo novější, nástroje Android SDK Platform 24.0.3 nebo novější Android SDK Tools nástroje Android SDK Build Tools 24.0.2 nebo novější.
Ověřte, že umístění sady Java Development Kit je nakonfigurované pro sadu JDK 1.8:
Pokud chcete toto nastavení zobrazit v Visual Studio, klikněte na Nástroje Možnosti Xamarin Android >> Nastavení. V Visual Studio pro Mac na Preferences Projects SDK Locations Android (Umístění sady SDK Projekty >> předvoleb) Android.
Spuštění aplikace Xamarin.Android Project
Vytvořte nový projekt Xamarin.Android. Pokud s vývojem pro Android s Xamarinem je nového, přečtěte si o vytváření projektů Xamarin.Android v tématu Hello, Android.
Při vytváření projektu pro Android musíte nakonfigurovat nastavení verze tak, aby cílil 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 vašeho projektu na Android 7.0 (API 24 – Nougat). Doporučujeme nastavit úroveň cílové architektury na ROZHRANÍ API 24 nebo novější. Další informace o konfiguraci úrovní úrovně 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), abyste aplikaci nasadili do zařízení nebo emulátorů Android Nougat.
Konfigurace Emulator zařízení
Pokud používáte emulátor, spusťte Android AVD Manager a vytvořte nové zařízení pomocí následujících 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é tak, aby emuloval Nexus 6:
Pokud používáte fyzické zařízení, jako je Nexus 5X, 6 nebo 9, můžete buď zařízení aktualizovat automaticky prostřednictvím air (OTA), nebo stáhnout obrázek systému a zařízení přímo flashovat. Další informace o ruční aktualizaci zařízení na Android Nougat najdete v tématu OTA Images for Nexus Devices.
Upozorňujeme, že Android Nougat nepodporuje zařízení Nexus 5.
Nové funkce
Android Nougat zavádí celou řadu nových funkcí a funkcí, jako je podpora více oken, vylepšení oznámení a funkce Data Saver. Následující části tyto funkce zvýrazňují a poskytují odkazy, které vám pomůžou je začít používat ve vaší aplikaci.
Režim s více okny
Režim s více okny umožňuje uživatelům otevřít dvě aplikace najednou s plnou podporou multitaskingu. Tyto aplikace mohou běžet vedle sebe (na šířku) nebo v režimu rozdělené obrazovky jedna nad druhou (na výšku). Uživatelé mohou přetažením rozdělovače mezi aplikacemi změnit jejich velikost a vyjmout a vložit obsah mezi aplikacemi. Když se dvě aplikace zobrazí v režimu s více okny, vybraná aktivita se bude dál spouštět, dokud se nevybraná aktivita pozastaví, ale stále se zobrazí. Režim s více okny neupravuje životní cyklus aktivity Androidu.
Můžete nakonfigurovat, jak aktivity vaší 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é vlastnosti Activity.IsInMultiWindowMode můžete určit, jestli je vaše aktivita v režimu s více okny. Například:
if (!IsInMultiWindowMode) {
multiDisabledMessage.Visibility = ViewStates.Visible;
} else {
multiDisabledMessage.Visibility = ViewStates.Gone;
}
Ukázková aplikace MultiWindowPlayground obsahuje kód jazyka C#, který ukazuje, jak využít více uživatelských rozhraní oken s vaší aplikací.
Další informace o režimu s více okny najdete v tématu Podpora více oken.
Rozšířená oznámení
Android Nougat zavádí přepracovaný systém oznámení. Nabízí novou funkci Přímé odpovědi, která uživatelům umožňuje rychle odpovídat na oznámení o příchozích textových zprávách přímo v uživatelském rozhraní oznámení. Počínaje Androidem 7.0 je možné oznámení spojit jako jednu skupinu při přijetí více než jedné zprávy. Vývojáři mohou také přizpůsobovat zobrazení oznámení, využívat v oznámeních dekoraci systému 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 ZPRÁVU SMS nebo textovou zprávu přímo v rozhraní oznámení:
Aby bylo možné podporovat tuto funkci v aplikaci, je nutné do aplikace přidat vložené akce odpovědí prostřednictvím objektu RemoteInput , aby uživatelé mohli odpovědět přímo z uživatelského rozhraní oznámení.
Například následující kód sestaví RemoteInput pro příjem textového zadání, vytvoří nevyřízený záměr pro akci odpovědět 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);
Ukázková aplikace služby zasílání zpráv obsahuje kód jazyka C#, který ukazuje, jak lze pomocí objektu zvětšit oznámení . Další informace o tom, jak přidat vložené akce odpovědí do vaší aplikace pro Android 7,0 nebo novější, najdete v tématu věnovaném zasílání odpovědí Androidu na oznámení .
Zabalené oznámení
Android nougat může seskupovat zprávy s oznámením (například podle tématu zprávy) a zobrazit skupinu, nikoli každou samostatnou zprávu. Tato funkce skupinových oznámení umožňuje uživatelům zavřít nebo archivovat skupinu oznámení v rámci jedné akce. Uživatel může přejít dolů a rozšířit sadu oznámení, aby si zobrazili podrobnosti o jednotlivých oznámeních:
Aby bylo možné podporovat podporovaná oznámení, vaše aplikace může použít metodu Builder. SetGroup k vytvoření balíčku podobných oznámení. Další informace o skupinových oznámeních v Androidu N najdete v tématu o oznámeních sady Android.
Vlastní zobrazení
Android nougat umožňuje vytvářet vlastní zobrazení oznámení pomocí hlaviček systémových oznámení, akcí a rozšiřitelných rozložení. Další informace o vlastních zobrazeních oznámení v Androidu nougat najdete v tématu vylepšení oznámení Androidu.
Datový šetřič
Počínaje Androidem nougat můžou uživatelé povolit nové nastavení šetřiče dat , které blokuje použití dat na pozadí. Toto nastavení také signalizuje aplikaci, aby v popředí používala méně dat, kdykoli je to možné. ConnectivityManager se rozšířila v Androidu nougat, takže vaše aplikace může zkontrolovat, jestli má uživatel povolený datový šetřič, aby mohla aplikace vysílat omezení využití dat, když je povolený datový šetřič.
Další informace o funkci nového datového spořiče v Androidu nougat najdete v tématu věnovaném použití rozhraní Android optimalizace síťových dat .
Zástupci aplikací
Android 7,1 zavedl funkci zástupců aplikací , která umožňuje uživatelům rychle spustit běžné nebo Doporučené úkoly s vaší aplikací. Pokud chcete aktivovat nabídku klávesových zkratek, uživatel dlouhou dobu stiskne ikonu aplikace, aby se zobrazila druhá nebo víc – nabídka se zobrazí s rychlými otřesy. Uvolnění stisknutí nabídky způsobí, že nabídka zůstane:
Tato funkce je k dispozici pouze pro úroveň rozhraní API 25 nebo vyšší. Další informace o nových funkcích zástupců aplikací v Androidu 7,1 najdete v tématu klávesové zkratky pro Android.
Příklad kódu
K dispozici je několik ukázek Xamarin. Android, které vám ukážou, jak využít výhod funkcí nougat pro Android:
MultiWindowPlayground ukazuje použití rozhraní Multi-Window API dostupného v Androidu nougat. Ukázkovou aplikaci můžete přepnout do režimu Multi-Windows, abyste viděli, jak ovlivní životní cyklus a chování aplikace.
Služba zasílání zpráv je jednoduchá služba, která odesílá oznámení pomocí nástroje . Také rozšiřuje oznámení s
RemoteInputobjektem, aby zařízení se systémem Android nougat mohla odpovídat textu přímo z oznámení, aniž by museli otevřít aplikaci.Aktivní oznámení ukazují, jak používat rozhraní API k informování o tom, kolik oznámení aktuálně zobrazuje vaše aplikace.
Přístup k adresáři s vymezeným oborem Ukazuje, jak používat vymezené rozhraní API pro přístup k adresářům pro snadný přístup ke konkrétním adresářům. To slouží jako alternativa k definování
READ_EXTERNAL_STORAGEneboWRITE_EXTERNAL_STORAGEoprávnění v manifestu.Přímé spuštění Ukazuje, jak ukládat data do úložiště zašifrovaného v zařízení, které je vždycky dostupné, když se zařízení spouští před i po všech uživatelských přihlašovacích údajích (PIN/vzor/heslo).
Souhrn
Tento článek představil Android nougat a vysvětluje, jak nainstalovat a nakonfigurovat nejnovější nástroje a balíčky pro vývoj na platformě Xamarin. Android na 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ůžou začít vytvářet aplikace pro Android nougat.








