| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Co ty zkratky znamenajφ?
J2me (Java 2 microedition) je nejmenÜφ ze t°φ zßkladnφch edic javy (zbylΘ dv∞ jsou J2SE a J2EE), jak u₧ nßzev napovφdß. Mikroedice vznikla s cφlem sjednotit r∙znΘ odno₧e javy pro malß za°φzenφ, kterß nezvlßdnou standardnφ edici. Tato za°φzenφ zahrnujφ p°φstroje s r∙zn²mi vlastnostmi, proto nenφ mikroedice jedna specifikace jako standardnφ edice, ale Φlenφ se na r∙znΘ konfigurace a profily. Konfigurace urΦuje zßkladnφ sadu knihoven a vlastnosti p°φstroje, kterΘ profil u₧ jen up°es≥uje.
Zßkladnφ Φlen∞nφ J2ME
CLDC (Connected Limited Device Configuration)
Tato konfigurace je zam∞°ena na malß za°φzenφ. Co se t²kß hardwaru, specifikuje pouze minimßlnφ nßroky na pam∞¥, a to 160 kB stßlΘ pam∞ti (nap°. ROM, p°i vypnutφ za°φzenφ z∙stßvajφ data zachovßna) a 32 kB "nestßlΘ" pam∞ti, kterß je k dispozici p°i b∞hu virtußlnφho stroje nap°φklad na zßsobnφk. Z d∙vodu zmenÜenφ velikosti virtußlnφho stroje byly n∞kterΘ funkce omezeny nebo odstran∞ny. Ov∞°ovßnφ korektnosti bajtk≤du, tzv. verifikaci, kterou obvykle provßdφ virtußlnφ stroj, bylo rozd∞leno na dv∞ fßze. V prvnφ fßzi (preverifikace), kterß se provede po p°ekladu zdrojovΘho k≤du, je do ka₧dΘ t°φdy p°ipsßn atribut StackMap, kter² pak pou₧ije virtußlnφ stroj ke zjednoduÜenφ verifikace.
Zßkladnφ syntaxe jazyka je stejnß, jako ve vÜech ostatnφch edicφch. Knihovny obsahujφ velmi omezenou podmno₧inu standardnφ edice, a to vybranΘ a trochu upravenΘ t°φdy z nßsludujφcφch knihoven:
- java.lang
- java.io
- java.util
A navφc novou knihovnu pro I/O operace, s t°φdami u nich₧ nebylo mo₧no zachovat podobnost se standardnφ edicφ:
- javax.microedition.io
MIDP (Mobile Information Device Profile)
MIDP je profil, kter² up°es≥uje CLDC konfiguraci pro pou₧itφ na nejmenÜφch za°φzenφch, jako jsou obyΦejnΘ mobilnφ telefony. Prßv∞ tato platforma se t∞Üφ nejv∞tÜφ pozornosti, proto₧e se t²kß hromadn∞ rozÜφ°en²ch za°φzenφ. K hardwarovΘ specifikaci p°idßvß po₧adavek na minimßlnφ velikost displeje 96 x 54 (p°esn∞ tuto velikost majφ nap°φklad telefony Nokia 3410 nebo 6310i) a na mo₧nost ovlßdat za°φzenφ klßvesami nebo dotykem obrazovky. TakΘ navφc vy₧aduje aspo≥ 8 kB stßlΘ pam∞ti pro uklßdßnφ dat aplikacφ.
Ke knihovnßm specifikovan²m v CLDC p°idßvß dalÜφ:
- javax.microedition.rms û sprßva trval²ch dat
- javax.microedition.midlet û obsahuje t°φdu MIDlet, kterß je zßkladnφ t°φdou MIDP profilu.
- javax.microedition.io û k CLDC p°idßvß t°φdu HttpConnection
- javax.microedition.lcdui û t°φdy pro tvorbu u₧ivatelskΘho rozhranφ
Ve verzi MIDP-2.0, jejφ₧ specifikace je ji₧ k dispozici, p°ibude dalÜφ d∙le₧itß funkΦnost, jako nap°. p°ipojenφ pomocφ soket∙ nebo ovlßdßnφ zvuku.
Skoro vÜechny mobilnφ telefony spadajφ do kategorie MIDP. V²jimkou jsou n∞kterΘ komunikßtory se siln∞jÜφm procesorem a v∞tÜφ pam∞tφ (nap°. Nokia 9210). Aplikacφm pro tuto kategorii se °φkß midlet podle zßkladnφ t°φdy profilu MIDP.
PDAP
Profil rozÜi°ujφcφ CLDC konfiguraci, kter² je, jak u₧ jeho nßzev napovφdß, urΦen pro PDA za°φzenφ s v∞tÜφm displejem. Zatφm je teprve ve v²voji.CDC (Connected Device Configuration)
CDC je konfigurace cφlenß na za°φzenφ s 32bitov²m procesorem a alespo≥ 512 kB ROM a 256 kB RAM. Virtußlnφ stroj musφ zvlßdat prakticky stejnou funkΦnost jako ve standardnφ edici.
Knihovny CDC konfigurace tvo°φ nadmno₧inu knihoven CLDC konfigurace. Navφc obsahujφ knihovny
- java.net
- java.text
- java.security
V∞tÜina nßsledujφcφch specifikacφ je teprve ve v²voji, proto vßm mo₧nß bude p°ipadat nßsledujφcφ popis profil∙ pon∞kud zkratkovit².
Foundation profil
P°idßvß v∞tÜinu zßkladnφch t°φd, kterΘ CDC chybφ oproti standardnφ edici. Neobsahuje ₧ßdnΘ u₧ivatelskΘ rozhranφ a takΘ neobsahuje knihovny java.beans, java.rmi ani java.sql Tvo°φ zßklad pro dalÜφ rozÜi°ujφcφ profily. Vy₧aduje 1 MB ROM a 512 kB RAM.
Personal Basis profil
P°idßvß zßkladnφ u₧ivatelskΘ rozhranφ, kterΘ je omezenΘ na pou₧itφ pouze jednoho okna.
Personal profil
Sem se p°esunuje edice Personal java, kterß je ji₧ rozÜφ°enß na spoust∞ za°φzenφ, jako jsou PDA nebo komunikßtory (Nokia 9210). Je skoro stejnß, jako starß verze javy p°ed vznikem grafickΘ knihovny javax.swing, na kreslenφ u₧ivatelskΘho rozhranφ se pou₧φvß knihovna java.awt. Vy₧aduje 2,5MB ROM a 1MB RAM.
RMI profile
P°idßvß k foundation profilu vzdßlenΘ volßnφ metod kompatibilnφ s rozhranφm standardnφ edice (knihovna java.rmi)
Game profil
Ke koneΦnΘ verzi specifikace mß jeÜt∞ hodn∞ daleko. M∞l by b²t urΦen specißln∞ k v²voji her.
Midlety a jejich omezenφ
P°i b∞hu se mno₧stvφ pam∞ti, kterß je k dispozici, pohybuje kolem n∞kolika set kilobajt∙. Velikost aplikace je na r∙zn²ch za°φzenφch omezena r∙zn∞. Pro telefon Nokia 6310 se musφ vejφt do 30 kB, pro telefon Nokia 7210 do 64 kB, do Nokia 7650 se vejde i 1MB aplikace. Tato Φφsla jsou tak malß, ₧e je nutnΘ p°i v²voji v∞novat zvlßÜtnφ pozornost ·spornΘmu psanφ a nepl²tvat pam∞tφ.
J2ME je relativn∞ mladß technologie, co₧ s sebou nese spoustu nedostatk∙. P°esto₧e vznikla proto, aby sjednotila specifikaci jazyka, je velmi obtφ₧nΘ napsat midlet, kter² by beze zm∞n b∞₧el na r∙zn²ch telefonech. Pro ka₧d² telefon implementuje jeho v²robce J2ME podle tΘ₧e specifikace. P°i pokusu o ov∞°enφ p°enositelnosti aplikace ale autor zjistφ, ₧e se implementace i p°esto v n∞kter²ch nuancφch liÜφ.
DalÜφm problΘmem je, ₧e specifikace se n∞kter²mi v∞cmi nezab²vß v∙bec û nap°. ovlßdßnφm zvuku, p°φstupem k SMS, MMS. Tuto funkΦnost dodßvajφ v²robci telefon∙ navφc. Jakmile vÜak v²vojß° pou₧ije rozÜi°ujφcφ t°φdy, stßvß se aplikace nep°enositelnou. Dobrou zprßvou je, ₧e specifikace MIDP 2.0, jejφ₧ prvnφ implementace m∙₧eme Φekat v polovin∞ p°φÜtφho roku, u₧ nejzßsadn∞jÜφ nedostatky prvnφ verze specifikace odstranila.
Na zßv∞r n∞jakΘ klady
Jestli₧e pot°ebujete mφt n∞jakou aplikaci neustßle s sebou, je ideßlnφ umφstit ji na mobilnφ telefon. J2ME je pak nejjednoduÜÜi mo₧nostφ (a Φasto jedinou), jak to ud∞lat. Vzhledem k masivnφ podpo°e javy v²robci mobilnφch telefon∙ jako Nokia, Siemens ci Motorola, se budou jejφ mo₧nosti v²razn∞ zlepÜovat. Ve spojenφ s GPRS je pou₧itφ javovskΘ aplikace pro p°φstup k serverov²m dat∙m cenov∞ ·nosnΘ a umo₧nφ vßm b²t neustßle "on-line".
V p°φÜtφm dφle se m∙₧ete t∞Üit na nßvod k napsßnφ vaÜeho prvnφho midletu.
Prameny a literatura
-
┌vod od firmy Sun -
Introduction to Wireless Java[tm] Technology
(z t∞chto strßnek si je mo₧nΘ stßhnout takΘ veÜkerΘ specifikace) - Connected Device Configuration and the Foundation Profile - dobrΘ mφsto, kde zaΦφt, zajφmß-li vßs vφce CDC. Je tu i ukßzka aplikace.
- èeda, Jan: Co umo₧≥uje Java v mobilnφch telefonech?
- MIDP-2.0 û co nßs Φekß a nemine
- Topley, Kim: J2me in a nutshell, O'Reilly, 2002