Hangoskönyv lejátszó alkalmazás Windows 8 platformon

OData támogatás
Konzulens:
Dr. Kővári Bence András
Automatizálási és Alkalmazott Informatikai Tanszék

Napjainkban a táblagépek egyre nagyobb teret hódítanak mind a felhasználók, mind a fejlesztők körében. Ezt a Microsoft is felismerte, ezért legújabb operációs rendszerét – a Windows 8-at – egy újfajta alkalmazás architektúrával (Windows Runtime – WinRT) egészítette ki, melynek legnagyobb előnye, hogy az erre épülő alkalmazások x86, x64 és ARM architektúrájú processzorokat is támogatják, vagyis asztali és táblagépeken egyaránt futtathatók. Ezen alkalmazásokat Windows Store vagy Windows 8 alkalmazásoknak nevezik és a Windows Store-on keresztül terjeszthetők, valamint az érintőképernyőre optimalizált Microsoft dizájn stílus alapelveit követik. A WinRT további előnye, hogy a fejlesztő többféle programnyelv közül választhat.

Szakdolgozat témám keretén belül a Windows 8 platform alapjainak megismerését és egy olyan hangoskönyv lejátszó Windows Store alkalmazás elkészítését tűztem ki célul, mely megfelel a felhasználók egyre növekvő igényeinek, minél jobban kihasználja a platform szolgáltatásait és lehetőségeit, valamint igazodik a Microsoft stílus alapelveihez.

Az elkészítendő alkalmazáshoz az adatokat a LibriVox online, folyamatosan bővülő, ingyenes hangoskönyv gyűjtemény biztosítja. Ez a gyűjtemény jelenleg körülbelül hatezer kötetet tartalmaz és havonta mintegy száz könyvvel bővül. A hangoskönyvek száma miatt az alkalmazásban kiemelt szerepet kap a felhasználó számára egyszerűen használható keresési funkció hatékony megvalósítása, ezenkívül további elvárás a hangoskönyvek letöltésének, tárolásának és „streamelve” történő lejátszásának biztosítása is.

Az alkalmazás logikáját C#, a felhasználói felületet pedig Extensible Markup Language (XAML) segítségével készítettem el Model-View-ViewModel (MVVM) tervezési minta szerint, valamint számos .NET-es technológiát is felhasználtam. Ilyen technológiák a Language-Integrated Query (LINQ), mely nyelvi szinten biztosít SQL-szerű lekérdezési lehetőséget, illetve a Task-based Asynchronous Pattern (TAP), mely nyelvi elemek segítségével tesz lehetővé aszinkron módon történő metódushívást.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.