Symbian alapú szoftverfejlesztés

A tantárgy angol neve: Software Development on Symbian Platform

Adatlap utolsó módosítása: 2012. május 30.

Tantárgy lejárati dátuma: 2015. június 30.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar
Mérnök-informatikus szak
Villamosmérnöki szak   
Szabadon választható tantárgy
Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VIAUAV68   2/2/0/v 4  
3. A tantárgyfelelős személy és tanszék Dr. Forstner Bertalan,
4. A tantárgy előadója
 
Név:Beosztás:Tanszék, Int.:
Dr. Forstner Bertalanegyetemi adjunktusAAIT



5. A tantárgy az alábbi témakörök ismeretére épít

C++ programozási nyelv, Operációs rendszerek

6. Előtanulmányi rend
Ajánlott:
-
7. A tantárgy célkitűzése

A tárgy keretében a hallgatók megismerkednek a mobil eszközökre történő szoftverfejlesztés különféle aspektusaival. Főleg olyan problémákkal foglalkozunk, amelyek a mobil eszközök jellegéből fakadnak és megoldásuk erősen függ a operációs rendszer nyújtotta lehetőségektől. Az anyag a Symbian operációs rendszerre épül – C++ nyelven –, ennek ismerete azonban nem követelmény. A tárgy ezen felül J2ME alapismereteket is nyújt. Az órák keretében a hallgatók számára lehetőség nyílik az előadás anyagának gyakorlati alkalmazására valódi mobil eszközök segítségével.

8. A tantárgy részletes tematikája (1. hét)

 

Symbian OS alapjai és történelme. Symbian C++ sajátosságai, kialakulása. Fejlesztési környezet, eszközök bemutatása. Symbain-ra épülő UI+middleware rendszerek (S60, UIQ, Series 80) bemutatása.

 (2. hét)

 

Labor: ismerkedés a fejlesztői eszközökkel. Egyszerű konzolos HelloWorld készítése.

Előadás: Kivétel és memóriakezelése Symbian C++ alatt. A TRAP/Leave rendszer tárgyalása. A CleanupStack használata. Kétfázisú konstrukció, szabályos Symbian C++ osztályok készítése. Symbain C++ osztályok típusai. Deszkriptorok és dinamikus tárolók használata. Deszkriptor típusok és műveletek. Tömb típusok és műveletek

 

(3. hét)

 

Labor: konzolos HelloWorld továbbfejlesztése kivételkezeléssel. Egyszerű osztályok készítése.

Előadás: Aszinkron eseménykezelés Symbian C++ alatt: az ActiveObject keretrendszer. Az ActiveScheduler működése, aktív objektumok használata és készítése. Szálak és processzek kezelése Symbian alatt. ThinTemplate idióma, ThinTemplate osztályok készítése.

(4. hét)

 

Labor: eseményvezérelt alkalmazások írása. ActiveObject írása időzítő elérésére.

Előadás: Grafika és képkezelés. Rajzolás a képernyőre (saját vezérlőelem segítségével). Képek betöltése és kirajzolása. Időzítés és animáció. Kettős bufferelés.

 

 (5. hét)

 

Labor: Pattogó labda alkalmazás elkészítése (bitképek betöltése és kirajzolása, mozgás animáció, különböző képernyőméretek támogatása).

Előadás: Hanglejátszás és –rögzítés. Egyszerű tónuslejátszás. Hangfájlok (MP3, WAV, AMR) lejátszása. Hangrögzítés a telefon mikrofonjával AMR fájlokba,

 

 (6. hét)

 

Labor: Pattogó labda alkalmazás kiegészítése hangeffektusokkal.

Előadás: User Interface programozása. Bevezetés, kontrollok. Avkon listák.

 

 (7. hét)

 

Labor: Apróhirdetés alkalmazás: alapok és lista

Előadás: User Interface programozása. Dialógusok, űrlapok, queryk, notification-ök.

(8. hét)

 

Labor: Apróhirdetés alkalmazás: Űrlap készítése

Előadás: Filekezelés és adatbáziskezelés. Fájlszerver használata, fájl manipuláció, írás/olvasás fájlokba. Stream-ek használata, szerializáció. A Symbian OS beépített relációs adatbázis kezelőjének használata. Adatbázis séma definiálása, táblák manipulálása, SQL lekérdezések indítása.

 (9. hét)

 

Labor: AproHir alkalmazás kiegészítése adatbázis támogatással. A hirdetések adatbázisba mentése. A program indításakor a hirdetések betöltése az adatbázisból.

 

Előadás: Hálózati kommunikáció Symbian C++-ban. Socket architektúra bemutatása, kapcsolat nélküli (datagram) és kapcsolt (stream) socketek tárgyalása. Socket szerver Symbian alatt. Adatcsomagok küldése és fogadása UDP-n keresztül. Kapcsolatok indítása és fogadása TCP-n keresztül. Névfeloldás. Hálózati kapcsolatok (fizikai interfész elérése). Saját IP cím lekérdezése.

(10. hét)

 

Labor: AproHir kiegészítése hálózati kommunikációval. Hirdetések küldése és fogadása TCP socketen keresztül.

Előadás: Bluetooth alapú kommunikáció. A Bluetooth kommunikációs technológia rövid bemutatása.  Bluetooth használatának feltételei Symbian alatt. Eszközök felderítése. Szolgáltatások felderítése. Kapcsolódás socket-en keresztül. Szolgáltatások meghírdetése. Kapcsolatok fogadása.

 (11. hét)

 

Labor: AproHir alkalmazás kiegészítése Bluetooth kommunikációval (hírdetések küldése és fogadása Bluetooh-on keresztül).

Előadás: Az eddigiek összefoglalása, HF Konzultációs alkalom

 (12. hét)

 

Labor: On-device debugging bemutatása (Carbide C++ és App TRK segítségével). Carbide C++ UI Designer bemutatása (egy egyszerű felhasználói felület listával, menüvel, popup note-al összerakása).

 

Előadás: XML feldolgozás: eseményvezérelt (SAX) és fa-alapú (DOM) feldolgozás és ezek használata Symbian C++-ban. HTTP keretrendszer bemutatása, POST és GET kérések indítása, a kérés összeállítása és a válasz feldolgozása. WebService-ek használata Symbian-on: Nokia WSDL to C++ Wizard bemutatása egy példán keresztül (kódgenerálás egy Yahoo webszolgáltatás meghívásához).

 

 (13. hét)

 

Labor: AproHir alkalmazás kiegészítése http kommunikációval és XML feldolgozással.

Előadás: Java ME S60-on: A Java ME platform alapjai. Java ME Symbian OS környezetben: fejlett virtuális gép. Java és Symbian C++ összehasonlítása. A Java ME alapú alkalmazásfejlesztés alapjai és eszközei.

 (14. hét)

 

Labor: Java ME S60-on. A fejlesztőeszközök bemutatása, általános alkalmazás felépítése. UI és kommunikáció megvalósítása Java ME platformon. Összetett fórum alkalmazás megvalósítása.

Előadás: Házi feladat előzetes bemutatás és konzultáció.

 

9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

Előadás

10. Követelmények

a. A szorgalmi időszakban: Házi (otthoni) feladat

b. A vizsgaidőszakban: Írásbeli vizsga

          c. Elővizsga: Van

11. Pótlási lehetőségek

A házi (otthoni) feladatot a szorgalmi időszak végéig be kell adni, annak pótlása a pótlási időszakban lehetséges. A pótlási időszak a kétciklusú képzésben az ún. pótlási hét (a szorgalmi időszak vége és a vizsgaidőszak kezdete közötti hét), az ötéves képzésben a vizsgaidőszak első 3 hete (ld. TVSZ 16. § (2)).

12. Konzultációs lehetőségek

Igény szerint előadóval egyeztetve.

13. Jegyzet, tankönyv, felhasználható irodalom

1. Charaf, Csúcs, Forstner, Marossy: Symbian alapú szoftverfejlesztés. Szak Kiadó, 2004. ISBN: 9639131660

2. Iain et al: Symbian OS Communications Programming (second edition). Symbian Press, 2007. ISBN: 0470844302

3. Digia, Inc (editor): Programming for the Series 60 Platform and Symbian OS. Symbian Press, 2003. ISBN: 0470849487

4. Tanszéki jegyzet

14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
Kontakt óra56
Félévközi készülés órákra0
Felkészülés zárthelyire 
Házi feladat elkészítése16
Kijelölt írásos tananyag elsajátítása
Vizsgafelkészülés48
Összesen120
15. A tantárgy tematikáját kidolgozta
Név:Beosztás:Tanszék, Int.:
 Dr. Forstner Bertalan egytemi adjunktus AAIT
Ekler PéterdoktoranduszAAIT
Kelényi ImredoktoranduszAAIT
Bakos Balázs NOKIA
Fodor Szabolcs NOKIA
Egyéb megjegyzések Megjegyzés. A tantárgy a korábbi, megszűnő „Szoftverfejlesztés mobil eszközökre” c. 5 kredites tantárgy átdolgozott, szűkített változata.