Microsoft právě oznámil vydání prvního preview emulátoru Surface Duo a SDK. Podívejme se na to, jak je zprovoznit, abychom mohli začít vyvíjet naše první dual-screen Xamarin.Android aplikace! Z hlavní stránky Docs pro vývoj dual-screen aplikací klikneme na odkaz Get the Surface Duo SDK Preview:
Tím se dostaneme do Download Center s velkým červeným tlačítkem Download, na které klikneme, aby se začal hutný download (cca 800 MB).
Instalace
Ujistěte se, že máte nainstalované Visual Studio s Xamarin workloadem (je podporován i nativní vývoj v Android Studiu, viz. Docs). Ujistěte se, že máte aktuální stabilní verzi Android SDK a především Android Emulátoru. Můžete to udělat přes Android SDK Manager ve Visual Studiu.
Extrahujeme stažený soubor .zip
a otevřeme .exe
instalátor. Instalace chvíli potrvá, takže se pohodlně usaďte a odpočiňte si.
Spuštění emulátoru
Po dokončení instalace najdeme emulátor mezi nainstalovanými aplikacemi. Stiskneme klávesu Windows a začneme psát Surface Duo Emulator. Spouštěcí aplikace by se měla objevit mezi prvními výsledky. Po otevření se objeví okno konzole a emulátor se začne konfigurovat pro první spuštění.
Pokud narazíte na problémy, otevřte přímo spouštěcí .bat
soubor z příkazové řádky (najdete jej ve složce C:\Users\USERNAME\SurfaceDuoEmulator\artifacts\run.bat
) a hledejte ve výpisu chybové hlášky. V mém případě nefungovaly správně služby Hyper-V/Windows Hypervisor Platform a musel jsem je ručně vypnout (přes ovladací panel Turn Windows Features On/Off), restartovat počítač a znovu je zapnout.
Použití emulátoru z Visual Studia
Emulátor je samozřejmě ještě zajímavější, kdy na něm běží naše aplikace! Nejprve mi nebylo jasné, proč emulátor ve Visual Studiu není viditelný, ale pak jsem zjistil, že instrukce pro Xamarin vývojáře jsou úplně dole na stránce Use the Surface Duo emulator. Zavřeme emulátor a přejdeme do složky C:\Users\USERNAME\SurfaceDuoEmulator\artifacts\
. Vytvoříme záložní kopii souboru run.bat
. Pak otevřeme run.bat
v našem oblíbeném textovém editoru a nahradíme jeho obsah:
Jak skript zmiňuje, je třeba se ujistit, že proměnná ANDROID_SDK_LOCATION
ukazuje správně na místo, kde je nainstalované Visual Studio Android SDK. Můžeme nyní spustit Visual Studio a poté emulátor. Po vybrání Xamarin.Android projektu jako výchozího by se měl Surface Duo Emulátor zobrazit mezi běžícími zařízeními.
V mém případě bylo nutné emulátor znovu restartovat aby se zobrazil. Také pozor, že jeho název je <build> (Android 10.0 - API 29). To je známý bug, který bude v příštím release opraven. A zde již je Uno Platform Hello World aplikace běžící na Surface Duo!
Instalace Surface Duo SDK
Druhým dílkem Surface Duo skládanky je SDK, které nám umožní přístup k unikátním vlastnostem dual-screen zařízení. Xamarin.Android vývojáři mohou stáhnout Xamarin.DuoSdk již nyní na NuGetu.
S SDK získáme API jako Microsoft.Device.Display.DisplayMask
a Microsoft.Device.Display.HingeSensor
a další pomocné třídy jako ScreenHelper
. Ty nám pomohou rychle získat přístup k hardware Surface Duo. O SDK napíšu další článek již brzy.
Začtěte se do dokumentace
Na stránce o vývoji pro dual-screen zařízení najdete mnoho zajímavých informací. Doporučuji si především přečíst článek Introduction to dual-screen devices, který ukazuje, jak nad tímto unikátním typem zařízení Microsoft přemýšlí. Všechny tyto informace platí i pro Surface Neo.