Professional Documents
Culture Documents
J2ME
2006 он Лекц №1
Ц.Амарбат
Агуулга
2
Java platforms
Sun корпорац нь технологи хөгжихийн хэрээр үүсэн буй
асуудлуудыг шийдвэрлэх онцлогтой нь холбогдуулан Java
платформыг гурав хуваан тусд нь хөгжүүлж эхэлсэн:
3
Java platforms
4
KVM
1998 онд Sun лабд Spotless хэмээх төсөл
эхэлсэн.
Зорилго: Java хэлний маш хязгаарлагдмал нөөцтэй
системүүдэд (гар утас) хэрэглэх боломжтой хувилбарыг
гаргах явдал.
Энэ төсөл нь эхний үед зөвхөн судалгааны ажил байсан
боловч Motorola компаны нөлөөгөөр уг төслийг бодит
систем болгосон.
Төслийн үр дүнд
KVM буюу K Virtual Machine хувилбар гарч ирсэн.
5
CLDC
Нэгэнт Motorola, Nokia, NTT DoCoMo, Palm Computing, RIM,
Siemens болон бусад корпорациуд KVM –г сонирхож эхэлсэн
тул Java – ийн стандартчлалыг бий болгох шаардлагатай
болсон.
Тэгэхгүй бол корпораци бүрт өөр өөр KVM-н имплиментаци үүсч
утас хоорондын зөрчил улам ихсэх байв.
Стандартчлах ажилд 18 компани оролцон үүний үр дүнд CLDC
стандарт бий болов (1999 оны 10 сард дууссан).
Энэ стандарт нь ямар нэг төхөөрөмжид тусгайлж зориулаагүй бөгөөд
ямар ч төхөөрөмжид хэрэглэгдэх үндсэн асуудлуудыг тооцсон.
Дараачийн стандартчлалд 22 компани оролцон MIDP стандарт
үүсэв. Энэ нь CLDC стандарт дээр тулгуурласан байсан (1999 оны
11 сар).
Энэ стандарт нь ялангуяа гар утаснуудад хэрэглэгдэх API нуудад гол
анхаарлаа хандуулж өгсөн.
6
J2SE, J2EE, J2ME
Java хөрвүүлэгчид:
Java 2 Second Edition : For desktop application
Java 2 Enterprice Edition : For server application
Java 2 Micro Edition : For small devices such as cell phone, PDА…
Онцлог
Хэмжээгээр илүү бага
Санах ой болон процессорын бага хүч шаардана
Цөөн тооны класс агуулсан
Төхөөрөмжүүд ч хоорондоо санах ой, боломжоороо эрс ялгаатай тул
J2ME нь улам задран хувилбаруудад хуваагдсан
Connected Device Configuration (CDC) : Илүү их хэмжээний санах ойтой
төхөөрөмжүүдэд зориулагдсан хувилбар. Жишээ PDА.
Connected Limited Device Configuration (CLDC) : Бага санах ой, жижиг
дэлгэцтэй төхөөрөмжүүдэд зориулагдсан хувилбар. Жишээ гар утас.
CLDC 1.0 , CLDC 1.1 хувилбарууд гарсан.
7
J2ME : Profiles
Хэдийгээр хувилбаруудад (Сonfigurations) задарсан ч нэг
хувилбар дотор мөн л ялгаатай маш олон төхөөрөмжүүд байдаг
тул SUN нь J2ME –г цааш нь улам задлан Тохиргоонуудад
(Profiles) хуваасан.
8
J2ME : CLDC --- Profiles --- MIDP
Mobile Information Device Profile (MIDP) :
Гар утаснуудад зориулагдсан пакэжуудийг агуулдаг.
Үүгээр хязгаарлагдахгүй. Зарим төхөөрөмжүүд жишээ нь PalmOS, PDA нь
MIDP – г агуулдаг.
MIDP 1.0, MIDP 2.0 хувилбарууд гарсан.
MIDP 1.0 нь нэлээд хязгаарлагдмал байсан тул Sony Ericson, Nokia,
Siemens, Motorola нар нь өөрсдийн утсанд зориулсан Java SDK гаргасан
нь асуудлыг улам хүндрүүлж байсан.
MIDP 2.0 нь дээрх алдааг засан илүү тохиромжтой болсон байна.
9
Тоглоомын төрлүүд
Ихэнх тоглоомууд дараах төрлүүдийн аль нэгэнд багтана:
Arcade / Action: Хурдан хөдөлдөг, өндөр хэмжээний график, тоглогч
тоглоомын харилцаа өндөр. Жишээ : Quake, Counter Strike
Puzzle: Тетрис мэтийн логик шаардах тоглоомууд
Card: Карт ашиглах тоглоомууд. Жишээ нь хөзөр.
Strategy: Сэтгэлгээ их шаардана, менежмент хийх, тактик гаргах.
Жишээ : Command and Conquer, World of Warcraft
RPG: Ямар нэг дүрд тоглох, цаг хугацааны туршид хөгжих.
Sport: Спортыг дууриалгасан тоглоом
10
Arcade and Action Game
MIDP 1.0 ашиглан хийгдсэн энэ төрлийн тоглоомууд нь хэтэрхий
энгийн байсан.
Английн алдартай IOMO компаниас гаргасан Pursuit Squad
(MIDP 2.0) програм. 3D график ашигласан байна :
11
Sport Game
IOMO компани нь J2ME-д зориулан 3D драйвер зохиосон бөгөөд
өөрсдийн хийсэн Голф тоглоомд үүнийгээ ашигласан байна :
MIDP ашиглан хийгдсэн тоглоомуудыг MIDLet гэж нэрлэдэг.
12
Strategy Game
Macrospace компаниас гаргасан Ancient Empire тоглоом :
13
Card Game
Энэ төрлийн тоглоом нь гар утсанд илүү тохиромжтой байдаг.
Нөөц бага шаарддаг боловч сонирхол их төрүүлдэг. Flarb LLC
компаниас гаргасан дараах тоглоомд хүмүүс үнэхээр их
татагддаг :
14
Multiplayer Game
Ер нь гар утаснууд интернэтэд холбогддог (TCP\IP or WAP).
Гэвч олон хэрэглэгч холбогдон тоглох энэ төрлийн тоглоом нь
сүлжээ их ашиглах тул зарим тоглоом нь үнэтэй тусч болох юм.
Cosmic Infinity компанийн Shape тоглоом :
15
Гар утасны тоглоомын ирээдүй
Хэрэглэх програм
Java 2 Micro Edition (J2ME)
16
Гар утаснууд (Handsets)
MIDP 2.0 дэмждэг гар утаснууд
17
Requirements
CLDC requirements:
160 kb тогтмол санах ой
32 kb шуурхай санах ой
18
J2ME
Дараах хаягаар татаж авна:
http://java.sun.com/j2me
авна.
19
Hello World!
20
Hello World!
Project Name: Энэ нь уг програмын файлуудыг хадгалах
хавтасны (folder) нэр бөгөөд энэ хавтас C:WTK25\app
(j2me-г c диск дээр шууд суулгасан бол) хэсэгт
хадгалагдана.
MIDLet Class Name: Энэ нь манай MIDLet-ийн үндсэн
классын нэр юм.
Дараах байдлаар нэр өгье:
Үүний дараа гарч ирсэн
цонх дээр OK дарна.
21
Hello World!
Одоо кодоо бичиж өгье. Үүний тулд:
Eclipse дээр шинэ Project үүсгэнэ
J2ME lib файлууд хаана байгааг зааж өгнө:
Project Property->Build path->Add external jars
C:\WTK25\lib замаар орж тэнд байгаа jar файлуудыг
оруулж өгнө.
22
Hello World!
23
Hello World!
24
Hello World!
Мэдээж бид MIDlet бичиж буй учир
javax.microedition.midlet.MIDlet пакэжийг импорт хийнэ.
Харин lcdui пакэж нь J2SE-н график AWT классын оронд
хэрэглэгдэх тусгайлан утсанд зориулсан график
компонентуудыг агуулсан байдаг.
25
Hello World!
26
Hello World!
MIDlet-ийн байгуулагч функц дотор бид нэг их зүйл хийх
боломжгүй байдаг. Учир нь дэлгэц болон бусад нөөцтэй
холбоотой нэлээд функцүүд байгуулагч функц дотор
тодорхойгүй хариу үйлдэл үзүүлдэг.
27
Hello World!
J2ME-ийн Canvas класс нь график зүйлийг дүрслэхэд
хэрэглэгддэг. Жишээ нь текст, bitmap зургууд болон геометрийн
дүрсүүдийг зурах гэх мэт.
Мөн Canvas нь хэрэглэгчээс дарсан товчийг авах болон өөрийн
харьяалагдаж буй MIDlet рүү CommandListener интерфэйсийг
хэрэглэн команд өгөх зэрэгт хэрэглэгддэг.
Эдгээр зурах болон команд авах өгөх зэрэг холбоогүй үйлдлүүд
холилдсоноос болж сонин төрхтэй код үүсдэг боловч програмистууд
үүнтэй зохицохоос өөр аргагүй.
28
Hello World!
Одоо кодоо ажиллуулна.
Эхлээд Eclipse дээрх бичсэн HelloWorld.java файлыг сонгон copy
хийнэ.
Үүнийг C:\WTK25\apps\helloworld\src хавтас дотор хуулж өгнө.
Дараа нь KToolkit дээрээс build товчийг дарна. Консол дээр нь build
complete гэсэн мэдээлэл гарч байвал ажиллуулахад бэлэн боллоо
гэсэн үг.
Үүний дараа Run товчийг дарснаар MIDlet маань ажиллана.
29
Hello World!
30