Java ME
Java Platform, Micro Edition (neboli Java ME, dříve označovaná jako Java 2 Micro Edition nebo J2ME) je jedna z několika základních platforem Javy (spolu s Java SE a Java EE) a Java Card). Někteří považují Java Card za podsoučást Java ME. Jedná se o podmnožinu Java platformy SE, s cílem nabídnout sbírku API určenou pro vývoj software pro malá zařízení a zařízení s omezenými prostředky.
Java ME bylo vyvinuto firmou Sun Microsystems a nahrazuje dřívejší technologii, tzv. PersonalJava. Bylo vydáno pod licensí GNU General Public License.
Connected Limited Device Configuration (CLDC)
CLDC je určen především pro mobilní telefony či PDA s malou pamětí. Aplikace v CLDC konfiguraci se nazývají MIDlety (hlavní třída je potomkem abstraktní třídy javax.microedition.midlet.MIDlet). V současné době drtivé množstí výrobců mobilních telefonů implementuje CLDC ve svých výrobcích.
Nároky na pamět:
Vyžaduje 160 kb ROM a 32 kB RAM. Specifikace CLDC nevyžaduje po implementaci použití žadného konkrétního virtuálního stroje (VM), nicméně Sun Microsystems poskytuje referenční VM - tzv.
Kilobyte Virtual Machine, s velmi malými paměťovými nároky. CLDC konfigurace 1.0 obsahuje tyto balíčky [1]
- java.io - poskytuje vstupní a výstupní datové proudy
- java.lang - poskytuje třídy nutné pro návrh v programovacím jazyce Java
- java.util - obsahuje framework kolekcí, nástroje pro usnadnění práce s datem a časem, a další různorodé nástroje
- javax.microedition.io - třídy pro správu všeobecného spojení
Základní syntaxe jazyka Java je stejná, jako ve všech ostatních edicích. V podstatě se jedná o Java SE o několik let zpět. Protože CLDC používá redukovaný virtuální stroj KVM, který neobsahuje plnohodnotný verifikátor bytekódu jako Java Virtual Machine, musí být kód preverifikován při kompilaci. Zajímavostí je, že CLDC neuvažuje o vstupu z klávesnice a výstupu na obrazovku, to zařizují až samotné profily. V březnu 2003 vyšla specifikace CLDC 1.1, umožňující větší podporu zařízení s většími zdroji.
Profily spadající pod CLDC
Profily doplňují konfigurace o další třídy, které poskytují specifické vlastnosti pro dané typy zařízení. Oba typy konfigurací mají své profily.
Mobile Information Device Profile (MIDP)
MIDP profil je určen především pro mobilní zařízení (vzhledem k tomu, že náleží k CLDC, tak především pro mobilní telefony). Tento profil přidavá k CLDC práci se sítí, uživatelské rozhraní (UI) a lokalní uložistě. Profil je zaměřen na zařízení s omezenou funkcionalitou zobrazování a ukládání informací. Z toho důvodu poskytuje relativně jednoduché UI a základní síťovou komunikaci založenou na protokolu HTTP 1.1. MIDP patří mezi nejznámější Java ME profily a tvoří základ technologie Wireless Java.
MIDlety běží v zařízení z bezpečnostních důvodů v tzv. sandboxu, neboli na svém vlastním pískovišti, které nemůže opustit.
Ke knihovnám specifikovaným v CLDC přidává MIDP 1.0 (vydáno říjen 2000) další:
- javax.microedition.rms - správa persistence dat
- javax.microedition.midlet - třída MIDlet, která je základní třídou MIDP profilu
- javax.microedition.io - zejména třída HttpConnection
- javax.microedition.lcdui - třídy pro tvorbu uživatelského rozhraní
MIDP 2.0 (vydáno listopad 2002) rozšiřuje dále funkcionalitu o následující balíky:
- javax.microedition.media - přehrávání multimedií. Jedná se o podmnožinu JSR 135 Java Mobile Media API
- javax.microedition.lcdui.game - herní API zaměřené na jednoduché 2D hry
- javax.microedition.pki - autentizační API pro zabezpečené přípojení
- zavádí možnost práce s desetinnými čísly.
MIDlet
MIDlet je javová aplikace, postavená na základě MIDP profilu. Mohou to být různé aplikace pro mobilní a jiná zařízení, jako např. hry. Hlavní soubor MIDletu je soubor .jar, který obsahuje třídy programu, zdroje (obrázky, atd.) a manifest (soubor určující hlavní třídu a další informace).
Distribuce MIDletů často obsahují také soubor .jad, který obsahuje adresu .jar souboru a další informace o .jar souboru a jeho výrobci. Některé implementace mohou přítomnost .jad souboru vyžadovat, případně na jeho základě odmítnout instalaci MIDletu.
MIDlet musí splňovat následující požadavky, aby běžel na mobilním telefonu:
- MIDlet musí být zabalen do .jar souboru
- hlavní třída musí být potomkem javax.microedition.midlet.MIDlet
- .jar soubor musí být preverifikován použitím preverifikátoru.
- v některých případech musí být .jar soubor podepsán mobilním operátorem
Pokud je v .jad souboru popsáno více MIDletů, tvoří dohromady jeden MIDlet suite. Celá MIDlet suite může pak sdílet společné databáze (použitím tříd balíčku javax.microedition.rms) a společné proměnné, které se ukládají do .jad souboru. MIDlety jsou narozdíl od appletů limitovány na použítí jednoduchého uživatelského rozhraní LCDUI. Existuje také mnoho dalších aspektů, které musí programátoři MIDletů vzít v úvahu.
Information Module Profile (IMP)
IMP spadá pod CLDC konfiguraci, je to profil pro jednoduchá zařízení buď s jednoduchým displejem nebo bez displeje, s omezenou možností připojení k síti, většinou prodejní automaty nebo jednoduché bezpečnostní systémy.
Profil IMP je úzce spojen s profilem MIDP (jak 1.0, tak i nasledným 2.0), je to v podstatě jeho podmnožina, okrájená o možnost tvorby uživatelského rozhraní (především o balíček javax.microedition.lcdui).
Connected Device Configuration (CDC)
Tato konfigurace je určena k použití v zařízeních, které potřebují kompletní implementaci Java virtual machine. Konkrétní sada API může (v závislosti na daném profilu) obsahovat celou Java Platformu SE. Typické implementace používají podmnožinu API, v závislosti na podporovaných profilech. [2]
Aplikace se nazývají Xlety. Tato zařízení mohou díky větší paměti a procesorovému výkonu využívat z javového prostředí daleho více. CDC se objevuje u PDA, smartphonů, set-top boxů atd.
Nároky na systémové prostředky:
Vyžaduje 32bitový procesor a alespoň 512 kB ROM a 256 kB RAM. Konfigurace CDC pracuje s profily Foundation Profile, Personal Basis Profile a Personal Profile.
Platforma Java TV
Java TV je nová konfigurace Java ME, určená speciálně pro tvorbu interaktivních televizních služeb. Podle zdrojů z května 2009 implementují tuto
platfarmu tito výrobci: [3]
- MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.
- PHILIPS CONSUMER ELECTRONICS
- SONY ELECTRONICS
- LG ELECTRONICS
- HONGKONG TELECOM
- OPENTV
- TOSHIBA
Podle slov výrobce [4] bude moci programovací rozhraní Java TV poskytnout vývojářům vysoký stupeň kontroly nad
vzhledem aplikací a flexibilitu při jejich vytváření, a uživatelům interaktivních televizí poskytne dynamický a podmanivý zážitek. Aplikace jsou stejně jako u aplikací CDC tzv. Xlety, hlavní třídy musí být potomky abstraktní třídy javax.tv.xlet.Xlet.
Související články
Externí odkazy
- http://interval.cz/vyvoj-aplikaci/j2me/
- http://java.sun.com/j2me
- http://www.billday.com/j2me/
- http://www.midlet-review.com
- http://games.macrospace.com
- http://www.microjava.com
- http://www.mophun.com
- http://wireless.ign.com
- http://www.qualcomm.com/brew
- J2ME device database and multi-device porting framework
- http://wireless.java.sun.com/device/
- http://www.javagames.com
- http://www.forum.nokia.com/main.html
- http://www.motocoder.com
- http://j2me.gsmdev.com
- http://archives.java.sun.com/archives/kvm-interest.html