Meeskond "WPX"

From ICO wiki
Jump to navigationJump to search

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.