Vývoj pre Windows 8: Oznámenia

Ten­to se­riál sme v sna­he o maximál­nu ak­tuál­nosť úmy­sel­ne na­ča­so­va­li do eta­py tes­to­va­nia Pre­view ver­zií Win­dows 8, tak­že niek­to­ré ve­ci sa dy­na­mic­ky vy­ví­ja­jú. Naj­výz­nam­nej­šia no­vin­ka za pos­led­né dva me­sia­ce je dos­tup­nosť ver­zie RTM (Rea­dy To Ma­nu­fac­tu­re) vý­vo­jo­vé­ho pros­tre­dia Vi­sual Stu­dio 2012. Mic­ro­soft ta­kis­to ozná­mil, že po­jem Met­ro pou­ží­val ako kó­do­vé ozna­če­nie pre no­vý typ ap­li­ká­cií pre Win­dows 8  a Win­dows Pho­ne len v eta­pe vý­vo­ja. Táto zme­na pos­tih­la aj Vi­sual Stu­dio a pri vy­tvá­ra­ní pro­jek­tov ap­li­ká­cií pre Win­dows 8 sa pou­ží­va sku­pi­na šab­lón Win­dows Sto­re.

studio1.jpg
Typ

Ko­mu­ni­ká­cia ap­li­ká­cie pros­tred­níc­tvom ozná­me­ní

V pred­chá­dza­jú­cej čas­ti sme preb­ra­li zob­ra­zo­va­cie mož­nos­ti ak­tív­nych dlaž­díc. Zob­ra­ze­né ak­tua­li­ty na tých­to dlaž­di­ciach však pou­ží­va­teľ uvi­dí iba vte­dy, ak sa prep­ne na do­má­cu ob­ra­zov­ku Štart. Ak prá­ve pra­cu­je s niek­to­rou ap­li­ká­ciou a tá­to, prí­pad­ne iná ap­li­ká­cia pot­re­bu­je s pou­ží­va­te­ľom ope­ra­tív­ne ko­mu­ni­ko­vať, má na ten­to účel k dis­po­zí­cii tak­zva­né ozná­me­nia. Ich fun­go­va­nie ove­ľa lep­šie vy­sti­hu­je po­me­no­va­nie v an­glič­ti­ne - „toast“ no­ti­fi­ca­tion. Ok­no so sprá­vou sku­toč­ne „vy­sko­čí“ na pra­cov­nej plo­che po­dob­ne ako hrian­ka z hrian­ko­va­ča.

Ozná­me­nia zob­ra­zu­jú, čo je no­vé v da­nom oka­mi­hu. Ma­li by sa vy­uží­vať na zob­ra­ze­nie správ, kto­ré sú za­ují­ma­vé aj mi­mo kon­textu ap­li­ká­cie, aby ap­li­ká­cia zís­ka­la okam­ži­tú po­zor­nosť pou­ží­va­te­ľa. Ty­pic­ké je pou­ži­tie v prí­pa­de, ak prí­de mai­lo­vá sprá­va, nas­ta­ne čas uda­los­ti, kto­rú má­te nas­ta­ve­nú v svo­jom ka­len­dá­ri, a po­dob­ne. Ozná­me­nia sú úpl­ne pod kon­tro­lou pou­ží­va­te­ľa, ten sám roz­hod­ne, z kto­rých ap­li­ká­cií si že­lá dos­tá­vať ozná­me­nia, a pl­ne kon­tro­lu­je ich zob­ra­zo­va­nie. Mô­že ich aj úpl­ne vy­pnúť.

Prík­lad vy­tvo­re­nia ozná­me­nia

V prík­la­de uká­že­me rôz­ne mož­nos­ti ozná­me­ní, poč­núc jed­no­du­chou texto­vou sprá­vou cez ozná­me­nie, kto­ré ob­sa­hu­je kom­bi­ná­ciu textu a ob­ráz­ka, až po mož­nosť na­ča­so­va­nia ozná­me­nia. Vy­tvor­te pro­jekt práz­dnej ap­li­ká­cie (Blank App) v sku­pi­ne šab­lón Win­dows Sto­re. Pre jed­no­du­chosť bu­de im­pul­zom na zob­ra­ze­nie ozná­me­nia klik­nu­tie na tla­čid­lo, kto­ré bu­de je­di­ným ov­lá­da­cím pr­vkom v na­šom prík­la­de, tak­že do kó­du XAML dopl­ňte:

<Grid Background="{Sta­tic­Re­sour­ce Ap­pli­ca­tion­Pa­ge­Backgroun­dThe­meB­rush}">

        <But­ton x:Na­me="btOz­na­me­nie" Con­tent="Ozná­me­nie" Ho­ri­zon­ta­lA­lig­nment="Left"  

          Mar­gin="250,190,0,0" Ver­ti­ca­lA­lig­nment="Top" Height="90" Width="300"/>

 </Grid>

Do kó­du na ob­slu­hu uda­los­tí pri­daj­te na­mes­pa­ce

using Win­dows.UI.No­ti­fi­ca­tions;

using Win­dows.UI.Po­pups;

A ob­slu­hu uda­los­ti za­tla­če­nia tla­čid­la, kde v pr­vom ra­de tre­ba skon­tro­lo­vať, či pou­ží­va­teľ po­vo­lil ozná­me­nia pre prís­luš­nú ap­li­ká­ciu.

pri­va­te void btOz­na­me­nie_Click(ob­ject sen­der, Rou­te­dE­ven­tArgs e)

{

    var no­ti­fier = Toas­tNo­ti­fi­ca­tion­Ma­na­ger.Crea­te­Toas­tNo­ti­fier();

 

    // Sú ozna­me­nia po­vo­le­né?

    if (no­ti­fier.Set­ting != No­ti­fi­ca­tion­Set­ting.Enab­led)

    {

        var di­alog = new Mes­sa­ge­Dia­log("No­ti­fi­ká­cie nie sú po­vo­le­né");

        di­alog.ShowAsync();

        re­turn;

    }

 

    // vý­ber šab­ló­ny ozná­me­nia

       var toastXml =

       Toas­tNo­ti­fi­ca­tion­Ma­na­ger.Get­Tem­pla­te­Con­tent(Toas­tTem­pla­te­Ty­pe.Toas­tText01);

       var ele­ments = toastXml.Ge­tE­le­men­tsBy­Tag­Na­me("text");

       ele­ments[0].Ap­pendChild(toastXml.Crea­te­TextNo­de("Text ozna­me­nia"));

    // zob­ra­ze­nie ozna­me­nia  

       var toast = new Toas­tNo­ti­fi­ca­tion(toastXml);

       no­ti­fier.Show(toast);

 

}

Všim­ni­te si, že št­ýl ozná­me­nia sa de­fi­nu­je vý­be­rom z pred­de­fi­no­va­ných ty­pov a text je vo for­má­te XML, tak­že mô­že byť štruk­tú­ro­va­ný a for­má­to­va­ný.

Ak ap­li­ká­ciu spus­tí­te v tom­to oka­mi­hu, zob­ra­zí sa oznam, že no­ti­fi­ká­cie nie sú po­vo­le­né. Na ich po­vo­le­nie ot­vor­te Pac­ka­ge.appxma­ni­fest a zmeň­te na kar­te Ap­pli­ca­tion UI nas­ta­ve­nie Toast Ca­pab­le na hod­no­tu Yes.

notif1.jpg

notif3.jpg

Pre za­ují­ma­vosť skon­tro­luj­te mož­nosť nas­ta­ve­nia ozná­me­ní v nas­ta­ve­niach ap­li­ká­cie (ho­re) a v nas­ta­ve­niach ope­rač­né­ho sys­té­mu (do­le).


Na zob­ra­ze­nie ob­ráz­ka pri­poj­te ele­ment do­ku­men­tu XML, nap­rík­lad

var ima­ge = toastXml.Crea­teE­le­ment("ima­ge");

ima­ge.Se­tAt­tri­bu­te("id", "1");

ima­ge.Se­tAt­tri­bu­te("src", @"As­sets/Oznam.png");

Čas­to mô­že byť vhod­né nap­lá­no­vať zob­ra­ze­nie ozná­me­nia na ur­či­tý čas, čo umož­ňu­je vy­tvo­riť naj­jed­no­duch­ší pri­po­mien­ko­vač. Na čo sa ta­ký­to sce­nár ho­dí? Nap­rík­lad spus­tí­te ap­li­ká­ciu ty­pu ku­chár­ska kni­ha a v re­cep­te je ná­vod „15 mi­nút va­riť“ a ved­ľa textu je tla­čid­lo na nas­ta­ve­nie pri­po­mien­ko­va­ča. Ak pou­ží­va­teľ ide pod­ľa re­cep­tu krok po kro­ku, dá in­gre­dien­cie do hr­nca, nas­ta­ví pri­po­mien­ko­vač, prep­ne sa na inú ap­li­ká­ciu, a kým sa jed­lo va­rí, pre­ze­rá si sprá­vy. O 15 mi­nút sa mu zob­ra­zí ozná­me­nie, že jed­lo je do­va­re­né. V na­šom prík­la­de dopl­ní­me kód, v kto­rom nap­lá­nu­je­me zob­ra­ze­nie no­ti­fi­ká­cie o pol mi­nú­ty.

var da­te = Da­te­Ti­meOf­fset.Now.Ad­dSe­conds(30);

var stn = new Sche­du­led­Toas­tNo­ti­fi­ca­tion(tem­pla­te, da­te);

no­ti­fier.Ad­dToS­che­du­le(stn);

Zdro­jom správ pre ozná­me­nia mô­že byť buď ap­li­ká­cia, ale­bo exter­ná (clou­do­vá) služ­ba pros­tred­níc­tvom Win­dows Push No­ti­fi­ca­tion Servic­e (WNS).


Zdroj: IW 10/2012



Ohodnoťte článok:
   
 

24 hodín

týždeň

mesiac

Najnovšie články

Spring Fra­mework / 10. časť
V minulej časti sme si predstavili prvé tri typy väzieb medzi entitami - 1:1, 1:N a N:1. Tieto väzby sa vyznačujú aj tým, že je možné ich realizovať aj bez použitia asociatívnej tabuľky. čítať »
 
Prog­ra­mu­je­me GPU / 16. časť
Touto časťou seriálu začneme opisovať algoritmy shaderov, ktoré sme navrhli v predošlom období. Prakticky sa vrátime k obsahu 6. časti seriálu, v ktorej sme vám predstavili súborovú štruktúru prvej verzie vzorovej aplikácie. Tentoraz sa však nebudeme venovať štruktúre, ale obsahu súborov. čítať »
 
Zdie­ľa­nie zdro­jov me­dzi OS Win­dows a OS Li­nux / 5. časť
Tento článok veľmi úzko súvisí s obsahom predošlej časti seriálu. Tentoraz sa však zameriame na vzájomné sprístupnenie zložiek medzi dvoma PC s OS Linux. čítať »
 
Li­nux prak­tic­ky ako server / Do­main Na­me Sys­tem – ty­py DNS server­ov
V predchádzajúcej časti sme vysvetlili podstatu systému DNS, povedali sme si niečo z histórie o potrebe a vzniku DNS. Zmienili sme sa aj o tom, čo sú top level domény a aký je rozdiel medzi logickou a fyzickou štruktúrou. čítať »
 
Preh­ľad bez­plat­ných na­vi­gá­cií pre An­droid a iOS
Z hľadiska pomeru cena/výkon pravdepodobne najlepšia aplikácia z kategórie bezplatných riešení, ale dostupná je iba pre zariadenia s operačným systémom Android. čítať »
 
Kniž­né no­vin­ky
Chcete pochopiť, aké tajomstvo stojí za úspechom spoločnosti Google? Skutočne len niekoľko málo spoločností na svete je obdivované ako Google, ktorý premenil internet a stal sa neoddeliteľnou súčasťou našich životov. čítať »
 
Vi­sual Stu­dio 2012
História tvorby vývojárskych nástrojov siaha až do začiatku histórie Microsoftu, konkrétne do roku 1975, keď bol vytvorený programovací jazyk Basic pre Altair. Odvtedy uplynuli takmer štyri desaťročia a Microsoft približne s dvojročnou periodicitou dodáva vývojárom nové verzie nástrojov. čítať »
 
Vý­voj pre Win­dows 8: Ozná­me­nia
Tento seriál sme v snahe o maximálnu aktuálnosť úmyselne načasovali do etapy testovania Preview verzií Windows 8, takže niektoré veci sa dynamicky vyvíjajú. čítať »
 
 
 
  Zdieľaj cez Facebook Zdieľaj cez Google+ Zdieľaj cez Twitter Zdieľaj cez LinkedIn Správy z RSS Správy na smartfóne Správy cez newsletter