Addig jár a hallgató az egyetemre amíg ki nem rúgják… vagy nem készít diploma munkát amit utána sikeresen meg is véd. Nekem is készítenem kell, és ez leköti szinte minden időmet, azonban hogy ti is tanulhassatok belőle, megosztom az okosságokat amiket szerzek.
Téma kiírás
Minden diploma munka úgy kezdődik, hogy keresni kell egy témát. Én nem meglepő módon valamilyen webes rendszert szerettem volna készíteni, például ami segíti a bevétel – kiadás nyomon követését és statisztikai adatok, illetve különféle elemzések alapján spórolási tanácsokat ad. Úgy gondoltam később akár még ki is nőheti magát valami komoly projektté.
Aztán megláttam a következő téma kiírást:
Pulzus, gyorsulás és gps adatokat megjelenítő mobil- és internetes felület tervezése és megvalósítása
Cél egy olyan okostelefonon futtatható szoftver elkészítése, amely rögzíti a felhasználó pulzusát (külön eszköz segítségével, vagy korábban rögzített adatbázisból/fájlból kinyerve a jelet, amennyiben hardver nem áll rendelkezésre), mozgását (telefon gyorsulásmérőjén és gps-én keresztül). A telefonos felület tegye lehetővé az adatok megjelenítését, azok megosztását saját internetes portálon, amely nyújtson statisztikai szolgáltatásoka:
- felhasználó szívfrekvenciájának alakulása adott táv lefutása esetén,
- teljesítmény összehasonlítása más felhasználókkal
Opcionálisan facebook plugin is készíthető az adatok megjelenítésére. A hangsúly az adatok megjelenítésén, a statisztikai funkciókon, a felhasználói felület kidolgozottságán van.
A szoftver kifejlesztéséhez tetszőleges nyílt forráskódú technológia használható. Az okostelefon típusa nincs korlátozva, a témához a tanszék nem bocsájt rendelkezésre hardvert, okostelefon emulátor használható.
Miért ez?
Sokkal jobban motivál olyan dolog készítése, ami valamilyen új tudás és technika elsajátítását követeli meg, mert ha nem is lesz később semmi jövedelmező a munkából, akkor is tudom, hogy megérte. Nekem egy diploma az ég világon semmit nem jelent, ismerek rengeteg embert akinek van 2-3, és semmiben nem mutatkozik meg hogy ők egyetemet végeztek, legkevésbé a munkájukban nem. Látom mi megy itt, a ZH-kon átcsúsznak az emberek, a vizsga 20-szorra meg lesz, a maradék az magolás, de igazi szakmai tudás és érdeklődés nagyon kevés van.
Aki tényleg tanulni akar valami hasznosat az egyetemen, az válassza a legnehezebb és számára legérdekesebb témát. Amihez én értek ebből a témából: a weboldal ahol a statisztikák összehasonlításra kerülnek, illetve az opcionális facebook plugin készítéséről is van valami elképzelésem. A mobil programozásról halvány fogalmam nincs.
Mivel ezt választottam, kénytelen leszek megcsinálni, úgyhogy van ami ösztönöz, azon kívül hogy maga a téma érdekes is. Ennek a diplomának az elkészítését fogom végig kísérni néhány cikkben. Nem tudom mennyire lesz részletes, mik azok a dolgok amiket majd megosztok, de igyekszem az érdekes és tanulságos részeket kiemelni.
Merre induljak el?
A mobil oprendszer amire készítem a programot, az Android lesz. Nyílt forráskódú, van hozzá sok ingyenes program, példa és forráskód amiből lehet puskázni. Mivel nem rendelkezek még Androidos telefonnal, ezért egy emulátort fogok használni: innen tölthető le.

A fejlesztés Java nyelven történik, amit kb 14 órában tanultam eddig összesen, úgyhogy vannak hiányosságaim, de ez a projekt éppen megfelelő arra, hogy (a hangya holdra szálljon) pótoljam a hiányosságaimat.
Miután felcuppantottam a gépre az emulátort, hevesen nekiesek és elkezdem próbálgatni, azonban kisebb – nagyobb gondokba ütközök.
Sebesség
Először is eszméletlen lassan fut a gépemen, ami nem feltétlenül az emulátor hibája, de ha meg van nyitva a NetBeans, akkor azzal együtt kicsit megizzasztják a vasat.
Android emulátor, és a proxy
Másodszor alapjáraton nincs internet kapcsolat a virtuális telefonon, úgyhogy annak is utána kell járni. A kollégiumban proxy van, tehát azt kell valahogy belőni, amit meg is találok néhány perc google után. Elindítjuk az emulátrort parancssorból majd mögé fűzzük a proxy paramétert:
d:diplomaandroid-sdk-windowstools.exe @
GPS
Mivle egyik követelmény a gps adatok kinyerése, ezért ennek is utána néztem, mókásabb mint gondoltam. Ahhoz, hogy gps jeleket tudjon fogni az emulátor, telnettel kapcsolódnunk kell hozzá és pumpálni neki a koordinátákat. Ha rövid időn belül nem kerekedek felül a sváb véremen, és nem veszek egy androidos telefont, akkor kénytelen leszek írni egy programot ami előre eltárolt koordinátákat küld át hálózaton. Szerencsére nem olyna nehéz ezt Javaban elkészíteni, csak ugye nem biztos hogy életszerü.
Tervek
El kell gondolkodnom azon, milyen komponensekből épül fel a rendszer, csinálni sok-sok dokumentációt, esettanulmányt, és egy csomó olyan dolgot amit később vagy nem csinálok soha többet, vagy felveszek valakit aki ezt fogja csinálni. Persze mindennek megvan a maga jelentősége, úgyhogy nem veszem félvállról.
Míg más a tervezéssel kezdene, én inkább belevetem magam a programozásba, megnézem mit hogyan lehet megvalósítani, tesztprogikat írok a GPS-hez a gyorsulásmérőhöz, a mikrofonhoz, megpróbálok kapcsolódni a külső adatbázishoz, kitapasztalom hogyan lehet kezelni a menüket és a képernyőket.
Majd ha ezzel megvagyok, és van képem arról hogyan működik ez az egész, akkor megírom a szükséges dokumentumokat, és a meglévő kódokat összegyúrom.
Összegzés
Az eleje nagyon nyögvenyelős lesz, mert mellette másra is kell tanulnom, de ha egyszer beindul, megosztom a megírt kódokat és a különféle ábrákat, dokumentumokat, valakinek biztosan jól jön majd.
