Bevezetés a mobil szoftverfejlesztésbe - Kidolgozott kérdések

A VIK Wikiből
A lap korábbi változatát látod, amilyen Kavics (vitalap | szerkesztései) 2013. február 8., 20:54-kor történt szerkesztése után volt.

Mi az a VMNO?

Virtual Mobile Network Operator

2G esetén mi volt a killer app?

Az SMS

Kik a mobil piac főbb szereplői?

  • Hálózati operátor
  • Szolgáltató
  • Készülék gyártó
  • Felhasználók

Mik a főbb mobil szoftverfejlesztési platformok?

Symbian, Android, Java ME, Python, Windows phone/mobile, Maemo-Meego

Mi az, hogy interpretált nyelv?

a forrásból a kód nem gépi kódra fordul, tehát a fordított kód [esetenként nem is kerül külön lefordításra] a számítógép számára még nem értelmezhető, és a kód álltalában egy értelmező program segítségével kerül futtatásra

Mik a natív nyelven megírt alkalmazások előnyei?

gyorsabb futás, erőforrások szabadabb elérése

Mik a fülek és mire jók? (magic 7)

tabokkal átláthatóbbá tehető pl egy űrlap, téma szerint csoportosítva a dolgokat, 7-nél többet az ember nehezen tud észben tartani.

Mik a fontosabb dialógus típusok? (adatbeviteli)

  • Query: egysoros adatbekéro dialógusok
  • Note: felbukkanó info ablakok
  • Multi query: kétsoros adatbekérő dialógus
  • Popup menu: felbukkanó választólista
  • Selection list: keresőmezős választólista
  • Multi selection list: többszörös elemválasztó lista
  • Űrlapok

Mik az űrlapok fontosabb tulajdonságai?

  • A legösszetettebb dialógus
  • Több beviteli mezovel is rendelkezhet
  • Szerkesztés és nézet üzemmód
  • Flagekkel finomhangolható a muködése
  • A mezők ennesek: (címke, típus [,érték])
  • save_hook: Validálásra (True/False)

Mik azok az ennesek?

egy olyan tömb, melynek értékei nem változtathatók

Milyen beviteli mezők lehetnek egy űrlapon?

text, number, date, time, combo (ezek radiobuttonok)

Mi a különbség a scan code és a key code között?

a keycode már egy feldolgozott kód, míg a scancode szorosabban kapcsolódik a leképezéshez

Milyen rajzolási primitívek vannak a PyS60 alatt?

  • line(koordináták, opciók)
  • polygon(koordináták, opciók)
  • rectangle(bal_felso_sarok, jobb_alsó_sarok, opciók)
  • ellipse(bal_felso_sarok, jobb_alsó_sarok, opciók)
  • pieslice(bal_felso_sarok, jobb_alsó_sarok, kezdet, vég, opciók)
  • arc(bal_felso_sarok, jobb_alsó_sarok, kezdet, vég, opciók)
  • point((x, y), opciók)
  • clear([háttérszín= (255,255,255)])
  • text((x,y), szöveg, [fill=szín, font])

Mi a position paraméter szerepe a fotó készítésnél?

több kamerás készüléknél melyik kamerát akarjuk használni (0 = hátoldali kamera)

Mit lehet beállítani fénykép készítésekor?

take_photo([mode='RGB16', size=(640, 480), flash='auto', zoom=0, exposure='auto', white_balance='auto', position=0])

Milyen osztállyal tudunk titkosított adatcserét végezni HTTP protokollon?

httplib/HTTPSConnection vagy HTTPResponse esetleg HTTPSResponse, ezt nem sikerült igazából kiderítenem...

Mire szolgál a JSR-75?

file connection és PIM funkció

fiók elérése

Mi a Java platformfüggetlenség alapja?

Java virtuális gép, JVM (Java Virtual Machine)

Milyen Java platformok léteznek?

  • J2EE – enterprise, webes, nagy eszközkészlet
  • J2SE – standard, asztalai, közepes eszközkészlet
  • JavaME (J2ME) – micro, mobil, kis eszközkészlet

Mit nevezünk MIDletnek? Java alkalmazás Rajzold fel a MIDlet életciklus modellt!

Mire használható a NetBeans FlowDesigner? A legtöbb fejlesztőeszköz támogatja beépített designer segítségével a navigáció kialakítását, ilyen eszköz például a NetBeans Flow Designer Mire szolgál a NetBeans Screen Designer? A legtöbb fejlesztőeszközben megtalálható egy ScreenDesigner nevű eszköz a felhasználói felület kialakításához Mik a lényeges különbségek, ha beépített GUI elemeket illetve ha Canvas-t használunk? beépített GUI a beállított témához tartozó elemekből építkezik, míg a Canvas-nál mindent nekünk kell létrehozni Mik a GUI elemek főbb tulajdonságai? -Az elemek kitöltik a kijelző teljes szélességét -Egymás alatt helyezkednek el -Minden elem rendelkezik saját azonosítóval és egyedi tulajdonságokkal Mire szolgál a showNotify függvény? Canvas-nak többféle eseménykezelő metódusa van ilyenek a showNotify(), és a hideNotify(), melyek akkor hívódnak meg, ha a Canvas előtérben vagy hátérbe kerül Mit jelent az Exclusive Choice Group? -Multiple (==ChoiceBox): több elem választható ki egyidejűleg -Exclusive (==RadioButton): csak egy listaelem jelölhető ki -Popup (==ListBox): legördülő listából választható ki egy elem Milyen lehetőséget biztosít az RMS rekordok összehasonlítására? Az RMS definiál egy RecordComparator interface-t, ami a compare (byte[] rec1, byte[] rec2) függvénnyel lehetővé teszi, hogy két rekordot összehasonlíthassunk. Milyen módokat ismer adatok tárolására? RMS-ben Record Management System, vagy fájlban tárolás Mikor érdemes RMS-t használni? -Rekord orientált adatbázis-kezelő rendszer -A műveletek oszthatatlan, szinkron műveletek -Mobil alkalmazás perzisztensen tárolhasson adatot -A MIDlet-ek rekordokat oszthatnak meg egymás között, ha egy alkalmazásban vannak, alkalmazások viszont nem érhetik el egymás adatbázisait Mikor találkozhatunk biztonsági megerősítő kérdéssel? ha bizonyos erőforrásokhoz hozzá akarunk férni (certificate) Hogyan tudunk elérni egy fájlt? FileConnection API-val (JSR-75) Connector.open(String parameter) file://<host>/<root>/<directory>/<directory>/.../<name> Milyen főbb Java ME fájlkezelő függvényt ismer? mkdir(), create(), close(), read(), write(), delete() Miért kell külön szálba rakni a fájlkezelőt? mert blokkolhat, ami a telefon látszólagos lefagyását eredményezheti Mi alapján szűr az alábbi RecordFilter, hol használható? (a példa sajna hiányzik) Mi legyen a paramétere a Connector.open() függvénynek, ha 192.168.0.1 címhez akarunk csatlakozni sockettel a 4444-es porton? Connector.open("socket://192.168.0.1:4444"); Mik a webservice előnyei J2ME-ben? -A Web Service WSDL (Web Services Definition Language): alapján generálja a kódot -Elfedi a hálózati kommunikációt -Web Service hívás egyszerű függvényhívás formájában érhető el egy vezérlő objektumtól Bluetooth eszközök hogyan szervezhetők hálózatban? -A készülékek úgynevezett piconet-be szerveződnek -A piconet egy master-t és maximum 7 aktív slave-t tartalmaz -Egy-egy és egy-több kapcsolatok -A master kezdeményezi a kommunikációt -Egy piconetben lévő készülék kommunikálhat egy másik piconet-ben lévővel: scatternet Mire használható a Manager osztály? Manager osztály a legfelsőbb szintű factory jellegű vezérlőosztály, melynek feladata a Player objektumok létrehozása. Információt biztosít az rendszer képességeiről (formátum, protokoll). Egyszerű felületet nyújt tone-ok (hangok) lejátszására Melyik JSR támogatja a multimedia kezelését Java ME-ben? JSR-135 ami gyakorlatilag a MIDP 2.0; MMAPI = Multimedia API Hol jeleníthető meg a kamera? Formon, Canvason Melyik vezérlő használható hangerőszabályozásra? VolumeControl Mire jó a prefetch? betölti előre a médiát, ami aztán prefetched állapotba kerül, és ha ekkor elindítjuk a lejátszást, egyből indul, nem kell rá várni PythonS60 Listázd ki azokat az SMS-eket amiben szerepel a ... szó! Mik azok az ennesek? nem módosítható tartalmú tömbök Valósíts meg fájlküldést OBEX-en keresztül! Hozz létre hálózati kapcsolatot, ami feldob valamilyen popup-ot! Valami kód tabok kezelésére JavaME Mi a MIDlet? JavaME alkalmazás Sorolj fel néhány fájlkezelő függvényt! create(), mkdir(), close(), delete(), read(), write() Rajzold fel a Google Android logóját!

Connector.open() függvénynek milyen paramétere legyen, ha...(ez változó, hogy mit kérnek)? (16. slide) Connector.open(’’socket:// file:// http:// datagram:// com:0;baudrate=9000’’) Mire használható a Manager osztály? player létrehozásra, tone játszásra Mi a JSR? JavaME hez mindenféle kiegészítés pl: BT, MMAPI, PIM kezelés stb... Rajzold fel a MIDlet életciklus modellt, és értelmezd az állapotokat (különösen a paused-t)!


Hogy néz ki a MIDlet váz? import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class HelloMidlet extends MIDlet{ public void startApp() {} public void pauseApp() {} public void destroyApp(boolean unconditional) {} } Mire jó a FlowDesigner? navigáció kialakítására Valósítson meg egy Canvas osztályt, ami kirajzol...(valamit)! (menüpontok is) Valósítson meg egy MIDletet, ami megjelenít egy Canvas-t! (menüpontok is) Mi az RMS? Record Management System, rekord adatbázis-kezelő rendszer Valami RecordStore-os bytetömbös dolog 34. slide Mi a RecordStore függvény 2. paramétere? public static RecordStore openRecordStore(String recordStoreName, boolean createIfNecessary ) Megnyitja és visszaadja a recordStoreName nevű adatbázist. Ha nem létezik az adatbázis, és createIfNecessary = true, akkor új adatbázist hoz létre, false esetén pedig RecordStoreNotFoundException kivételt dob. Valami fájlkezelési művelet (pl könyvtár létrehozása paraméter alapján) Rajzold fel a Player életciklust és értelmezd az állapotokat (különösen a prefecthed-et)!

Videocontrol (34. slide), pl kamerát formra tenni Thread, jpegből legyen image, bytetömb kezelés 42. slide Miért bővíthető a GFC? (mo: mert egyszerű stringet vár) mert egy egyszerű stringet vár paraméterként Egy szálban nyiss egy HTTP kapcsolatot! Milyen energiaszinteket definiál a Bluetooth? -Sniff mód: Alacsony energiaszinten való figyelés -Hold mód: Nincs adatovábbítás, az óra azonban működik -Park mód: A slave-k szinkronizálva vannak a master-hez, azonban nem részei a forgalomnak Írj SMS-t küldő vagy valamilyen porton SMS-t váró alkalmazást! (41. slide)