java i nosivo računarstvo

45
Java i nosivo računarstvo Predavanje u sklopu predmeta “Mikroračunala” SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Dipl.ing. Marko Horvat

Upload: niles

Post on 12-Jan-2016

45 views

Category:

Documents


1 download

DESCRIPTION

SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA. Java i nosivo računarstvo. Dipl.ing. Marko Horvat. Predavanje u sklopu predmeta “Mikroračunala”. Nosivo računarstvo. “Java i prožimajuće računarstvo” ali zbog fokusa na SW sadržaj za mobitele ipak “...nosivo...” - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Java i nosivo računarstvo

Java i nosivo računarstvo

Predavanje u sklopu predmeta “Mikroračunala”

SVEUČILIŠTE U ZAGREBUFAKULTET ELEKTROTEHNIKE I

RAČUNARSTVA

Dipl.ing. Marko Horvat

Page 2: Java i nosivo računarstvo

22

Nosivo računarstvo “Java i prožimajuće računarstvo”

ali zbog fokusa na SW sadržaj za mobitele ipak “...nosivo...”

Dva srodna termina: Wearable computing = nosivo računarstvo Pervasive computing, Ubiquitous computing = prožimajuće

računarstvo Nosiva računala...

uvijek rade, tj. uvijek su spremna za interakciju sa korisnikom korisnik ih ne koristi direktno, ona povećavaju njegovu

inteligenciju ili mogućnosti osjetila enkapsuliraju korisnika (bolje od laptopova, PDA uređaja)

Sinergija čovjeka i računala 6 svojstava nosivog računala:

ne limitiraju korisnika, ne preuzimaju njegovo vrijeme, podaci sa njih su jasno vidljivi, korisnik im lako upravlja, komuniciraju sa okolinom, komuniciraju sa drugim sustavima/korisnicima

Page 3: Java i nosivo računarstvo

33

2 karakteristike sistema prožimajućeg računarstva: fizička integracija

– u pametnoj sobi sa zastanke: pametna šalica za kavu (Javu?) zna tko je njezin vlasnik, može pružiti određene servise; pametne stolice, stol, ploča (whiteboard) opremljene senzorima, moguće ih je umrežiti sa PDAovima sudionika sastanka – automatski prenos sadržaja ploče u PDA

spontana interoperacija– u dinamičnoj okolini koja se mijenja sustavi se međusobno spontano

udružuju u mreže, omogućuju prenos i korištenje različitih podataka

otac prožimajućeg računarstva Mark Weiser, chief technology officer u Xeroxovim laboratorijima

(Paolo Alto) – mjesto odakle je potekao osobno računalo, GUI, intranet

– ideje (a i realizaciju) njihovih proizvode kopirao je Steve Jobs (Mac), a kasnije njega je kopirao Bill Gates (Microsoft)

Prožimajuće računarstvo

Page 4: Java i nosivo računarstvo

44

Nosivo računarstvo nekada…

Page 5: Java i nosivo računarstvo

55

Danas

Digitalni ručni satovi

Ručna računala, dlanovnici, PDA (Personal Digital Assistans), Palm, Visor – PalmOS,

Windows CE

Page 6: Java i nosivo računarstvo

66

Danas (2)

Siemens SL45i – Java ME, MP3, 128

MB RAM, ...

Transmeta Wearable

Computer – nosi se oko pojasa

Nokia 9xxx Communicator –

Symbian OS, Personal Java,

Java ME, mobitel i ručno računalo, ...

Nosivo računalo u upotrebi u američkoj vojsci na nosačima aviona – brz pregled nacrta,

planova, TODO lista, ...

Page 7: Java i nosivo računarstvo

77

kao i općenito u računalstvu: dimenzije uređaja će biti još manje, a mogućnosti još veće

ali prag omjera dimenzija i mogućnosti prenosnih računala već je prijeđen npr. ručna računala (Palm, Visor), napredni mobiteli – “više

klase” kako će cijene padati, i potražnja tržišta rasti, u skoroj

budućnosti vidjeti ćemo sve više “jakih” i korisnih nosivih računalnih uređaja taj trend je već sada vidljiv...

za taj povećani broj mobilnih uređaja potrebno je napraviti kvalitetni softwarski sadržaj potrebni su napredni programski jezici u kojima se može što brže

napraviti što kvalitetniji SW proizvod!

Nosivo računarstvo sutra?

Page 8: Java i nosivo računarstvo

88

Zašto Java i nosivo računarstvo? Java je veoma dobar (najbolji?) odabir za sustave nosivog

računarstva Jer Java je...

prenosiv jezik - radi na mnogim platformama stvara male izvršne datoteke - od nekoliko kB naviše raširen je i visoko korišten jednostavan za upotrebu i programiranje

A također je i... objektan - jednostavno je skalirati, proširivati programe distribuiran - korištenje mrežnih protokola je ugrađeno u Javu robustan - potpora za hvatanje i obradu grešaka i iznimaka siguran, višenitan (višedretven), dinamičan, ...

Najbitnije je da proizvođači uređaja podrže Javu bez toga nije važno koliko je Java dobra, ili ne... broj mobitela koji podržavaju Javu u zadnje vrijeme rapidno raste

Page 9: Java i nosivo računarstvo

99

Programski jezik Java

Page 10: Java i nosivo računarstvo

1010

Programski jezik Java je proizvod američke računalne tvrtke Sun

Tvrtka i dan danas ima isključivo pravo na izmjene jezika i njegove arhitekture dobiven spor sa Microsoftom i njegovom verzijom Jave kao

još jednog jezika za programiranje Windowsa

Razvoj jezika pokrenut je 1991., a završen 1995.

Danas aktuelna verzija Jave nastala je 1997. i od tada se razvija dalje

Uvod

Page 11: Java i nosivo računarstvo

1111

Osnova misao vodilja: multiplatformski programski jezik jednostavan i visokih mogućnosti

Osnovno: Java programski kod se komapajlira u byte-code (međukod) i interpretira na Java Virtual Machine (JVM, Javin virtualni stroj) .java datoteke

– datoteke sa izvornim kodom .class datoteke

– datoteke sa kompajliranim izvornim kodom– Javine “izvršne” datoteke– interpteriraju se, “izvršavaju” na Javinom virtuelnom stroju

Slično je napravljena Microsoftova .NET platforma

Hello World aplikacija

Uvod (2)

Page 12: Java i nosivo računarstvo

1212

Arhitektura

Java izvorni kod

Java bajt kod (neovisan o platformi)Java

kompilator (Windows)

Java kompilator

(Mac)

Java interpreter (Windows)

Java interpreter (Mac)

Java interpreter (Solaris)

Java kompilator (Solaris)

Page 13: Java i nosivo računarstvo

1313

3 osnovne verzije: J2EE (Java 2 Enterprise Edition) J2SE (Java 2 Standard Edition) J2ME (Java 2 Micro Edition)

I veliki, veliki broj tehnologija… Za J2EE: Enterprise JavaBeansTM Architecture, JavaServer PagesTM, JavaTM Servlet, Java

Naming and Directory InterfaceTM (JNDI), JavaTM IDL, JDBCTM, JavaTM Message Service (JMS), JavaTM Transaction (JTA), JavaTM Transaction Service (JTS), JavaMail, RMI-IIOP

Za J2SE: JavaBeansTM Development Kit (BDK), Java HotSpotTM Server Virtual Machine, Collections Framework, JavaTM Foundation Classes (JFC), Swing Components, Pluggable Look & Feel, Accessibility, Drag and Drop, Security, JavaTM IDL, JDBCTM, JavaBeansTM, Remote Method Invocation (RMI), Java 2DTM, JavaTM Platform Debugger Architecture (JPDA)

Consumer & Embedded Technologies & Products: Java 2 Platform, Micro Edition (J2METM technology), Connected Device Configuration (CDC), Connected Limited Device Configuration (CLDC), C Virtual Machine (CVM), K Virtual Machine (KVM), PersonalJavaTM, EmbeddedJavaTM, Java CardTM, JavaPhoneTM API, Java TVTM API, JiniTM Network Technology, Mobile Information Device Profile (MIDP)

I druge… Da li je moguće sve znati?

Javine verzije i tehnologije

Page 14: Java i nosivo računarstvo

1414

Razvoj pokrenut na zasebnoj lokaciji početkom 1991. U sklopu razvoja projekata za komercijalnu elektroniku Za programiranje mikroprocesora televizora, video-

uređaja, glazbenih linija, mikrovalnih pećnica, tostera, strojeva za pranje rublja, ...

Tražio se jedinstveni računalni jezik koji će se izvršavati na različitim tipovima mikroprocesora

Projekt Green i programski jezik Oak (hrast) James Gosling – nakon neuspješnog prilagođavanja C++

zbog prevelike složenosti odlučio napraviti novi jezik– Uzeti osnove C-a i prilagoditi za elektroničke uređaje– “C++ minus minus”

započevši rad na kompajleru otvarao je novi direktorij, nije znao kako da ga nazove, pogledao je van kroz prozor i vidio hrast...

Povijesni razvoj

Page 15: Java i nosivo računarstvo

1515

U Oaku su pisane aplikacije za PDA uređaj * 7 (“star seven”) *7 je redosljed tipaka na telefonu koje se treba pritisnuti da

se u Sunovom sjedištu preuzme poziv sa drugog telefona *7 je koristio operativni sustav GreenOS koji je imao

animirano grafičko sučelje Duke (Javina maskota) sve što je ostalo od *7 ... Primjer: Duke MIDlet

Za Demonstraciju mogućnosti Oaka na World Wide Webu Sun je razvio aplikaciju WebRunner kasnije pretraživač HotJava Program napisan u Javi koji je mogao pokretati druge

programe napisane u Javi Uvelike popularizirao Javu

Povijesni razvoj (2)

Page 16: Java i nosivo računarstvo

1616

Debut 23. svibnja 1995. na sajmu SunWorld ’95 4 godine nakon početka razvijanja projekta

Verzija 1.0 - siječanj 1996. Konačna verzija Jave Sve klase moguće je sažeti u jednu ili više ZIP datoteka

(JAR – Java Archive). Time se ubrzava dohvaćanje Java programa i appleta sa Interneta.

Verzija 1.0.2 – svibanj 1996. Otklonjeni neki sigurnosni problemi

Verzija 1.1 – siječanj 1997. Uvedene Listener klase za registriranje događaja Još uvijek aktualna u najnovijim verzijama važnijih Internet

browsera: IE i NC

Povijesni razvoj (3)

Page 17: Java i nosivo računarstvo

1717

Verzija 1.2 Swing klase –za izradu naprednih grafičkih korisničkih

sučelja Nazvana (kao i sve kasnije verzije) “Java 2”

Verzija 1.3

Verzija 1.4

Razvoj se nastavlja...

Povijesni razvoj (4)

Page 18: Java i nosivo računarstvo

1818

“Java je jednostavan, objektno-orijentiran, distribuiran, interpretiran, robustan, siguran, prenosiv, visokoučinkovit, višenitan i dinamički programski jezik” – Sunova službena dokumentacija

Jednostavnost Jednostavna sintaksa, Java je laka za učenje, “pojednostavljeni C” nema pokazivača (pointera)

– nije moguće direktno čitati, ili pisati po memoriji– upravljanje memorijom je automatsko

Garbage collector čisti memoriju umjesto dekonstruktora klasa goto ključna riječ, ali zabranjena uporaba

Objektna orijentiranost Osnovni element građenja programa u Javi je klasa Samo neki najjednostavniji tipovi podataka (int, char, boolean) nisu

objekti Distribuiranost

Jednostavna uporaba mrežnih protokola (TCP/IP, FTP, HTTP)

Mogućnosti i svojstva

Page 19: Java i nosivo računarstvo

1919

Prenosivost i interpretiranje – izvorni kod se kompajlira, prevodi u byte-code i interpetira na Javinom virtuelnom stroju JVM (Java Virtual Machine) – osnovni dio arhitekture

Robusnost – ugrađena potpora za hvatanje i obradu iznimaka try...catch...finally blokovi

Sigurnost – koristi Java Sandbox – zabranjen direktni pristup memoriji, pokušaji kršenja prava pristupa datotekama na disku, nepravilnih pretvaranja među tipovima podataka, ...

Višenitnost (višedretven, multi-threaded) – korištenje dretvi je ugrađeno u Javu

Dinamičnost – programi pisani u Javi ponašaju se dinamički jednostavno dodavanje novih objekata, dijelova postojećim Java

programima

Mogućnosti i svojstva (2)

Page 20: Java i nosivo računarstvo

2020

Pozitivne strane Jave Što Java daje programeru?

Dosta pozitivnih stvari, nekoliko negativnih!

Pozitivne: dosad nabrojana mogućnosti i svojstva brza i jednostavna realizacija (kodiranje) široko tržište

– Java je široko korištena na serverskoj strani (servleti i JSP – Java Server Pages)

široke mogućnosti primjene– multiplatformnost, raznolikost, velike mogućnosti objektno

orjentiranog jezika dobra mogućnost unovčavanja znanja programera...

Page 21: Java i nosivo računarstvo

2121

Negativne strane Jave Negativne:

sporost u nekim primjenama– prvenstveno GUI i desktop aplikacije

fleksibilni programi širih mogućnosti zahtjevaju upotrebu (znanje) mnogih Javinih tehnologija

– JNI (Java Native Interface) za sistemske pozive OS-a– JavaComm za rad sa serijskim i paralelnim izlazima računala

ograničena rasprostranjenost– operativni sustav, mobilni telefon, uređaj mora imati potporu za JVM

ograničene mogućnosti– zbog sigurnosti i specifikacije uređaja na kojima se izvode

Page 22: Java i nosivo računarstvo

2222

Primjeri Primjeri: Java

Hello World aplikacija Hello World applet Hello World aplikacija sa objektima Prikaz mrežne komunikacije

Primjeri: Java 2 i Swing Frame applet JFileChooser applet JTree applet BasicTextEditor MDI primjeri

Page 23: Java i nosivo računarstvo

2323

J2ME

Page 24: Java i nosivo računarstvo

2424

Java 2 Micro Edition = “Mikro verzija” Jave Java namijenjena malim i mobilnim uređajima poseban skup funkcija (Java API) i JVM isključivo za upotrebu na

uređajima sa malim procesorkim i memorijskim kapacitetima

Ima sva svojstva jezika Java sintaksa, jednostavnost, objektnost, distribuiranost,

višedretvenost, robusnost, sigurnost, ...

Trenutno idealna solucija za implementaciju nosivog računarstva!

Uvod

Page 25: Java i nosivo računarstvo

2525

J2ME konfiguracije Konfiguracija = skup pravila koja određuju grupu uređaja za

koje je namijenjen određeni Java virtualni stroj

Postoje dvije J2ME konfiguracije: CLDC CDC

Page 26: Java i nosivo računarstvo

2626

CLDC konfiguracija CLDC = Connected Limited Device Configuration

izvršava se na K-virtuelnom stroju (K Virtual Machine, KVM)– podržava ograničen skupa Java 2 funkcija

namijenjen malim uređajima sa ograničenim resursima– mobilni telefoni– PDA (Personal Digital Assistants)– bankomati, ...

ograničenja:– 16/32 bitni mikroprocesor/kontroler– 160 KB ukupne memorije, 128 KB ROM, 32 KB RAM– 9600 bps bandwidth

koristi se na uređajima (mobitelima) sa podrškom za J2ME!

Page 27: Java i nosivo računarstvo

2727

CDC konfiguracija CDC = Connected Device Configuration

izvršava se na C-virtualnom stroju (C Virtual Machine, CVM)– podržava cjelokupnu Javu 2

namijenjen široj paleti uređaja, potrošačke elektronike– smart communicators (napredni mobilni telefoni)– pageri– PDA– uređaji za digitalnu televiziju, ...

ograničenja:– 32 bitni mikroprocesor/kontroler– preko 2 MB ukupne memorije

ne koristi se! (još)– još je u fazi nacrta/prijedloga– CLDC je jedina u praksi implementirana J2ME konfiguracija– mobiteli koji podržavaju J2ME implementiraju isključivo CLDC

konfiguraciju

Page 28: Java i nosivo računarstvo

2828

Java verzije i konfiguracije

Page 29: Java i nosivo računarstvo

2929

MIDP MID = Mobile Information Device MIDP = MID Profile

Profil = skup pravila i uvjeta koji dodatno (strože) definiraju pravila iz J2ME konfiguracije

MID profil je baziran isključivo na CLDC konfiguraciji

Page 30: Java i nosivo računarstvo

3030

Sun J2ME software paket http://java.sun.com/j2me/

SW paket namijenjen programerima (developerima) za razvoj J2ME aplikacija, tj. MIDleta sadrži J2ME klase, kompilator, J2ME JVM, sustav pomoći, J2ME

emulatore (simulatore mobilnih telefona sa podrškom za J2ME) i ostale alate potrebne za razvoj J2ME koda

može se integrirati sa nekim razvojnim alatima: Sun Forte, Borland JBuilder

Aktuelna verzija J2ME 1.0.3

Page 31: Java i nosivo računarstvo

3131

J2ME emulator “J2ME simulator”

Izvodi J2ME program i simulira njegovo ponašanje na pravom uređaju (npr. mobilnom telefonu)

Podržava (simulacijom) sve funkcije pravog mobilnog uređaja (mobitela)

Nalazi se u Sunovom J2ME software paketu, ili se isporučuje od proizvođača mobilnih telefona sa podrškom za J2ME (npr. Siemens, Nokia)

Page 32: Java i nosivo računarstvo

3232

Primjeri J2ME emulatora

Page 33: Java i nosivo računarstvo

3333

Mobilni uređaji sa podrškom za J2ME Mobiteli:

Siemens: SL45i, SL45 (sa nadogradnjom SW), M50 Nokia: 3410, 6310i, 7210, 7650, 9210 i 9290 (MIDP i PersonalJava) Motorola: i85s, i50sx, Accompli 008/6288, i55sr, i80s, i90c Samsung: SCH-X130, SCH-x350, SPH-I300 Casio: CdmaOne C452CA LG: p510, p520 Hitachi: CdmaOne C451H J-Phone, Kyrocera, Sendo, Danger, DoCoMo (preko 10 modela)

PDA: PalmOS, Windows CE 2.11, EPOC (netBook), Psion 5mx, SAVAJE XE,

BlackBerry, Symbian

Dobre vijesti: podugačak popis koji se sve više proširuje...

Page 34: Java i nosivo računarstvo

3434

MIDlet MIDlet

“Mobile Information Device Application” “applet za MID” MIDlet je J2ME aplikacija/program

Svi MIDleti koriste sužen skup Java 2 funkcija CLDC konfiguracija i MID profil

Dostavlja se:1. u JAR (Java Archive) datoteci i sa JAD (Java Definition) datotekom2. Samo JAD datoteka, a JAR se kasnije downloadira sa Interneta JAR sadrži sve izvršne .class datoteke i ostalo (slike, konfig.

datoteke, ...) JAD opisuje gdje se JAR nalazi, koliko je velik, kako se MIDlet

zove, ... ako imamo samo JAD datoteku JAR datoteka će se prije izvođenja

MIDleta automatski skinuti sa interneta

Primjer: MIDlet pozdrav

Page 35: Java i nosivo računarstvo

3535

Razvojni ciklus MIDleta Termini i postupci

specifični za J2ME: predprovjera

(preverifying) JAD datoteke

(Java Definition File)

emulator

Nakon kompajliranja .class datoteke se predprovjeravaju Traže se reference na klase koje MIDP ne podržava KVM ne mora provjeravati klase i može biti manji i kompaktniji

Nakon predprovjere .class datoteke se pakiraju u jednu JAR datoteku (JAR datoteke su ZIP formata –> WinZip, WinRAR) Korak nije obavezan

Page 36: Java i nosivo računarstvo

3636

Razvojni ciklus MIDleta (2) JAD datoteka mora se napraviti ručno, ili iz J2ME SW paketa

(KToolbar aplikacija) Sadrži aplikacije koje opisuju JAR, njegov naziv i veličinu u

bajtovima; naziv i lokaciju MIDleta (Internet, hard disk); koliko je MIDleta u JARu; koja je verzija MIDleta, tko isporučuje MIDlet

JAD datoteka je tekstualna datoteka Za kompajliranje i pakiranje se koristi Java 2 kompajler i

aplikacija za pakiranje (javac.exe, jar.exe) Za preprovjeru i emulaciju koriste se J2ME aplikacije

(preverify.exe, emulator.exe)

Primjer 1: JAD, JAR i manifest (MF) datoteke Primjer 2: kompajliranje, predprovjera, emulacija

Page 37: Java i nosivo računarstvo

3737

Prikaz Ovisi o veličini ekrana, rezolucijama i mogućnosti prikaza boja J2ME omogućuje zadovoljavajući mehanizam prikaza grafike i

tekstualnih poruka ovisno o potrebi moguće je poboljšati prikaza vlastitim klasama

Važnije J2ME klase za prikaz:Display

Displayable

Canvas

Screen

Alert

Form

List

TextBox

Primjer: MIDletCanvas pozdrav

Page 38: Java i nosivo računarstvo

3838

Grafika Grafičke mogućnosti naravno variraju od modela do modela Grafika u boji (256 boja) ili crno-bijela (2 boje); crno-žuta (SL45i) Rezolucija... Procesorske mogućnosti ograničavanju veće grafičke (3D)

proračune treba obratiti pažnju na kvalitetu animacije (broj slika u sekundi;

fps) Mogu se koristiti slike, ali isključivo u PNG formatu

paziti na bandwidth i download time Klasa Graphics

sadrži metode za ispis teksta, crtanje točke, linije, pravokutnika, dijela kružnice, za popunjavanje istih bojom, za manipulacijom bojama (RGB komponentama), itd.

sužen skup mogućnosti i metoda u usporedbi sa Java2 klasom Graphics

Primjer: Graphics, Amark, TravelingGecko

Page 39: Java i nosivo računarstvo

3939

Korisničko sučelje (UI) Dozvoljeno je korištenje gumbi, labela, polja za unos teksta

(lozinki, brojki, email adrese, URL adrese, telefonskog broja), lista (grupa lista, check boxova, radio buttona) progress barova, modalnih i nemodalnih poruka, kontrola kalendara i sata, slika i pomičnog teksta (Ticker)

Mogućnosti su prilično velike Relevantne klase i sučelja:

Alert, AlertType, Choice, ChoiceGroup, Command, DateField, Gauge, ImageItem, List, StringItem, TextBox, TextField, Ticker

Primjer: UIDemo

Page 40: Java i nosivo računarstvo

4040

Rad sa datotekama i mrežom Jedno od najvećih prednosti J2ME i MIDleta je lak i jednostavan

rad sa mrežom, mrežnim protokolima i resursima i npr. sa ugrađenim modemom, serijskim portom, Bluetooth

uređajem

Od početka (J2ME 1.0.1) podržan je HTTP protokol J2ME 1.0.3 podržava i druge načine mrežnog prijenosa podataka:

socket, datagram, file, port– http://www.j2me.com/– socket://www.j2me.com:1800– datagram://1800– file:/j2me.txt– comm:0;baudrate=9600

mobiteli još ne podržavaju J2ME 1.0.3

Page 41: Java i nosivo računarstvo

4141

Rad sa datotekama i mrežom (2) Kako komunicirati sa serverom? Kako server može komunicirati

sa mobitelom? pomoću “najobičnijeg” HTTP GEThttp://www.j2me.com/cgi?a=1&b=1

http://www.j2me.com/servlet?a=1&b=1

Relevantne klase i sučelja: Connector, Connection, Datagram, DatagramConnection,

DataInput, DataOutput, DataInputStream, ...

Primjer: Fortune

Page 42: Java i nosivo računarstvo

4242

OEM-ekstenzije

Siemensove OEM-ekstenzije omogućuju slanje SMS-a (uz potvrdu korisnika), uspostavljanje poziva, korištenje vibre, upotrebu dijela phonebooka (zbog sigurnosti), slanje i primanje podataka (SMS, IrDA, serijska veza, modem), komponiranje i sviranje melodija, lakši rad sa grafikom i animacijama

Svoje OEM-ekstenzije nude i drugi proizvođači, npr. Motorola tako se omogućuje korištenje posebnih funkcija mobitela: Bluetooth

sučelja, serijskog porta, IrDa sučelja, vibre, SMS funkcije, itd.

OEM-ekstenzije su dodatan skup J2ME klasa, sučelja i pripadajućih metoda koje se naslanjaju na CLDC konfiguraciju, MID profil i proširuju njihove mogućnosti

Primjer: Siemens J2ME API Help

Page 43: Java i nosivo računarstvo

4343

MIDP Record Managment System (RMS) RMS je skup J2ME klasa i sučelja koje omogućuju pohranu

podataka u jednostavnu bazu podataka na uređaju na kojemu se izvodi MIDlet

Pomoću RMSa podaci se mogu trajno pohraniti na mobilnom uređaju i jednostavno dohvatiti kada su potrebni

Poput spremanje konfiguracijskih datoteka, ili sistema Windows Registry

Osnovna klasa: RecordStore Sučelja:

RecordEnumeration, RecordComparator, RecordFilter, RecordListener

Primjer: Contacts

Page 44: Java i nosivo računarstvo

4444

Budućnost J2ME Broj uređaja koji podržavaju J2ME svakodnevno raste

J2ME mobiteli više nisu rijetki, niti skupi povećava se potreba za J2ME softwareom i sadržajima koje mobilni

uređaji mogu ponuditi tržište traži korisne aplikacije i napredak se nastavlja dalje... jedino J2ME daje mogućnost pokretanja aplikacija na

mobitelima! Očekuje se implementacija CDC konfiguracije u praksi

snažniji uređaji koji će imati na raspolaganju sve mogućnosti Jave 2 Konvergencija J2ME i drugih (Java) tehnologija

nova rješenja sjedinjuju prenosivo i ne-prenosivo računarstvo Sve više praktičnih primjena mobilnog računarstva

obavljanje novčanih transakcija preko mobitela korištenje različitih web servisa (najbliži restoran, kino, rezervacija

ulaznica za kazalište, cijena raznih proizvoda, ...) chat, igre, zabava...

Page 45: Java i nosivo računarstvo

4545

Relevantni alati i internet adrese http://java.sun.com/j2me/ http://www.midlet.org/ http://www.microjava.com/ http://www.midletcentral.com/ http://www.corej2me.com/ http://wireless.java.sun.com/ http://www.devicetop.com/ http://yozone.yospace.com/ http://www.jguru.com/ http://wwws.sun.com/software/communitysource/j2me/

I mnoge druge adrese... Na Internetu se nalazi puno materijala za J2ME