WinMagazin

Sorozatindító cikkünkben megismerkedtünk a Windows Phone emulátorral és telepítettük a fejlesztéshez szükséges szoftvereket. Mostani cikkünkben elkezdjük megírni életünk első egyszerű kis programját, és ha szerencsénk van, a cikk végére lesz valami, amit meg lehet mutatni anyunak, apunak, a haveroknak, a barátnőnek, a kutyának és persze megoszthatjuk Facebook-on meg Twitteren is.

A nagy kérdés az, hogy hogyan is álljunk neki. Én úgy szoktam, hogy rákattintok a Visual Studio 2012 lila ikonjára, aztán majd csak lesz valami! :) Tegyük hát mi is ezt, indítsuk el a Studio-t, és gyönyörködjünk a File menüpont New > Project listájában, végezetül kattintsunk a Templates / Visual C# / Windows Phone / Windows Phone App projekttípusra, s nevezzük át valahogy a Solution-t, én a WpDemo nevet adtam neki.

 

 Ezután feltesz nekünk egy kérdést, hogy milyen Winows Phone operációs rendszert szeretnénk választani, erre hagyjuk az alapértelmezett 8.0-s típuson.

 

Ekkor megnyílik előttünk a programunk fő oldalának előnézeti képe, melyet a MainPage.xaml tartalmaz.

Ezzel meg is volnánk. Kész van életünk első Windows Phone alkalmazása. Nem volt túl bonyolult, ám de nem is valami hasznos. Ettől függetlenül megpróbálhatjuk lefuttatni az F5 gombbal. Ennek hatására megnyílik az emulátor, és elindul benne az alkalmazásunk. Semmi mást nem csinál, mint kirajzolja a Stuidóban látható előnézeti képet.

Íme ezt fogjuk látni - nem meglepő módon - az emulátorban:

Most hogy láttuk, milyen egyszerű új alkalmazást sablonból létrehozni és fordítani-futtatni, kezdjünk el csinálni valami értelmesebbet.

Először is észrevehetjük, hogy az emulátor jobb szélén van pár piros és fehér szám. Ezek a futó program teljesítményét mutatják, minden számnak meg van a maga jelentése. Ezeket most nem részletezném, mert MSDN-ben megtalálható meg neten is keringenek róla cikkek, google tele van találatokkal. Ami minket most érdekel, hogy ezt hogyan lehet eltűntetni.

Nos, mivel Debug módban fordítottuk a programot, az alábbi kódsor érvényessé vált az App.cs fájlban:

 

Ha viszont Release módban fordítunk, ez a számsor már alapból nem lesz ott. Természetesen könnyedén kiiktathatjuk Debug módból is, ha a fenti kódsort kikommentezzük (gyorsbillentyű: CTRL+K majd CTRL+C) vagy pedig true helyett false értékre átírjuk. Én speciel nem szeretek Release módban tesztelni, ezért inkább Debug módban tiltom le ezt a kis sávot, szerintem hosszú távon értelmetlen és zavaró.

Tovább elemezve az App.xaml.cs fájl megtaláljuk az alkalmazásunk életciklusának eseményeit. Ezek "Application_" nevű események, és a neveiknek megfelelően akkor következnek be, amikor valami érdekes történik a telefonon, név szerint:

Application_Launching: az alkalmazás hideg elindulásakor következik be

Application_Activated: akkor következik be, amikor az alkalmazás aktívvá válik, tehát látszik a képernyőn és fut. Első induláskor is bekövetkezik, és akkor is, ha pl a háttérből őrá váltunk.

Application_Deactivated: az előző ellentéte, deakitváláskor következik be

Application_Closing: Amikor az alkalmazásunk bezárul

Az alábbi ábrán láthatjuk a teljes életciklust:

A rózsaszín téglalapokban bekövetkező eseményeket az imént láttuk, a zöld karikák az alkalmazás állapotai, a kékek pedig egy adott lapon következnek be. Az OnNavigatedTo metódusok akkor következnek be, amikor az adott oldalra navigálunk, az OnNavigatedFrom pedig akkor, amikor elnavigálunk az adott oldalról.

Egy rövid kis példán keresztül nézzük meg, hogyan működik ez a valóságban.

A WpDemo alkalmazásunk-ban az App.xaml.cs-ben a következő módosításokat végezzük el:

Majd futtassuk az alkalmazást F5-tel!

Rögtön egy Exception-be botlunk, amit tanulmányozgatva láthatjuk, hogy nem hívhatjuk meg a Show metódust az előtt, hogy valamilyen oldal betöltődött volna! Sem a Launching, sem az Activated törzsben erre nincs lehetőségünk. Ezért ennél a két metódusnál töröljük ki a Messagebox kódokat, majd futtassuk az alkalmazást újra. Így megismerkedtünk a Debuggerrel is és a platform egyik limitációjával is :)

Deaktiváláskor nem kaptunk hibát, viszont nem is láttuk a hibaüzenetet. Miért van ez így? A kérdésre elég egyszerű a válasz: a deaktivált alkalmazás nem mutat üzeneteket. Gyakorlatilag a kódunk semmit nem csinált, bár nem ezt vártuk tőle. Kezdésnek jó.

De akkor vajon mégis mi a fenére jók ezek a metódusok, ha nem lehet velük hatni a UI-ra? A válasz egyszerű: itt tudjuk a háttérben menteni az adatainkat, lezárni a kapcsolatokat, stb. Ez a fájl nem UI specifikus kódok helye, ezért ide ilyeneket soha ne pakoljunk!

Viszont máshova meg pakolhautnk, és most ezt fogjuk megnézni, hogy hogyan is kell. Demo alkalmazásunk végtelenül egyszerű lesz, összeadunk vele két számot.

Bal oldalról  az eszköztárból húzzunk két TextBoxot a MainPage.xaml közepére, ezek lesznek az operandusok, és egy gombot, ami majd kiszámolja a két szám összegét. Valamint még módosítsuk a címkéket is. A TextBox-ok nevei legyenek Operand1TextBox és Operand2TextBox. A sorrend most mindegy.

Valami ilyesmit próbáljunk meg kialakítani:

Ha ezzel megvagyunk, kattintsunk duplán a gombunkra, ennek hatására megnyílik a mögöttes kódot tartalmazó fájl, melybe a következőt írjuk be:

Itt már működni fog a Show metódus is hiba nélkül, tehát a Debugger igazat mondott, kell élő oldal a működéséhez.

Az int aliast viselő osztály Parse metódusa számmá alakítja a szöveget, ezért ha véletlenül nem számokat írtunk be a textboxokba futtatáskor, akkor bizony jól a pofánkba csapódott egy exception. Hogyan lehetne ezt szépen megoldani?

Nos, két út van, az egyik, hogy Parse helyett TryParse-ot használunk, azonban mi most inkább kihasználjuk a telefon SIP-jének konfigurálhatóságát. Menjünk vissza a MainPage.xaml-höz, és módosítsuk a TextBox-okat a következőképpen:

 A TextBoxok tulajdonságlapján az InputScope alatt válasszuk a Number-t.

Ha ezután futtatjuk az alkalmazásunkat, már az új SIP fog feljönni amikor megérintjük a szövegdobozokat. 

Ezzel meg is volnánk, elkészült életünk első Windows Phone kalkulátora. A folytatásban beállítjuk majd az alkalmazásunk ikonjait, megnézzük milyen alap beállításokat érdemes eszközölni a projekten és elkezdünk kulturált módon programozni.

Lájkold ha tetszett! ;-)

Képek:

   
   

 

Jaskó László

A bejegyzés trackback címe:

https://winmagazin.blog.hu/api/trackback/id/tr44936486

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.

Ti írtátok

Címkék

1020 (18) 1520 (12) 920 (40) akció (12) alkalmazás (200) android (12) apple (16) áruház (16) ativ (13) beharangozó (88) bemutató (47) bing (12) fejlesztés (33) felmérés (17) frissítés (32) google (17) határmesgyék (12) hírek (20) homebrew (14) htc (22) ismertető (16) játék (36) képgaléria (18) készülék (146) kiállítás (11) kiegészítő (11) lányok az ablakban (18) lumia (149) microsoft (302) microsoft news (44) napiapp (14) neowin (17) nokia (198) office (22) paul thurrott (30) pletyka (50) reklám (31) sajtóközlemény (56) samsung (36) skydrive (14) skype (10) store (14) surface (33) szavazás (13) szivárogtatás (14) tablet (52) telefon (93) teszt (51) the verge (47) tippek és trükkök (11) update (18) vélemény (25) videó (126) windows (116) windows 8 (146) windows 8.1 (43) windows phone (402) windows phone 8 (19) wmpoweruser (110) wp7 (69) wp7.8 (65) wp8 (319) wp8.1 (63) wpcentral (127) xbox (47) xbox live (17) xbox one (21) zdnet (17) Címkefelhő

Twitter

NapiApp

Nincs megjeleníthető elem

süti beállítások módosítása