Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    Haladó Android fejlesztés

    A tantárgy angol neve: Advanced Android Development

    Adatlap utolsó módosítása: 2024. június 6.

    Budapesti Műszaki és Gazdaságtudományi Egyetem
    Villamosmérnöki és Informatikai Kar

    Mérnök informatikus szak

    Villamosmérnök szak

    Szabadon választható tantárgy

    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIAUBXAV080-00   2/0/2/v 4  
    3. A tantárgyfelelős személy és tanszék dr. Ekler Péter,
    4. A tantárgy előadója

    Név:

    Beosztás:

    Tanszék, Int.:

    Dr. Ekler Péter

    docens

    Automatizálási és Alkalmazott Informatikai Tanszék

    Dr. Forstner Bertalan

    docens

    Automatizálási és Alkalmazott Informatikai Tanszék

    Gazdi László

    tanársegéd

    Automatizálási és Alkalmazott Informatikai Tanszék

    Pomázi Krisztián

    tanársegéd

    Automatizálási és Alkalmazott Informatikai Tanszék

    Kövesdán Gábor

    tanársegéd

    Automatizálási és Alkalmazott Informatikai Tanszék

    Pásztor Dániel

    tanársegéd

    Automatizálási és Alkalmazott Informatikai Tanszék

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

    Objektumorientált programozási ismeretek, Java, Kotlin, Android platform alapok

    Javasolt előtte meghallgatni az Android alapú szoftverfejlesztés vagy legalább a Mobil- és Webes szoftverek tárgyak valamelyikét.

    6. Előtanulmányi rend
    Ajánlott:

    A tárgy felvétele előtt ajánlott felvenni az Android alapú szoftverfejlesztés (VIAUAC04) tárgyat, vagy a Mobil- és webes szoftverek (VIAUAC00) tárgyat ha valaki azt követően is foglalkozott Android technológiával.

    7. A tantárgy célkitűzése

    A tárgy keretében a hallgatók megismerkednek a komplexebb Android fejlesztés lehetőségeivel és olyan haladó technológiákkal, mellyel nagyobb Android alap rendszerek, osztálykönyvtárak, vagy komplex, moduláris megoldások fejleszthetők. A tárgy célja, hogy elsajátítása után a hallgatók olyan piacképes tudásra tegyenek szert, mellyel már nem csak kezdő Android fejlesztőként tudnak elhelyezkedni a piacon, hanem architekti tudással is rendelkezzenek és átlássák a platform mélységeit és klasszikus mobil alkalmazás fejlesztésen túli lehetőségeket. A tárgy kitér a tesztelésre, automatizálási folyamatokra, megoldás élesítésre, mesterséges intelligencia alapú megoldásokra és integrációs lehetőségekre. Ezen felül a tárgy keretében bemutatásra kerülnek a legújabb Androidos technológiák és a Kotlin nyelv, valamint a Compose keretrendszer szélesebb felhasználási lehetőségei is. A tárgy kitér továbbá a komplexebb hálózati kommunikációs technológiákra, biztonsági kérdésekre is.

    8. A tantárgy részletes tematikája

    Hét

    Előadás anyaga

    1.

    Felhasználói felület. Az előadás keretében bemutatjuk a felhasználói felület tervezésének legmodernebb módszereit Jetpack Compose használatával. Összetett felületek tervezése a képernyőméret és a stílus szem előtt tartásával, erőforrások hatékony használatával.

    2.

    Animációk és játékfejlesztés. Az előadás témája animációk készítése a Jetpack Compose technológia által nyújtott lehetőségekkel. A Composable objektumok egyes attribútumainak animálási lehetőségei, valamint a komplexebb erőforrás alapú animáció módszerei.

    3.

    Kódminőség. Az előadás súlyponti témája a tervezett rendszer arcitektúrájának megfelelő kialakítása és a Clean Architecture szem előtt tartása. Bemutatásra kerülnek a kódminőség javítását segítő módszerek és külső könyvtárak.

    4.

    Gradle. Az előadás keretében bemutatjuk a komplexebb alkalmazások struktúrális felépítését, a komponensek szerepét, valamint a több modulból álló alkalmazások készítési módját. Az előadás fő témája az Android fordítási mechanizmusa a Gradle rendszerrel. Áttekintésre kerülnek a Gradle beállítási lehetőségei és a fordítási folyamat lényegesebb pontjai, érdekességei, összefüggései.

    5.

    Gyakran használt külső könyvtárak. Az előadás célja, hogy a hallgatók megismerkedhessenek azokkal az Android platformon használatos külső könytárakkal, amelyek használata az iparban már sztenderdnek számít.  További cél a külső integrációs lehetőségek vizsgálata is, valamint PDF készítés folyamata.

    6.

    Térkép. Az előadáson egyrészt megismerkedünk a Google Play egyes szolgáltatásaival, másrészt pedig a helyfüggő Android alkalmazások készítésével foglalkozunk. Áttekintjük a térkép és overlay megjelenítési technikák használati lehetőségeit.

    7.

    Camera API. Médiatartalmak kezelése, a készülék elő és hátoldali kameráinak használata. Audió és videófájlok készítése és lejátszása. Az Android Camera API használati lehetőségeinek áttekintése.

    8.

    Egyéb Android eszközök. Az előadáson ismertetjük az Android rendszer képességeit és lehetőségeit a nem klasszikusan vett mobil készülékeken. Áttekintjük a fejlesztés és a kommunikáció lépéseit az Android TV, Auto és Wear platformok esetén.

    9.

    Mesterséges Intelligencia. Az előadás fő célja az Androidos környezetben elérhető mesterséges intelligencia és gépi tanulási lehetőségek ismertetése. Bemutatásra kerülnek a fontosabb könyvtárak, úgy mint az MLKit és az AICore.

    10.

    Biztonság. Az előadáson részletesen ismertetésre kerülnek az Android fejlesztéssel és alkalmazásokkal kapcsolatos biztonsági kérdések. Áttekintjük, hogy milyen módszerek léteznek a felhasználó személyes adatainak titkosítására, illetve a kódunknak a megvédésére.

    11.

    Hálózat. Az előadás keretében áttekintjük a fontosabb hálózati kapcsolódási lehetőségeket, külön kiemelve az Android platformon használatos tokenek és tanúsítványok kezelésének módszereit.

    12.

    Tesztelés. Az előadás központi tematikája a kód jóságának ellenőrzése, azaz a tesztelés. Ismertetésre kerülnek a fontosabb UI és Unit tesztelési lehetőségek, módszerek és könyvtárak.

    13.

    CI/CD. Az előadáson áttekintjük az Android alkalmazások fejlesztése közben elérhető DI/CD rendszereket, és tipikus konfigurációjukat.

    14.

    App kiadás. Az előadás az elkészült alkalmazás kiadási folyamatára koncentrál. Áttekintjük a teljes folyamatot: az apk elkészítését, az alkalmazás terjesztését, béta és A/B tesztelési lehetőségeket.

     

     

    Laborok:

    A laborok az előadások tematikáját követik és lehetőséget biztosítanak az ott elhangzottak gyakorlására. 

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

    Gyakorlatias, alkalmazásközpontú előadások keretében.

    Kijelölt írásos anyag elsajátítása.

    A tárgyhoz online/otthon elvégezhető laborok tartoznak, melyeket a laborvezetők ellenőriznek.

    10. Követelmények

    A szorgalmi időszakban: Félév közben egy ZH megírása kötelező, valamint a laborok 70%-ak teljesítése legalább elégséges érdemjeggyel. Emellett követelmény egy írásbeli vizsga.

    Az aláírás feltétele:

    - ZH-n legalább 40% elérése.

    - Laborok 70%-ának legalább elégségesre való teljesítése.

    - Vizsgára kapható pontszám legalább 40%-nak elérése.

    Az érdemjegy a ZH pontszámból, a laborok pontszámából és vizsga pontszámából tevődik össze, 30%-30%-40% súlyokkal.

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

    A zárthelyi, továbbá 1 labor pótolható a pótlási héten.

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

    Igény szerint, az oktatókkal egyeztetve.

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

    A tárgy weboldalán elhelyezett írásos anyagok. 

    14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
    Kontakt óra28
    Félévközi készülés órákra6
    Felkészülés zárthelyire14
    Laborok távoli elvégzése42
    Vizsgafelkészülés30
     
    Összesen120
    15. A tantárgy tematikáját kidolgozta

    Név:

    Beosztás:

    Tanszék, Int.:

    Dr. Ekler Péter

    docens

    Automatizálási és Alkalmazott Informatikai Tanszék

    Dr. Forstner Bertalan

    docens

    Automatizálási és Alkalmazott Informatikai Tanszék

    Gazdi László

    tanársegéd

    Automatizálási és Alkalmazott Informatikai Tanszék

    Pomázi Krisztián

    tanársegéd

    Automatizálási és Alkalmazott Informatikai Tanszék

    Kövesdán Gábor

    tanársegéd

    Automatizálási és Alkalmazott Informatikai Tanszék

    Pásztor Dániel

    tanársegéd

    Automatizálási és Alkalmazott Informatikai Tanszék