Meeskond "WPX"
From ICO wiki
Liikmed
- Heiki Tamm
- Alfi Kannus
- Mailis Toompuu
Projekt:Tunniplaani Rakendus
Eesmärgid.
- Luua tunniplaani rakendus, mis vastavalt isikule kuvaks tema isiklikku tunniplaani.
- Tunniplaani rakendust peaks olema võimalik ka kasutada teistes koolides, mis kasutavad Õisi süsteeme. (nt. TTK)
- Windows Phone 7, Android, iPhone
Probleemid.
- Tudengid soovivad oma uute nutitelefonidega tunniplaani vaadata telefonist. Kuidas seda teha?
- Mis formaadis saame tunniplaani Õisist?
- Kuidas andmeid lugeda jsoni formaadist?
- Kuidas andmeid lugeda iCali formaadist?
- Kumba on targem kasutada?
- Kuidas andmed kätte saada vastavalt formaadile?
- Kuidas andmed viisakalt formeerida ning kuvada?
- Kuidas andmed sorteerida päevadeks ning neid eraldi kuvada?
- Kuidas kõik tööle panna Windows Phone 7 peal?
- Kuidas tööle saada iPhonel ja Androidil
Tegevustik.
1. Päev - Esmaspäev 28.03.11
- Saime terve tunniplaani feedi json formaadis ning tegeleme selle töötlemisega.
https://itcollege.ois.ee/schedule?format=json
- Saime idee võtta json-i asemel ical fail ja sellele parser teha
https://itcollege.ois.ee/schedule/ical?format=ical
- Lugesime usinalt XNA ja C# raamatuid.
2. Päev- Teisipäev 29.03.11
- Andmete töötlemine iCali failist.
- Kuidas optimaalselt C# iCalist andmeid kätte saada.
- iCali struktuur
- 4. element on alguskuupäev ja kellaaeg
- 5. element on lõpukuupäev ja kellaaeg
- 6. element on õppeaine nimetus
- 7. on selgitus
- 8. on ruumi nimi
- Parser trükkis välja kogu andmevoost algusekuupäeva ja kellaaja, lõpukuupäeva ja kellaaja, õppeaine, selgituse ja ruuminime.
3. Päev- Kolmapäev 30.03.11
- Saime parseri normaalselt näitama kuupäeva ja kellaaega, alguses näitas ameerikalikult ning kõike lihtsalt numbrijadana.
public DateTime TeisendaKuupaev(string strKuuPaev) { var dtfi = new DateTimeFormatInfo(); dtfi.FullDateTimePattern = "yyyyMMddTHHmm"; return DateTime.ParseExact(strKuuPaev.Substring(0, strKuuPaev.Length - 3), "yyyyMMddTHHmm", dtfi); }
- Olime hädas Windows Phone 7 Simulaatoriga, kuid saime lõpuks peale pikka pusimist hakkama.
4. Päev- Neljapäev 31.03.11
- Parser sorteerib ja formeerib kõik andmed itcollege tunniplaanist ning tunneb täpitähti.
- Kuna iCali tunniplaani faili alguses olev esimene kuupäev on 17 märts 2010 siis, kuidas saada koodijupp kuvama päevi alates tänasest, mitte faili algusest.
- Kuidas saada nädalapäevi eraldi lehtedena ning, et Windows Phone kuvaks ning "tunneks" nädalapäevi, ning kuvaks neid eraldi lehtedel päistena.
Esialgne versioon nädalapäevade tundmiseks string nadalapaev = ""; var npaev = (int) dateValue.DayOfWeek; switch (npaev) { case 1: nadalapaev = "Esmaspäev"; break; case 2: nadalapaev = "Teisipäev"; break; case 3: nadalapaev = "Kolmapäev"; break; case 4: nadalapaev = "Neljapäev"; break; case 5: nadalapaev = "Reede"; break; case 6: nadalapaev = "Laupäev"; break; case 7: nadalapaev = "Pühapäev"; break; default: nadalapaev = "nädalapäev määramata"; break; }
5. Päev Reede 01.04.11
- Esialgne versioon rakendusest on valmis Windows Phone 7-me jaoks. Täpselt natukene ennem tähtaega 09.56.
- Väga algus staadiumis on ka iPhone veebirakendus, mis kuvab ennast juba iPhonel täisekraanil ning näib kui päris iPhones asuv rakendus, kuid tunniplaani veel ei kuva.
Materjalid, mis abistasid/abistavad.
- "Programming Microsoft ASP.NET 3.5" - Dino Esposito - 2008
- "Microsoft XNA Framework Edition: Programming Windows Phone 7" - Charles Petzold - 2010
- "Micosoft Visual C# 2008" - John Sharp - 2008
- TÄNAME ka väga HEIKI TÄHIST!
Mida õppisime?
- iCali parsimine.
- Meeskonnatöö ei ole lihtne. Meeskonnas peab olema kindlasti liider.
- Vastavate programmeerimis keelte API-d tuleks eelnevalt läbi lugeda, mitte töö protsessi ajal.
- Eelnevalt võiks olla paigas kindel projekti visioon ja tegevuskava.
- Täiesti tundmatu uue asjaga tegelema hakkamine on alguses väga tööd ja aega nõudev.
- Intensiivõppe nädala mõttes, pole projekt enam õppimise kohaks.
- Targemaks saime C# keeles
- Kuidas Windows Phone 7 rakendust täpselt luua.
- Windows Phone 7 veebilehtiseja arvates oli Õisi wildcard sertifikaat ebausaldusväärne. Selletõttu ei saanud otse iCali laadida.
Muud huvitavat.
- Sharpkit, mis on C# konverteerimiseks Javaskripti (Visual Studiole sobituv), ei töötanud.
- Script#, mis on samuti C# konverteerimiseks Javaskripti (Visual Studioga sobituv), ei töötanud.
- iTunesis on olemas iTunes U, mis on iTunesi ülikool (nii öelda), sealt on võimalik tõmmata terve kursus Standfordi Universityst, mis räägib kuidas iPhonele rakendust ehitada.