Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ³Ρ€ для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ²Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 10

Автор Майкл ΠœΠΎΡ€Ρ€ΠΈΡΠΎΠ½

Экскурсия

Π£Π΄Π΅Π»ΠΈΡ‚Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΠΎΠΈΠ³Ρ€Π°ΠΉΡ‚Π΅ с эмулятором J2ME ΠΈ трСмя ΠΈΠ³Ρ€Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ Π² состав J2ME Wireless Toolkit. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ‡Π΅Π³ΠΎ-Ρ‚ΠΎ большСго, посСтитС сайт ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Motorola ΠΈΠ»ΠΈ Nokia, ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ J2ME SDK, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΈΠΌΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ². Π’Ρ‹ смоТСтС ΡΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΄Π°Π²Π°Π΅ΠΌΡ‹ΠΉ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ интСрСснСС, Π½Π΅ΠΆΠ΅Π»ΠΈ эмулятор стандартных Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ², входящий Π² состав J2ME Wireless Toolkit.

Π“Π»Π°Π²Π° 3 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ мобильной ΠΈΠ³Ρ€Ρ‹ Skeleton

...

Архив Аркад

Π˜Π³Ρ€Π° Galaxian, выпущСнная ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Namco Π² 1979 Π³ΠΎΠ΄Ρƒ, Π±Ρ‹Π»Π° ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈΠ³Ρ€ΠΎΠΉ ΠΆΠ°Π½Ρ€Π° «космичСский ΡˆΡƒΡ‚Π΅Ρ€Β», наслСдницСй Space Invaders. Galaxian – ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΡ†Π° ΠΈΠ³Ρ€Ρ‹ Galaga, которая, вСроятно, являСтся самой ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ ΠΈΠ³Ρ€ΠΎΠΉ всСх Π²Ρ€Π΅ΠΌΠ΅Π½ Π² своСм ΠΆΠ°Π½Ρ€Π΅. Π’ Galaxian, ΠΊΠ°ΠΊ ΠΈ Π² любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΈΠ³Ρ€Π΅ ΠΆΠ°Π½Ρ€Π° «космичСского ΡˆΡƒΡ‚Π΅Ρ€Π°Β», Π²Ρ‹ управляСтС космичСским ΠΊΠΎΡ€Π°Π±Π»Π΅ΠΌ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΡŽΡ‰ΠΈΠΌΡΡ вдоль Π½ΠΈΠΆΠ½Π΅Π³ΠΎ края экрана ΠΈ Π²Π²Π΅Ρ€Ρ… ΠΏΡ€ΠΈ Π°Ρ‚Π°ΠΊΠ΅ ΠΊΠΎΡ€Π°Π±Π»Π΅ΠΉ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΠ°. Galaxian Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ особоС мСсто Π² истории Π²ΠΈΠ΄Π΅ΠΎΠΈΠ³Ρ€, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это пСрвая Π°Ρ€ΠΊΠ°Π΄Π° с RGB-Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° языкС Java связана со Π·Π½Π°Π½ΠΈΠ΅ΠΌ Java ΠΈ Π½Π°Π±ΠΎΡ€Π° API, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ сСрвисов ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, GUI-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² сСтях, ΠΈ Π²Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄). Π’ этом смыслС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Java Π½ΠΈΡ‡Π΅ΠΌ Π½Π΅ отличаСтся, здСсь Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π½Π°Π±ΠΎΡ€ API для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… процСссов, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΌΠΈΠ΄Π»Π΅Ρ‚Π°ΠΌ ΠΈΠ³Ρ€ для Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² бСспроводной мобильной срСдС. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ³Ρ€, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ эти API ΠΈ ΠΈΡ… Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’ Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Π΅ Π²Ρ‹ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅ΡΡŒ с API мобильного Java ΠΈ ΠΏΡ€ΠΎΠΉΠ΄Π΅Ρ‚Π΅ ΡΡ‚Π°Π΄ΠΈΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ «скСлСта» ΠΈΠ³Ρ€Ρ‹. Π’Π°ΠΊΠΎΠΉ «скСлСт» ΠΌΠΈΠ΄Π»Π΅Ρ‚Π° послуТит ΠΊΠ°ΠΊ шаблон для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ³Ρ€ Π²ΠΎ всСй ΠΊΠ½ΠΈΠ³Π΅.

ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Π² эту Π³Π»Π°Π²Ρƒ, Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅:

β–Ί ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° J2ME разбиваСтся Π½Π° нСсколько Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… API;

β–Ί ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ структурС ΠΌΠΈΠ΄Π»Π΅Ρ‚ΠΎΠ²;

β–Ί ΠΊΠ°ΠΊ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΌΠΈΠ΄Π»Π΅Ρ‚ Π½Π° основС шаблона, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΈΠ³Ρ€ΠΎΠ²ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ мобильном Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π΅;

β–Ί ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠΈΠ΄Π»Π΅Ρ‚Ρ‹ для распространСния.

Знакомство с J2ME API

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ вашСго ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ мобильного прилоТСния, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ познакомится с API, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΏΡ€ΠΈ сборкС ΠΌΠΈΠ΄Π»Π΅Ρ‚ΠΎΠ². БпСцификация MIDP (Mobile Information Device Profile) β€“ это Π½Π°Π±ΠΎΡ€ ΠΏΡ€Π°Π²ΠΈΠ», ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ возмоТности ΠΈ ограничСния Java Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ². Π’Π°ΠΆΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ этих возмоТностСй ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π½Π°Π±ΠΎΡ€ классов ΠΈ API, доступных для программирования ΠΌΠΈΠ΄Π»Π΅Ρ‚ΠΎΠ². Π₯отя спСцификация MIDP Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС ΠΏΠ°ΠΊΠ΅Ρ‚Π° API, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для программирования ΠΌΠΈΠ΄Π»Π΅Ρ‚ΠΎΠ², Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ API прСдоставляСт CLDC (Connected Limited Device Configuration). MIDP API построСн Π½Π° основС CLDC API ΠΈ прСдоставляСт классы ΠΈ интСрфСйсы, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ². О CLDC ΠΌΠΎΠΆΠ½ΠΎ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΎ срСдствС, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΌ основныС Java API для сСтСвых устройств, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ MIDP ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ спСцифичныС API, Π΄ΠΎΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠ΅ CLDC API для ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹Ρ… бСспроводных устройств ΠΊΠ°ΠΊ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρ‹ ΠΈ ΠΏΠ΅ΠΉΠ΄ΠΆΠ΅Ρ€Ρ‹.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎΠ± этих спСцификациях ΠΈ API? Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ CLDC ΠΈ MIDP ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ явно ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚, ΠΊΠ°ΠΊΠΈΠ΅ классы ΠΈ API ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания ΠΌΠΈΠ΄Π»Π΅Ρ‚. ΠœΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ устройства – это Π³ΠΈΠ±ΠΊΠΈΠ΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ Ρ‚Π°ΠΊΠΎΠΉ Ρ€ΠΎΡΠΊΠΎΡˆΠΈ, ΠΊΠ°ΠΊ ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Ρ‹ памяти. По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Sun ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π½Π°ΠΉΡ‚ΠΈ способ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, выполняСмых Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ устройства. РСшСниСм стала Ρ€Π°Π·Π±ΠΈΠ²ΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π½Π° Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈ. CLDC API описываСт Π±Π°Π·ΠΎΠ²Ρ‹Π΅ классы ΠΈ интСрфСйсы, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ сСтСвым устройствам, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ MIDP API ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ интСрфСйсы ΠΈ классы, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ устройствам, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сотовым Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°ΠΌ. На рис. 3.1 ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ взаимосвязи ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠΈΠ΄Π»Π΅Ρ‚ΠΎΠΌ, CLDC API ΠΈ MIDP API.

Рис. 3.1. Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΌΠΈΠ΄Π»Π΅Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²Ρ‹ CLDC API ΠΈ MIDP API

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ хотя CLDC API ΠΈ MIDP API Π±Ρ‹Π»ΠΈ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Π½Ρ‹ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ нСобходимости компромисса ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ памяти ΠΈ ограничСниями ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств, ΠΈΡ… Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… случаях нСдостаточно.

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² рядС случаСв Π²Π°ΠΌ придСтся Π±ΠΎΠ»Π΅Π΅ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠΈΠ΄Π»Π΅Ρ‚ ΠΈΠ³Ρ€Ρ‹, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² вашСм распоряТСнии Π½Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° API, Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π² случаС ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ программирования.

CDLC API

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ классов, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… Π² CDLC API, происходят нСпосрСдствСнно ΠΈΠ· стандартного J2SE API. Π­Ρ‚ΠΈ классы ΠΈ интСрфСйсы практичСски ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ Ρ‚Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹, вСроятно, использовали ΠΏΡ€ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° Java. Π­Ρ‚Π° Ρ‡Π°ΡΡ‚ΡŒ CLDC API находится Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ со Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΌΠΈ ΠΈΠ· J2SE ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ java.lang ΠΈ java.util. ΠšΡ€ΠΎΠΌΠ΅ классов ΠΈ интСрфСйсов, заимствованных Ρƒ J2SE, Π΅ΡΡ‚ΡŒ ряд особых классов CLDC API. Π­Ρ‚ΠΈ интСрфСйсы, Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с сСтями, это касаСтся Ρ‚ΠΎΠΉ части J2SE API, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ практичСски ΠΎΡ‡Π΅Π½ΡŒ слоТно ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π² соотвСтствии с потрСбностями сСтСвых устройств.

CLDC опрСдСляСт ряд интСрфСйсов, ΡΠΏΠΎΡΠΎΠ±ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ устройства Π² сСти, Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ возлагаСтся Π½Π° MIDP API. Π’ связи с этим CLDC API логичСски дСлится Π½Π° Π΄Π²Π΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅:

β–Ί Π½Π°Π±ΠΎΡ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ слуТат ΠΊΠ°ΠΊ подмноТСство J2SE API;

β–Ί Π½Π°Π±ΠΎΡ€ основных сСтСвых интСрфСйсов.

Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ классов ΠΈ интСрфСйсов, входящих Π² состав CLDC API, Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ наслСдованы ΠΎΡ‚ J2SE API. J2ME Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ классы ΠΈ интСрфСйсы, наслСдованныС ΠΎΡ‚ J2SE, Π±Ρ‹Π»ΠΈ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ всС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ поля этих классов ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ ΠΈ полями Ρ‚Π°ΠΊΠΈΡ… классов J2SE, Ρ‡Ρ‚ΠΎ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π² J2ME, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ пСрСносимым ΠΌΠ΅ΠΆΠ΄Ρƒ J2SE ΠΈ J2ME.

Но CLDC ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ Π² сторону ΠΎΡ‚ J2SE API Π² вопросах, ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΡ…ΡΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² сСти, ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ ΡΠ΅Ρ‚Π΅Π²ΡƒΡŽ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ, ΠΈΠ·Π²Π΅ΡΡ‚Π½ΡƒΡŽ ΠΊΠ°ΠΊ Generic Connection Framework (GCF, НастраиваСмая сСтСвая ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°). GΠ‘F ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для опрСдСлСния ΠΎΠ±Ρ‰Π΅ΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ сСти, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉ сСтСвой Π²Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄. Π­Ρ‚ΠΎ вСсьма гибкая, Π° ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠ°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°. ΠžΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° GCF Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»Π°ΡΡŒ ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ подмноТСство сСтСвых классов J2SE, поэтому возмоТности GCF доступны Π² J2SE. GCF состоит ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° интСрфСйсов соСдинСний, Π° Ρ‚Π°ΠΊΠΆΠ΅ класса Connector, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ для установлСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… соСдинСний. Класс Connector ΠΈ интСрфСйсы соСдинСний находятся Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ javax.microedition.io. Π’ Π³Π»Π°Π²Π΅ 14 Π²Ρ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅ΡΡŒ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ сСтСвых ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ³Ρ€.

MIDP API

ΠŸΡ€ΠΎΡ„ΠΈΠ»ΡŒ устройства Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ»Π°Π½, ΠΊΠΎΠ³Π΄Π° отступаСт конфигурация ΠΈ наступаСт Ρ‡Π΅Ρ€Π΅Π΄ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ описания Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° устройства. Π’ случаС Mobile Information Device Profile (MIDP) Ρ‚ΠΈΠΏ устройства – это бСспроводноС мобильноС устройство, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ ΠΈΠ»ΠΈ ΠΏΠ΅ΠΉΠ΄ΠΆΠ΅Ρ€. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, MIDP Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π·ΡΡ‚ΡŒ CLDC API ΠΈ Π½Π°Π΄ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ классы ΠΈ интСрфСйсы, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ написаниС собираСмых ΠΌΠΈΠ΄Π»Π΅Ρ‚ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ….

MIDP API ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Π΄Π²Π΅ части, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ CLDC API:

β–Ί Π΄Π²Π° класса, нСпосрСдствСнно наслСдованных ΠΎΡ‚ J2SE API;

β–Ί ряд ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ классы ΠΈ интСрфСйсы, ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ MIDP.

Подобно CLDC API, MIDP API Ρ‚Π°ΠΊΠΆΠ΅ наслСдуСт ΠΎΡ‚ J2SE API. ΠΠ΅ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ большая Ρ‡Π°ΡΡ‚ΡŒ MIDP API – это Π½ΠΎΠ²Ρ‹Π΅ классы ΠΈ интСрфСйсы, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ для программирования ΠΌΠΈΠ΄Π»Π΅Ρ‚ΠΎΠ². Π₯отя эти классы ΠΈ интСрфСйсы ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ‚Π΅ ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎ ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ классы ΠΈ интСрфСйсы J2SE API, Π² Ρ†Π΅Π»ΠΎΠΌ ΠΎΠ½ΠΈ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ для MIDP API, Π° ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ спСцифичных для ΠΌΠΈΠ΄Π»Π΅Ρ‚ΠΎΠ² Π·Π°Π΄Π°Ρ‡. Π­Ρ‚Π° Ρ‡Π°ΡΡ‚ΡŒ MIDP API Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° нСсколько ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… слСдуСт Π·Π° ΠΈΠΌΠ΅Π½Π΅ΠΌ javax.microedition:

β–Ί javax.microedition.midlet;

β–Ί javax.microedition.lcdui;

β–Ί javax.microedition.lcdui.game;

β–Ί javax.microedition.media;

β–Ί javax.microedition.media.control;

β–Ί javax.microedition.io;

β–Ί javax.microedition.pki;

β–Ί javax.microedition.rms.

ΠŸΠ°ΠΊΠ΅Ρ‚ javax.microedition.midlet – это Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ Π² MIDP API, ΠΎΠ½ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя СдинствСнный класс MIDlet. Класс MIDlet содСрТит основныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для MIDP-прилоТСния (ΠΌΠΈΠ΄Π»Π΅Ρ‚Π°), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π° мобильном устройствС. По ΠΌΠ΅Ρ€Π΅ прочтСния ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ построСния Π±ΠΎΠ»Π΅Π΅ слоТных ΠΌΠΈΠ΄Π»Π΅Ρ‚ΠΎΠ² Π²Ρ‹ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅ΡΡŒ с этим классом.

ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ javax.microedition.lcdui ΠΈ javax.microedition.lcdui.game Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ классы ΠΈ интСрфСйсы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ GUI-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… экранов ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² этих ΠΏΠ°ΠΊΠ΅Ρ‚Π°Ρ… содСрТатся классы ΠΈ интСрфСйсы, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ для создания ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ³Ρ€. Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ возмоТности, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, анимация спрайтов ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ слоями, Π΄Π΅Π»Π°ΡŽΡ‚ эти ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ Ρ†Π΅Π½Π½Ρ‹ΠΌΠΈ для программирования ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ³Ρ€. Π§ΡƒΡ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅ Π² этой Π³Π»Π°Π²Π΅ Π²Ρ‹ Π½Π°Ρ‡Π½Π΅Ρ‚Π΅ своС знакомство с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΈΠ· этих классов ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Π° ΠΏΡ€ΠΈ дальнСйшСм ΠΏΡ€ΠΎΡ‡Ρ‚Π΅Π½ΠΈΠΈ ΠΊΠ½ΠΈΠ³ΠΈ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΡƒΠ³Π»ΡƒΠ±Π»ΡΡ‚ΡŒ свои знания....

Π’ ΠΊΠΎΠΏΠΈΠ»ΠΊΡƒ Π˜Π³Ρ€ΠΎΠΊΠ°

Если Π²Π°ΠΌ доводилось Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с J2ME Ρ€Π°Π½Π΅Π΅, Ρ‚ΠΎ Π²Π°ΠΌ, вСроятно, Π±ΡƒΠ΄Π΅Ρ‚ интСрСсно ΡƒΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ javax.microedition.ldui.game появился Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² MIDP 2.0. Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ MIDP 2.0 прСдставляСт собой Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π²ΠΏΠ΅Ρ€Π΅Π΄ ΠΈ ΡƒΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΉ J2ME ΠΊΠ°ΠΊ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ³Ρ€.