Mobilszoftver 1. zh
Mobilszoftverek architektúrája (15p)
1. Az MVC tervezési minta melyik módosított verziója tudja leírni az Android illetve iOS alkalmazások általános architektúráját? Ismertesse ezt a két mintát ábrával és magyarázattal! (9p)
2. Milyen, a hardver által diktált szoftvertervezési megfontolásokkal kell mobil szoftvert tervezni? (6p)
iOS (32p)
3. Hogyan épül fel egy iOS alkalmazás felhasználói felülete? Ismertesse a View és a ViewContoller fogalmát! Hogyan tudunk a kódból kapcsolatot teremteni a ViewController és a storyboardban definiált nézetek és azok eseményei között? (10p)
4. Milyen Apple szolgáltatásokat ismer, és melyik mire használható? (7p)
5. Röviden válaszoljon az alábbi kérdésekre:
a) Mire szolgál, és hogyan használható a Swift optional típusa? (2p)
b) Milyen lehetőségeink vannak, ha egy iOS alkalmazással BlueToothon keresztül szeretnénk kommunikálni? (3p)
c) Milyen kétfajta értesítés létezik iOS-en? Hogyan történik a push értesítéseknél az eszközök azonosítása? (2p)
d) Mire szolgál és hogyan működik az AutoLayout? (2p)
e) Mire szolgál a Core Data Managed Object Context, a Managed Object Model és a Persistent Store Coordinator? Ismertesse őket 1-1 mondatban! (3p)
f) Milyen helymeghatározási módok érhetők el iOS platformon, és hogyan válthatunk köztük? (3p)
Android (32p)
6. Milyen Android alkalmazás komponensek, típusokat ismer? Adjon 1-1 példát mindegyik használatára! Hol kell a komponenseket felsorolni? Ismertesse az Activity életciklust ábra segítségével! Mi a különbség a Stop és a Pause állapotok között? Mit értünk Activity Backstack alatt? Hogyan működik? (10p)
7. Ismertesse a frodítás mechanizmusát ábrával Andoid környezetben! Hogyan áll elő a .apk állomány? Ki lehet-e nyerni a grafikus erőforrásokat a .apk állományból? Ha igen, miért, hogyan lehet védeni a forráskódot Android környezetben? (7p)
8. Magyarázza el a Fragment keretrendszer szerepét és jelentősségét! Hogyan lehet csatolni őket Activity-hez? Hol kell felsorolni a Fragmenteket? Milyen Fragment "típusokat" ismer? (7p)
9. Mit nevezünk sűrűségfüggetlenségnek? Hogyan oldja meg az Android a többképernyő méret és sűrűség támogatását? Mi a DP és SP mértékegység? Milyen layout típusokat ismer? (8p)
Platformok összehasonlítása (21p)
10. Soroljon fel legalább 4 lényeges különbséget iOS és Android alkalmazás tervezéssel/fejlesztéssel kapcsolatban, amit érdemes a projekt elején figyelembe venni! (8p)
11. Hasonlítsa össze az alkalmazások háttérben futtatásának lehetőségeti iOS és Android platformon! Melyik platformon milyen lehetőségek és korlátok fedezhetők fel? (6p)
12. Hasonlítsa össze az Android és iOS alkalmazások felhasználói felület megvalósítási lehetőségeit! Milyen hasonóságok és különbségek fedezhetők fel? Hogyan támogatják az egyes platformok a többnyelvűséget? (7p)
13. Érveljen 3 mondatban amellett, hogy az iOS platform miért tekinthető jobbnak, mint az Android? (+3p)