Programim Mobile Leksion 4Programimi Mobile nº Java Œ · PDF file Hyrje nº...

Click here to load reader

  • date post

    02-Feb-2020
  • Category

    Documents

  • view

    11
  • download

    0

Embed Size (px)

Transcript of Programim Mobile Leksion 4Programimi Mobile nº Java Œ · PDF file Hyrje nº...

  • Programim Mobile Leksion 4 Programimi Mobile në Java

    1

    Tema: Programimi Mobile në Java

    Në këtë leksion....

     Familja Java dhe J2ME

     Konfigurimet CLDC dhe CDC, Paketat Opsionale

     Krijimi i aplikacioneve MIDP dhe CDC

     Shembuj aplikacionesh

    Hyrje në familjen Java

    Teknologjia Java është një mjedis objekt i orientuar, i krijuar nga Sun Microsystems. Qëllimi kryesor i saj ishte që të

    krijonte aplikacione të pavarur nga platformat sipas sloganit shkruaj një herë, ekzekuto kudo. Sot Java është një

    ndër mjediset më popullorë të zhvillimit të softuerëve. Ajo lejon krijimin e aplikacioneve enterprise për servera,

    kompjutera personalë si edhe për pajisjet e vogla të lëvizshme. Për tu familjarizuar me teknologjine J2ME për

    zhvillimin e aplikacioneve mobile le të shohim fillimisht familjen Java në përgjithësi. Siç tregohet në Figurën 1 Java

    ndahet në katër edicione:

    J2EE kryesisht shërben për ndërtimin e aplikacioneve enterprise që e vënë theksin në zhvillimin e aplikacioneve

    server-side dhe për web.

    J2SE është e destinuar për ndërtimin e aplikacioneve konvencionalë për kompjuterat desktop.

    J2ME është nëngrup i J2SE që shërben për zhvillimin e programeve për pajisjet e ndërfutura që nuk mund të

    suportojnë implementim të plotë të J2SE.

    Java Card ofron një mjedis për zhvillimin e aplikacioneve që ekzekutohen në karta smart.

    Kjo ndarje është bërë për të ofruar zgjidhje për nevoja dhe rrethana të ndryshme. Për shembull do të ishte jo

    efiçente që në një makinë desktop të përdorej J2EE e cila përfshin paketa për aplikacione enterprise. Gjithashtu

    implementimi i plotë i J2SE nuk mund të suportohet nga pajisjet e vogla që kanë më pak burime se një makinë

    desktop.

    Figurë 1- Arkitektura e familjes Java

    1. Platforma J2ME J2ME është pjesë e familjes Java e ndërtuar me qëllim që të shërbejë për ndërtimin e aplikacioneve që

    ekzekutohen në mjedise që punojnë me bateri dhe jo me energji elektrike si p.sh telefonat celularë, PDA dhe

    pajisje të tjera të ndërfutura. Duke qenë se këto pajisje kanë aftësi të ndryshme për sa i përket kujtesës, kohës së

    procesimit, harduerit dhe ekranit ato janë ndarë në grupe në varësi të qëllimit dhe të funksionaliteteve të tyre.

  • Programim Mobile Leksion 4 Programimi Mobile në Java

    2

    Pajisjet me aftësi të ngjashme grupohen në konfigurime dhe brenda secilit konfigurim krijohen profile për të

    klasifikuar më tej llojin e pajisjes. J2ME nuk është gjuhë e re por është një version i përshtatur i Java për pajisjet e

    vogla duke hequr nga J2SE ato pjesë që nuk mund të suportohen. Megjithatë platforma J2ME mund të ekzekutohet

    në një larmi pajisjesh si TV, PDA, libra elektronikë, telefona etj.

    Për momentin në platformën J2ME ekzistojnë dy konfigurime:

     CLDC(Connected Limited Device Configuration), për pajisje me - Ndërfaqe përdoruesi shumë të thjeshtë - Kujtesë të vogël (160Kb deri në 512 Kb) - Komunikim wireless - Procesor 16 ose 32 bit - Energji e kufizuar, zakonisht me bateri - Shembuj: telefonat celularë, librat elektronikë, PDA të thjeshta etj.

    Këtyre pajisjeve do i referohemi si pajisje më pak të afta.

     CDC(Connected Device Configuration), për pajisje me - Ndërfaqe përdoruesi më të larmishme - Kujtesë nga 2 16 M. - Lidhje me disa tipe rrjetash. - Procesorë 16 ose 32 bit. - Shembuj: Tv, PDA etj.

    Këtyre pajisjeve do i referohemi si pajisje më shumë të afta.

    Në Figurën 2 tregohet lidhja midis këtyre dy konfigurimeve me J2SE:

    Figurë 2 - Trashëgimia e J2ME

    Funksionalitetet kryesorë të CDC dhe CLDC trashëgohen nga J2SE. Për më tepër të gjithë tiparet e implementuar në

    CLDC janë të implementuar edhe në CDC në mënyrë që të ketë përshtatshmëri kthimi midis dy konfigurimeve.

    Platforma J2ME ekzekutohet mbi sistemin e shfrytëzimit të telefonave celularë dhe përbëhet nga dy versione të

    ndryshëm: një për pajisjet më shumë të afta dhe një për pajisjet më pak të afta siç tregohet në Figurën 3.

    Secili prej versioneve përfshin:

    Konfigurimin: Konfigurimi është grupi i librarive bazë me klasa dhe makina virtuale (VM) e cila interpreton dhe

    ekzekuton aplikacionet. Makina Virtuale mund të jetë JVM e plotë ose një nëngrup i saj. Për CLDC dhe CDC libraritë

    me klasa janë një nëngrup i J2SE API të cilit i shtohen edhe disa API të tjera specifike për J2ME si p.sh GCF.

    Profilet: Profilet plotësojnë konfigurimet me API të një niveli të lartë të cilat janë më specifike për një grup të

    caktuar pajisjesh. Një API e një profili zakonisht përbëhet nga funksione për zhvillimin e aplikacionit, ndërfaqes së

    përdoruesit, për kujtesën ose për suport në rrjet. Vini re që profilet mund të ndërtohen sipër njëri tjetrit.

    Konfigurimi së bashku me një ose më shumë profile krijon një mjedis ekzekutimi të kompletuar J2ME.

    Paketat Opsionale: Me anë të paketave opsionale mjedisi i ekzekutimit zgjerohet me API që shërbejnë për

    funksionalitete specifikë si p.sh lidhja me bazat e të dhënave, metodat e komunikimit, grafikë etj. Një paketë

  • Programim Mobile Leksion 4 Programimi Mobile në Java

    3

    opsionale mund të jetë e pavarur nga konfigurimi (d.m.th suportohet edhe nga CLDC edhe nga CDC) ose mund të

    jetë e dedikuar vetëm për një konfigurim specifik.

    Shembuj paketash opsionale:

    CDLC PDA, Mobile Media, Mesazhe Wireless, Mobile 3D, Vendndodhje, Bluetooth, Shërbime Web.

    CDC RMI, JDBC, Grafikë e avancuar Swing dhe Java 2D.

    Fatkeqësisht paketat opsionale mund ta bëjnë të vështirë zhvillimin e aplikacioneve sepse mund të ndodhë që të

    duhet një listë e gjatë paketash opsionale për të suportuar plotësisht programin.

    Figurë 3 - Platforma J2ME 2. Pajisjet më pak të afta: Konfigurimi CLDC Për momentin ekzistojnë dy versione CLDC:

     CLDC 1.0 i cili është lëshimi i parë i specifikimit CLDC.

     CLDC 1.1 i cili është version i përmirësuar i 1.0. CLDC ofron një mjedis ekzekutimi Java (JRE) bazë, por grupi i klasave bazë zakonisht është i vogël dhe ka nevojë që

    të përmirësohet nga klasa shtesë. Në fakt CLDC nuk ka ndonjë API të integruar për menaxhimin e ndërfaqes me

    përdoruesin, nuk implementon ndonjë model I/O dhe ka mangësi në arritjen e sigurisë. Për më tepër nuk

    përcakton se si menaxhohen aplikacionet gjatë ciklit të tyre jetësor (Me cikël jetësor në këtë kontekst nuk i

    referohemi procesit të ndërtimit të programit por procesit të ekzekutimit të tij deri në mbyllje) Për këtë arsye CLDC

    zakonisht shoqërohet me profilet përkatës siç është për shembull MIDP (Mobile Information Device Profile).

    MIDP (Mobile Information Device Profile)

    Profili MIDP i shtohet konfigurimit CLDC për të mbushur funksionalitetet që mungojnë. MIDP në fakt është një grup

    API-sh dhe librarish që ofrojnë funksionalitete si ndërfaqe përdoruesi, lidhje në rrjet, ruajtje të dhënash etj.

    Aktualisht ekzistojnë dy versione MIDP të cilët implementohen në pajisje reale:

     MIDP 1.0 është lëshimi i parë i profilit dhe përfshin ndërfaqe përdoruesi (nivel jo i avancuar) dhe siguri në rrjet.

     MIDP 2.0 ka përshtatshmëri kthimi me MIDP 1.0 dhe ka funksione shtesë si ndërfaqe më të avancuar. Multimedia, lojëra etj.

    Aktualisht është specifikuar edhe gjenerata e tretë e MIDP me emrin JSR271. Ky specifikim bazohet në MIDP 2.0

    dhe ka përshtatshmëri kthimi me të. Një aplikacion që zhvillohet sipas profilit MIDP quhet MIDlet. Këto lloj

    aplikacionesh nuk përdorin një metodë statike main për pikë hyrëse sikurse ndodh në aplikacionet tradicionalë

  • Programim Mobile Leksion 4 Programimi Mobile në Java

    4

    desktop. Pika hyrëse e një aplikacioni MIDlet është një klasë që trashëgon nga

    java.microedition.midlet.MIDlet. Klasa MIDlet ka të përcaktuara disa metoda abstrakte që thirren kur gjendja e MIDlet-it ndryshon. Për shembull kur nis një MIDlet thirret metoda startApp e tij. Më vonë do të tregojmë edhe një shembull kodi burim të një MIDleti-i.

    Aplikacionet MIDP në pajisje menaxhohen nga AMS (Application Management Software). AMS mund të nisë, të

    pezullojë ose të përfundojë një aplikacion duke thirrur metodat e ciklit jetësor të klasës së tij main. MIDlet

    gjithashtu mund të njoftojë AMS nëse gjendja e tij ndryshon. Metodat e ciklit jetësor të një aplikacioni MIDlet

    tregohen në Tabelën 1. Secila prej këtyre metodave mund të riimplementohet për të specifikuar më tej sjelljen e

    tyre.

    Metoda Përshkrimi startApp() Thirret nga AMS kur MIDlet fillon të ekzekutohet nga e para ose kur rimëkëmbet nga

    një gjendje e pezulluar. destroyApp() Thirret nga AMS kur MIDlet përfundon. pauseApp() Thirret nga AMS kur MIDlet pezullohet notifyDestroyed() Thirret nga MIDlet. I kërkon AMS që ta shkatërrojë vetë MIDlet-in. notifyPau