90 likes | 177 Views
Mobil Rendszerek Programozása. Léczfalvy Ádám leczfalvy.adam@nik.bmf.hu. MIDlet-ek. Tartalom. MIDletek Életciklus Állapotok MIDlet osztály felépítése. MIDletek. A MIDP alkalmazásokat MIDleteknek nevezzük
E N D
Mobil Rendszerek Programozása Léczfalvy Ádám leczfalvy.adam@nik.bmf.hu MIDlet-ek
Tartalom • MIDletek • Életciklus • Állapotok • MIDlet osztály felépítése
MIDletek • A MIDP alkalmazásokat MIDleteknek nevezzük • javax.microedition.midlet.* csomag tartalmazza a MIDlet osztályt, amelyből származtathatjuk saját MIDlet osztályunkat • A MIDlet osztály keretrendszert biztosít: • Az Application Manager eléréséhez: A MIDlet állapotváltozását jelezni lehet az AM felé, illetve az AM jelezni tudja a MIDlet állapotváltozásait • Az alkalmazás leíró (application descriptor) adatainak eléréséhez
MIDlet állapotok • Loaded/Paused • A MIDlet betöltésre kerül és lefut az osztály konstruktora • Active • A MIDlet fut • Paused • A MIDlet ideiglenes állapota, ahonnan folytathatja a futást, vagy leállításra kerülhet • Biztosítani kell az erőforrások elérhetőségét más alkalmazások számára (release) • Az animációkat és más erőforrás igényes tevékenységeket le kell állítani • Destroyed • A MIDlet futása befejeződik
MIDletek - állapotváltás • protectedabstractvoidstartApp() • AM jelez a MIDletnek, hogy az Active állapotba került • protectedabstractvoidpauseApp() • AM jelez a MIDletnek, hogy a Paused állapotba került • protectedabstractvoiddestroyApp(booleanunconditional) • AM jelez a MIDletnek, hogy le kell állnia és belépnie a Destroyed állapotba • Unconditional: • False: a MIDlet megtagadhatja a leállítást, MIDletStateChangedException-t dob • True: feltétel nélküli leállás
MIDletek – jelzés az AM-nek • public final void notifyDestroyed() • A MIDletjelzi az AM-nek, hogy Destroyed állapotba került (nincs DestroyApp hívás) • public final void notifyPaused() • A MIDlet jelzi az AM-nek, hogy Paused állapotba került (startApp, destroyApp valamelyike követi) • public final void resumeRequest() • A MIDlet jelzi az AM-nek, hogy szeretne az Active állapotba kerülni • több alkalmazás futtatása esetén az AM ezt figyelembe veszi, és ha ezt a MIDlet-et választja, meghívásra kerül a startApp metódus
MIDletek – további metódusok • String getAppProperty(String key) • A MIDlet csomag (JAR, JAD) jellemzőit lehet megtudni • Boolean platformRequest(String URL) • RFC 2806, ”tel:<number>” • Int checkPermission(String permission) • 0: denied, 1: allowed, -1: unknown