D&C corp.
MIDlet Tutorial About D&C corp. FER Home PVPRM Home IE Home
Izrada MIDlet-a u command promptu ZIP    
Main menu Previous
page 1 of 1
   



Uvod

1.KORAK
Da bi mogli razvijati programe za CLDC konfiguraciju potrebni su nam neki alati te alate je moguce skinuti sa adrese URL: http://java.sun.com/products/j2mewtoolkit.
Na toj adresi naci cete alate i za Windows ali i za Linux platformu, kada te alate skinete s interneta potrebno ih je instalirati u neki direktorij recimo C:\j2mewtk.ako vas nakon instalacije pitaju da li zelite pokrenuti ktoolbar aplikaciju odbijte to, nakon sto je JDK instaliran potrebno je napraviti jos nekoliko dodatnih koraka , prvo je potrebno namjestiti path da pokazuje na alate iz naseg JDK-a to se na Windowsima radi s naredbom
SET PATH=%PATH%;C:\j2mewtk\bin
a na Linux platformi
export PATH=$PATH:install_directory/j2mewtk/bin
ako to ne zelite stalno raditi potrebno je te naredbe ododati u vas AUTOEXEC.BAT file, kada to napravite da bi testirali dali ste to napravili ispravno utipkajte na komandni redak preverify
C:\> preverify
Usage: PREVERIFY.EXE [options] classnames|dirnames ...

where options include:
-classpath <directories separated by ';'>
Directories in which to look for classes
-d <directory> Directory in which output is written
@<filename> Read c


U ovom trenutku bih vam zelio skrenuti pozornost na jednu jako vaznu stvar naime iako svaka platforma ima svoju VM masinu tj. J2ME ima svoju a J2SE ima svoju i jedna i druga platforma koriste isti kompajler tj. koriste javac pa da bi mogli svoje programe kompajlirat morate imati instalirano na svojem racunali i standard edition Jave postupak je jednostavan a i ti alati se mogu naci na Sun-ovoj stranici ako ih vec nemate instalirane.


Da bi mogli kompajlirati svjoje midlete sa komandne linije potrebno je utipkati sljedece naredbe za Windowse:
SET J2MEWTK_HOME=C:\j2mewtk
SET MIDPAPI=%J2MEWTK_HOME%\lib\midpapi.zip
SET J2MECLASSPATH=%J2MEWTK_HOME%\wtklib\kenv.zip;
%J2MEWTK_HOME%\wtklib\kvem.jar;%J2MEWTK_HOME%\wtklib\lime.jar

ili


export J2MEWTK_HOME=/home/qmahmoud/j2mewtk
export MIDPAPI=$J2MEWTK_HOME/lib/midpapi.zip
export J2MECLASSPATH=$J2MEWTK_HOME/wtklib/kenv.zip:
$J2MEWTK_HOME/wtklib/kvem.jar:$J2MEWTK_HOME/wtklib/lime.jar

za Linux.

2. KORAK
Sada kada smo sve pripremili za ravoj midleta mozemo prijec na sam kod, kako je ovo zamisljeno kao uvodni tutorial u podrucje programiranje midleta primjer ce biti jako jednostavan i osoba koja ima imalo iskustva sa Javom cak i ljudi koji nisu nikad programirali u Javi bi trebali jako brzo svatit bit i osnovu rada midleta


Primjer. "Hello World"
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class HelloMidlet extends MIDlet {

// The display for this MIDlet
private Display display;
// TextBox to display text
TextBox box = null;

public HelloMidlet( ) {
}

public void startApp( ) {
display = Display.getDisplay(this);
box = new TextBox("Simple Example", "Hello World", 20, 0);
display.setCurrent(box);
}


public void pauseApp( ) {
}

public void destroyApp(boolean unconditional) {
}
}

Bit ovog malog programicica je u tome da klasa HelloMidlet nasljeduje klasu MIDlet i na taj nacina poprima njena svojstva te od nje nasljeduje ove tri funkcije koje koristi kako ovdje nema main funkcije oslanjamo se na to da ce sama VM pozivati pojedine funkcije kada ih bude trebala.

3 KORAK
Sada kada smo podesili razvojne programe i napisali kod za svoju aplikaciju vrijeme je da ju iskompajliramo iako je u Second Editionu to jako jednostavno i ovdje ce to nakon kratkog objasnjenja postati jednostavno.Prije svega potrebno je stvoriti jedan direktoriji
U nasem tutorialu to ce biti tmpclasses nakon toga sacuvajte svoj kod u dokumentu s imenom HelloMidlet.java naime ime dokumenta mora biti isto i kao ime jedine javne klase u dokumentu u nasem slucaju to je HelloMidlet nastavak .java znaci da je to dokument koji sadrzi java kod kada ste to napravili potrebno je izvrsiti kompajliranje.
Kao sto smo i naglasili koristi se se kompajler iz Second Editiona jave tj. javac s naredbom
C:\midlets> javac -g:none -d C:\tmpclasses -bootclasspath %MIDPAPI% -classpath
%J2MECLASSPATH% HelloMidlet.java
Ova naradba vrsi kompajliranje i postavlja classpath na J2ME tako da kompajler nebi trazio klase iz Second Editiona koje i onako nemoze koristiti jer nisu prilagodene micro VM.Rezultat ove naredbe je HelloMidlet.class dokumetn u vasem direktoriju tmpclasses

4.KORAK
Da smo sad u Standar Editionu mogli bi pozvati nasu VM koja se u Standard Editionu zove java i program bi poceo raditi kako su mobiteli uredaji koji su ograniceni svojim mogucnostima potrebno je napravit jos neke korake kao prvo potrebno je preverifirati program. Zasto pitate se pa zar to VM ne radi sam. Odgovor je da u Standar Editionu ali ovdje ne kao sto je poznato preverifikacija znaci da se byte code koji se nalazi u class dokumentu pregledava da bi se provjerilo jeli ispravan i dali je slozen na ispravan nacin da bi ga VM mogla citati, veliki dio VM je posvecen ovom poslu a kako smo mi ograniceni s velicinom memorije u mobitelima nemozemo si priustiti da nasa VM bude toliko velika a nemozemo si priustiti ni to da ona svaki put kad koristi tu klasu trosi procesorsku snagu na preverifikaciju zbog svega toga dizajneri VM su odlucili da ce taj posao raditi sami programeri

C:\midlets> preverify -classpath %MIDPAPI%;c:\tmpclasses -d c:\classes c:\tmpclasses
Nako sto upisete ovu narebu preverificirana klasa HelloMidlet.class je u direktoriju classes

5.KORAK
Sljedeci korak je da kompresirate sve dokumente koji se ticu vase aplikacije za to se koristi program jar iz Standar Editiona prije toga se morate pozicionirat u direktoriji classes kada ste tamo pokrenite naredbu
> jar cvf HelloMidlet.jar HelloMidlet.class
ova naredba stvara jar dokument u principu se radi od obicnom zip dokumentu u koji je dodan manifest a manifest je txt dokument koji opisuje sadrzaj jar dokumenta.

6.KORAK
Prije nego pokusamo staviti svoju aplikaciju u mobitel bilo bi ljepo pogledati dali ona uopce stane u memoriju jer ako ne stane onda uopce nema smisla stavljati aplikaciju u mobitel.DA bi uspjeli u tome potrebno je stvoriti neki dokument koji ce nositi podatke o tome koliko je veliki koliko mjesta treba i jos neke druge podatke.To se moze ostvariti na taj nacin da se stvori JAD dokument to je tekstualni dokument u koji se upisuju odredeni podaci od njih najvazniji je velicina jar dokument u baytima.
Example 1-2. HelloMidlet.jad
MIDlet-1: Hello,,HelloMidlet
MIDlet-Name: HelloMidlet
MIDlet-Version: 1.0
MIDlet-Vendor: ORA
MIDlet-Jar-URL: HelloMidlet.jar
MIDlet-Jar-Size: 863

Kada se to napravi potrebno je samo pokrenuti emulator i gotovi smo sa nasim prvim midletom.
> emulator -Xdescriptor:HelloMidlet.jad
Ako ste napravili sve kako treba pojavit ce se emulator sa vasim programom

nakon sto emulator zavrsi sa radom u komandnom redku ce te dobiti nesto ovakvo
Execution completed successfully
52618 bytecodes executed
15 thread switches
310 classes in the system (including system classes)
488 dynamic objects allocated (20404 bytes)
1 garbage collections (0 bytes collected)
Total heap size 500000 bytes (currently 477548 bytes free)

Kao sto vidite to je prikaz resursa koje je VM koristila.


ZAVRSETAK
Na kraju bi htio spomenuti jos nekoliko detalja kao prvo na koji nacin tu aplikaciju staviti na mobitel pa najjednostavniji nacin je da se aplikacija postavi na wap server i skine preko mreze na telefon druga je da se nabave data kabeli i software za pojedine vrste mobitela pa se to napravi s tim.Ovo je jako veliko podrucje sa potencijalno velikim trzistem relativno je jednostavno za programirat i jos uvijek nedovoljno razvijeno kako su svi alati besplatni a vise ljudi ima mobitel nego sto ima racunalo ocito ce u buducnosti zarada na tom trzistu rasti a mogucnosti da se otvore male tvrtke na tome podrucju su neogranicene kao primjer mozemo navesti trziste igara naime da bi napravili igru za PC potrban vam je veliki tim mnostvo ljudi ,skupa oprema i veliko znanje da se napravi igra za mobitel potreban vam je jedan ili dva covjeka data kabel od 300 kn i malo volje nakon toga ako imate Simens mobitel odete na njihovu stranicu objavite svoju igru i nekih 10 000 000 ljudi diljem europe skida vasu igru Simens ce vam dati postotak od tog posla i ako vasa igra bude zanimljiva zaraditi ce te novce.Pa zar to nije svrha inzinjerskog posla.



     
Main menu Previous
 MIDlet Tutorial About D&C corp. FER Home PVPRM Home IE Home