Interval.cz
Co vßs zajφmß o J2ME, ale bßli jste se zeptat

Slovo java je dnes sklo≥ovßno v osmi pßdech v souvislosti s mobilnφmi telefony. Javu podporujφ tΘm∞° vÜechny telefony, kterΘ nov∞ p°ichßzejφ na trh. Je tedy nejvyÜÜφ Φas nauΦit se, jak si aplikaci, kterß vßm na vaÜem mobilu chybφ, doprogramovat. K tomu by vßm m∞l pomoci serißl, jeho₧ ·vodnφ dφl prßv∞ Φtete.

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



Lucie Rut Bittnerovß (14.10. 2002)
programßtor û analytik Amaio Technologies

Redakce Interval.cz |  Inzerce na Interval.cz |  Hledßme novΘ autory ISSN 1212-8651 
 ⌐ Zoner software, s.r.o., vÜechna prßva vyhrazena, tento server dodr₧uje prßvnφ p°edpisy o ochran∞ osobnφch ·daj∙.