Přejít k navigační liště

Zdroják » Různé » Dlaždice a oznámení aplikací pro Windows Store v HTML5

Dlaždice a oznámení aplikací pro Windows Store v HTML5

Články Různé

V dnešním díle se budeme věnovat dlaždicím a oznámením. Dlaždice jsou unikátní funkčnost Windows 8. Kromě základní funkce, spouštění Windows Store aplikací, slouží také k zobrazování informací. Např. aplikace Počasí zobrazuje aktuální situaci přímo na dlaždici. Tyto dlaždice se označují jako živé.

Oznámení slouží k okamžitému informování uživatele, např. na nový e-mail. Oznámení se zobrazují vždy navrchu i v případě, že uživatel pracuje v desktopovém prostředí.

Obě funkce, živé dlaždice a oznámení, může uživatel vypnout.

Dlaždice

Dlaždice

Dlaždice vám poskytuje dvě vrstvy, na které můžete vypisovat informace. Základní vrstva je určena pro komplexní informace a stará se o ni objekt TileUpdateManager. Druhá vrstva, která je řízena objektem BadgeUpdateManager, vám umožňuje do pravého dolního rohu vložit číslo od 1 do 99+ nebo jeden z jedenácti symbolů.

Barvu pozadí dlaždice a textu na dlaždici nastavujete v souboru package.appxmanifest.

Barva dlaždice

Šablony dlaždic a oznámení

Rozvržení obsahu na dlaždici nebo oznámení je řízeno pomocí šablon. Šablony jsou popsány pomocí XML.

Možnosti aktualizace dlaždic

Dlaždici může změnit běžící aplikace tak, že do fronty zařadí vzhledy dlaždic a je možné určit dobu platnosti a kdy se má dlaždice zobrazit (ScheduledTileNotification). Další možnost je vytvořit tzv. periodickou aktualizaci. Obsah dlaždice je generován na serveru a systémová služba TileUpdateManager si v pravidelném intervalu stahuje nový vzhled dlaždice. Na serveru se vlastně generuje xml soubor, který odpovídá vybrané šabloně. Poslední možností je využití Windows Notification Service.

TileUpdateManager

Princip je velmi jednoduchý. Stačí si vybrat šablonu, naplnit ji, vytvořit dlaždici a tu předat systémové službě. V následujícím příkladu si ukážeme využití periodických aktualizací:

var notifications = Windows.UI.Notifications; notifications.TileUpdateManager.createTileUpdaterForApplication().startPeriodicUpdate(
    new Windows.Foundation.Uri("http://stepanb.azurewebsites.net/GetTile.cshtml"),
    notifications.PeriodicUpdateRecurrence.halfHour);

BadgeUpdateManager

Podle toho, jestli chcete zobrazit číslo nebo znak, si musíte vybrat příslušnou šablonu, kterou pak naplníte.

Číslo:

var badgeXml = Notifications.BadgeUpdateManager.getTemplateContent(Notifications.BadgeTemplateType.badgeNumber);
var badgeAttributes = badgeXml.getElementsByTagName("badge");
badgeAttributes[0].setAttribute("value", "7"); 

Symbol:

var badgeXml = Notifications.BadgeUpdateManager.getTemplateContent(Notifications.BadgeTemplateType.badgeGlyph);
var badgeAttributes = badgeXml.getElementsByTagName("badge");
badgeAttributes[0].setAttribute("value", "newMessage");

Takto vytvořený Bage Tile přidáte na dlaždici:

var badgeNotification = new Notifications.BadgeNotification(badgeXml);
Notifications.BadgeUpdateManager.createBadgeUpdaterForApplication().update(badgeNotification);

Oznámení

Princip oznámení je velmi podobný jako u dlaždic. Výjimkou jsou periodické aktualizace, ty nelze použít pro oznámení. Oznámení musíte také povolit v package.appxmanifest.

Oznámení

var notifications = Windows.UI.Notifications;

var template = notifications.ToastTemplateType.toastImageAndText01;
var toastXml = notifications.ToastNotificationManager.getTemplateContent(template);

var toastTextElements = toastXml.getElementsByTagName("text");
toastTextElements[0].appendChild(toastXml.createTextNode("Hello World!"));

var toastImageElements = toastXml.getElementsByTagName("image");
toastImageElements[0].setAttribute("src", "ms-appx:///images/logo.png");
toastImageElements[0].setAttribute("alt", "red graphic");

var toast = new notifications.ToastNotification(toastXml);

var toastNotifier = notifications.ToastNotificationManager.createToastNotifier();
toastNotifier.show(toast);

 Přiložené zdrojové kódy ukázek

Komentáře

Subscribe
Upozornit na
guest
0 Komentářů
Inline Feedbacks
View all comments

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.

Pocta C64

Za prvopočátek své programátorské kariéry vděčím počítači Commodore 64. Tehdy jsem genialitu návrhu nemohl docenit. Dnes dokážu lehce nahlédnout pod pokličku. Chtěl bych se o to s vámi podělit a vzdát mu hold.