Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°
ΠΠΎΡΠΎΠΌΠΊΠΈ ΠΊΠ»Π°ΡΡΠ° Screen ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π½Π°Π±ΠΎΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π΄Π»Ρ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ (ΡΠΎΡΠΌΡ, ΠΏΠΎΠ»Ρ Π²Π²ΠΎΠ΄Π°, ΡΠΏΠΈΡΠΊΠΈ ΠΈ Ρ. ΠΏ.). ΠΠ°Π΄ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΡΠΎΡ Π½Π°Π±ΠΎΡ Π²Π΅ΡΡΠΌΠ° ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π΅Π½ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ (ΠΎΠ΄Π½Π°ΠΊΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠΉ) Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ Π½Π°Π±ΠΎΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ , ΡΡΠ΅Π±ΡΡΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² ΠΈΠ³ΡΠ°Ρ ), Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Π€Π°ΠΊΡΠ»ΡΡΠ΅Ρ «ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠ° ΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ»
ΠΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΊ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅
ΠΏΠΎ ΠΊΡΡΡΡ «Π Π°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ»
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
ΠΠΎΡΠΊΠ²Π°, 2009
- ΠΠ³Π»Π°Π²Π»Π΅Π½ΠΈΠ΅
Π¦Π΅Π»Ρ ΡΠ°Π±ΠΎΡΡ
ΠΠ°Π΄Π°Π½ΠΈΡ ΠΊ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅
ΠΠ°Π΄Π°Π½ΠΈΡ ΠΊ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΡΡΠ΅ΡΠ°
ΠΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ
1. Π‘ΡΡΡΠΊΡΡΡΠ° MIDP ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
2. ΠΡΠ½ΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΈΠ΄Π»Π΅ΡΠΎΠ²
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 1. ΠΡΠΈΠΌΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ MIDP ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
Π¦Π΅Π»Ρ ΡΠ°Π±ΠΎΡΡ
ΠΠΎΠ»ΡΡΠΈΡΡ Π·Π½Π°Π½ΠΈΡ ΠΎΠ± ΠΎΡΠ½ΠΎΠ²Π°Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ MIDP ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² Π½Π° ΡΠ·ΡΠΊΠ΅ Java. ΠΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ javax.microedition. ΠΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π·Π½Π°Π½ΠΈΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ MIDP ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΠ°Π΄Π°Π½ΠΈΡ ΠΊ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅
ΠΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠΌ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΌ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ ΠΊ Π΄Π°Π½Π½ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠΊΠ°Π·Π°Π½ΠΈΡΠΌ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ Π·Π°Π΄Π°Π½ΠΈΡ ΠΊ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅.
ΠΠ°Π΄Π°Π½ΠΈΡ ΠΊ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 1. Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΈΠ³ΡΡ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠ°ΠΊ MIDP ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
1. Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΌΠ΅Π½Ρ ΠΈΠ³ΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π΅ ΠΏΡΠ½ΠΊΡΡ:
1.1. Π·Π°ΠΏΡΡΠΊ ΠΈΠ³ΡΡ
1.2. ΡΡΠΎΠ²Π΅Π½Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ.
2. Π ΠΈΠ³ΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ΄ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ Π½Π°Π±ΡΠ°Π½Π½ΡΠ΅ ΠΎΡΠΊΠΈ ΠΈ Π»ΡΡΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ³ΡΡ.
ΠΠ³ΡΠ° Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΡΠ°ΠΌΠΈΠΌ ΡΡΡΠ΄Π΅Π½ΡΠΎΠΌ.
ΠΠ°Π΄Π°Π½ΠΈΠ΅ 2.
Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΡΠ²Π΅Ρ ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ.
1. Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΡΠ²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊ ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ Π½Π° ΡΠΊΡΠ°Π½ ΠΌΠΈΠ΄Π»Π΅ΡΠ°.
2. Π‘Π΅ΡΠ²Π΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠΌ, Ρ. Π΅. ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ².
3. ΠΠ»Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΡΠ»Π°ΡΡ ΡΡΡΠΎΠΊΡ «exit».
Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π΄Π»Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ.
1. ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ»Π΅ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ.
ΠΠΎ Π²ΡΠ±ΠΎΡΡ ΡΡΡΠ΄Π΅Π½ΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, Π»ΠΈΠ±ΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ, ΠΊΠ°ΠΊ Π΄Π²Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΡΡΠ΅ΡΠ°
ΠΡΡΠ΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ:
ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΡ Π·Π°Π΄Π°ΡΠΈ, ΡΠ΅ΡΠ°Π΅ΠΌΠΎΠΉ ΠΎΡΠ»Π°ΠΆΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ.
Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΡΠ»Π°ΠΆΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Π²ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠΈΡΡΠΈΠ½Π³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠΈ.
ΠΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ.
1. Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ MIDP?
2. Π‘ΡΡΡΠΊΡΡΡΠ° MIDP?
3. ΠΠ»Ρ ΡΠ΅Π³ΠΎ Π½ΡΠΆΠ΅Π½ ΠΊΠ»Π°ΡΡ MIDlet ΠΈ Π΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Ρ?
4. ΠΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ MIDP ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ?
5. ΠΠ»Ρ ΡΠ΅Π³ΠΎ Π½ΡΠΆΠ΅Π½ ΠΊΠ»Π°ΡΡ Canvas ΠΈ Π΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Ρ?
1. Π‘ΡΡΡΠΊΡΡΡΠ° MIDP ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
MIDP ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΡΡΠΎΠ³ΡΡ ΡΡΡΡΠΊΡΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΠΏΠΈΡΠ°Π½Π° Π½ΠΈΠΆΠ΅. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½ΠΎ Π½Π° ΡΠ΅Π»Π΅ΡΠΎΠ½Π΅, Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠΈΠ΄Π»Π΅ΡΠΎΠΌ (midlet). ΠΠΈΠ΄Π»Π΅ΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π·Π°ΠΏΠ°ΠΊΠΎΠ²ΡΠ²Π°ΡΡΡΡ Π² JAR Π°ΡΡ ΠΈΠ², ΠΏΡΠΈΡΠ΅ΠΌ Π² ΠΎΠ΄Π½ΠΎΠΌ JAR — Π°ΡΡ ΠΈΠ²Π΅ ΠΌΠΎΠ³ΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΡΠ°Π·Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ΄Π»Π΅ΡΠΎΠ². ΠΡΡ ΠΈΠ² Ρ ΠΌΠΈΠ΄Π»Π΅ΡΠ°ΠΌ (ΠΈ) Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ MidletSuite (Π½Π°Π±ΠΎΡ ΠΌΠΈΠ΄Π»Π΅ΡΠΎΠ²)
ΠΠ°Π±ΠΎΡ ΠΌΠΈΠ΄Π»Π΅ΡΠΎΠ² ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· JAR — Π°ΡΡ ΠΈΠ²Π°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ ΠΌΠΈΠ΄Π»Π΅Ρ (Ρ), Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΠΈ ΡΠ΅ΡΡΡΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Ρ Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ°ΠΌΠΈ ΠΈ Ρ. ΠΏ.); JAR — ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° (JAR Manifest), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ°ΠΉΠ», Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠΉΡΡ Π² JAR — Π°ΡΡ ΠΈΠ²Π΅ (ΡΠ°ΠΉΠ» manifest. mf Π² ΠΏΠ°ΠΏΠΊΠ΅ META-INF Π² ΠΊΠΎΡΠ½Π΅ Π°ΡΡ ΠΈΠ²Π°); Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (Application Descriptor) — ΡΡΠΎ ΡΠ°ΠΉΠ» Ρ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΡΡΠΎ ΠΈ JAR — Π°ΡΡ ΠΈΠ² ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ JAD.
ΠΠ°Π½ΠΈΡΠ΅ΡΡ ΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π°ΡΡΠΈΠ±ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΈΠΌΡ_Π°ΡΡΠΈΠ±ΡΡΠ°:Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅_Π°ΡΡΠΈΠ±ΡΡΠ°.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π°ΡΡΠΈΠ±ΡΡΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Π² Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ΅ ΠΈ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ΅. ΠΡΠ»ΠΈ ΡΡΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ, ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π·Π°ΠΏΡΡΡΠΈΡΡΡ ΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π½Π° ΠΏΡΠΈΠ±ΠΎΡΠ΅, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠ½ΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΎ.
ΠΠ°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² Π±Π΅ΡΠ΅Ρ Π½Π° ΡΠ΅Π±Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠ΅ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ MIDP ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (KToolbar ΠΈΠ· J2MEWTK ΠΈ Forte for Java CE). ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π°ΡΡΠΈΠ±ΡΡΠΎΠ².
ΠΠΈΠ΄Π»Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π»ΡΠ±ΠΎΠ³ΠΎ Π°ΡΡΠΈΠ±ΡΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΌΠΈΠ΄Π»Π΅ΡΠ°:
getAppProperty (String key)
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ.
Β· MIDlet-, -ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ n-ΠΎΠ³ΠΎ ΠΌΠΈΠ΄Π»Π΅ΡΠ° Π² Π½Π°Π±ΠΎΡΠ΅. ΠΠ΄Π΅ΡΡ name — ΠΈΠΌΡ ΠΌΠΈΠ΄Π»Π΅ΡΠ°, icon — «ΠΈΠΊΠΎΠ½ΠΊΠ°» (ΡΠ°ΠΉΠ» Π² ΡΠΎΡΠΌΠ°ΡΠ΅ PNG), class — ΡΠ°ΠΉΠ» ΠΊΠ»Π°ΡΡΠ°, ΡΠ°ΡΡΠΈΡΡΡΡΠ΅Π³ΠΎ (extends) ΠΊΠ»Π°ΡΡ MIDlet (ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΡ ΠΊΠ»Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ «ΠΈΡΠΏΠΎΠ»Π½ΡΡΡΡΡ»). ΠΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ Π½Π° ΠΏΡΠΈΠ±ΠΎΡΠ΅ Π½Π°Π±ΠΎΡΠ° ΠΌΠΈΠ΄Π»Π΅ΡΠΎΠ², Π½Π° ΡΠΊΡΠ°Π½Π΅ Π²ΡΡΠ²Π΅ΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΌΠΈΠ΄Π»Π΅ΡΠΎΠ² Π² Π½Π΅ΠΌ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΠΈΠΌΠ΅Π½Π° ΠΌΠΈΠ΄Π»Π΅ΡΠΎΠ² Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΠΈΠΊΠΎΠ½ΠΊΠ°ΠΌΠΈ.
ΠΡΠΈΠΌΠ΅Ρ: MIDlet-1: worm,/liqWorm/worm.png, liqWorm. worm
Β· MIDlet-Version: -Π²Π΅ΡΡΠΈΡ Π½Π°Π±ΠΎΡΠ° ΠΌΠΈΠ΄Π»Π΅ΡΠΎΠ² Π² ΡΠΎΡΠΌΠ°ΡΠ΅ xx.yy.zz.
ΠΡΠΈΠΌΠ΅Ρ: MIDlet-Version: 0.1.0
Β· MIDlet-Info-URL: -URL, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π½Π°Π±ΠΎΡΠ΅ ΠΌΠΈΠ΄Π»Π΅ΡΠΎΠ².
ΠΡΠΈΠΌΠ΅Ρ: MIDlet-Info-URL: xdimas@yahoo.com
Β· MIDlet-Description: -ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π°Π±ΠΎΡΠ° ΠΌΠΈΠ΄Π»Π΅ΡΠΎΠ².
ΠΡΠΈΠΌΠ΅Ρ: MIDlet-Description: My first MIDlet!
Β· MIDlet-Vendor: -ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ ΠΌΠΈΠ΄Π»Π΅ΡΠ°.
ΠΡΠΈΠΌΠ΅Ρ: MIDlet-Vendor: xDimas
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π°Π±ΠΎΡΠ° ΠΌΠΈΠ΄Π»Π΅ΡΠΎΠ² Π½Π° ΠΏΡΠΈΠ±ΠΎΡ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΎΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½, Π½Π΅ ΠΎΠ³ΠΎΠ²Π°ΡΠΈΠ²Π°Π΅ΡΡΡ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ° J2ME.
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΈΠ΄Π»Π΅ΡΠΎΠ² Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ J2ME_wireless_toolkit Ρ ΡΠ°ΠΉΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°: http://java.sun.com/j2me/index.jsp
2. ΠΡΠ½ΠΎΠ²Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΈΠ΄Π»Π΅ΡΠΎΠ²
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ MIDP ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΡΠ΅Π·Π°Π½Π½ΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ J2SE (Java2 Standard Edition). ΠΠ΄Π΅ΡΡ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ ΡΠ²ΠΎΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ, ΠΏΡΠΎΠ΄ΠΈΠΊΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ², Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΈΠ΄Π»Π΅ΡΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ.
ΠΠ»Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠ²Π»ΡΡΡΡΡ ΠΌΠΈΠ΄Π»Π΅ΡΠΎΠΌ, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°ΡΡΠΈΡΡΡΡ (extends) ΠΊΠ»Π°ΡΡ MIDlet (Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΊΠ»Π°ΡΡΡ Applet ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π°ΠΏΠ»Π΅ΡΠΎΠ²). ΠΡΠΎΡ ΠΊΠ»Π°ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ². ΠΠ»Π°ΡΡ MIDlet ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΆΠΈΠ·Π½Π΅Π½Π½ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌ ΠΌΠΈΠ΄Π»Π΅ΡΠ°. Π’Π°ΠΊ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΠΎΠ±ΡΠΈΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ (ΠΠ) ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΌΠΈΠ΄Π»Π΅Ρ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ (ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π²Π΅ΡΡΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠΈΠ΄Π»Π΅ΡΠ°) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄: notifyDestroyed (), Π° ΡΡΠΎΠ±Ρ ΡΠΎΠΎΠ±ΡΠΈΡΡ ΠΌΠΈΠ΄Π»Π΅ΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½, ΠΠ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄: destroyApp (bolean uconditional).
ΠΠΈΠ΄Π»Π΅Ρ, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π°ΠΏΠ»Π΅ΡΠ°, ΠΌΠΎΠΆΠ΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΏΠ°ΡΠ·Ρ (paused — Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° Π΄ΠΈΡΠΏΠ»Π΅ΠΉ Π·Π°Π½ΡΡ ΠΊΠ°ΠΊΠΈΠΌ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ Ρ. ΠΏ.). Π§ΡΠΎΠ±Ρ ΡΠΎΠΎΠ±ΡΠΈΡΡ ΠΌΠΈΠ΄Π»Π΅ΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠ°ΡΠ·Ρ, ΠΠ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ ΠΌΠΈΠ΄Π»Π΅ΡΠ°: pauseApp (), Π° ΡΡΠΎΠ±Ρ Π²ΠΎΠΉΡΠΈ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠ°ΡΠ·Ρ, ΠΌΠΈΠ΄Π»Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄: notifyPaused ().
ΠΠΎΠ³Π΄Π° ΠΌΠΈΠ΄Π»Π΅Ρ Π²Ρ ΠΎΠ΄ΠΈΡ Π² Π°ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ (Π²ΡΡ ΠΎΠ΄ ΠΈΠ· ΠΏΠ°ΡΠ·Ρ ΠΈ Π½Π°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΡ ΠΌΠΈΠ΄Π»Π΅ΡΠ°), Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Π΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄: startApp ().
ΠΠ°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π· Π·Π° Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠΈΠ΄Π»Π΅ΡΠ°.
ΠΠ»Π°ΡΡ, ΡΠ°ΡΡΠΈΡΡΡΡΠΈΠΉ MIDlet ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ (implements) ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Runnable .
ΠΠ»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π² MIDP ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ ΠΊΠ»Π°ΡΡΡ Display ΠΈ Displayable (ΡΠΎΡΠ½Π΅Π΅ Π΅Π³ΠΎ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠΈ).
ΠΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° Display ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΠ ΠΈ Π·Π° Π²ΡΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΠΌΠΈΠ΄Π»Π΅ΡΠ° Π΄Π»Ρ Π½Π΅Π³ΠΎ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΠΎΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°:
static Display Dispaly. getDisplay (MIDlet m)
ΠΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° Display ΠΎΠΏΠ΅ΡΠΈΡΡΠ΅Ρ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ° Displayable. ΠΠ±ΡΠ΅ΠΊΡΡ ΠΊΠ»Π°ΡΡΠ° Displayable ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ (Ρ.Π΅. Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΡΠΊΡΠ°Π½, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΉ ΠΊΠ»Π°Π²ΠΈΡ ΠΈ Ρ. ΠΏ.). ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠΈΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Π² ΠΊΠ»Π°ΡΡΠ΅ DisplayΠ΅ΡΡΡ Π΄Π²Π° ΠΌΠ΅ΡΠΎΠ΄Π°:
void setCurrent (Displayable d)
Displayable getCurrent ()
Π‘Π°ΠΌ ΠΊΠ»Π°ΡΡ Displayable ΠΎΠ±ΡΡΠ²Π»Π΅Π½ ΠΊΠ°ΠΊ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ, ΡΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π΅Π³ΠΎ ΠΏΠΎΡΠΎΠΌΠΊΠ°ΠΌΠΈ. ΠΡ Π΄Π²Π° — ΡΡΠΎ ΠΊΠ»Π°ΡΡΡ Canvas ΠΈ Screen.
ΠΠΎΡΠΎΠΌΠΊΠΈ ΠΊΠ»Π°ΡΡΠ° Screen ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π½Π°Π±ΠΎΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π΄Π»Ρ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ (ΡΠΎΡΠΌΡ, ΠΏΠΎΠ»Ρ Π²Π²ΠΎΠ΄Π°, ΡΠΏΠΈΡΠΊΠΈ ΠΈ Ρ. ΠΏ.). ΠΠ°Π΄ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΡΠΎΡ Π½Π°Π±ΠΎΡ Π²Π΅ΡΡΠΌΠ° ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π΅Π½ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ (ΠΎΠ΄Π½Π°ΠΊΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠΉ) Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ Π½Π°Π±ΠΎΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ , ΡΡΠ΅Π±ΡΡΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² ΠΈΠ³ΡΠ°Ρ ), Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ, Π½ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π²ΡΠ΅ ΠΆΠ΅ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΎ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠ΅Π»ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΈΠΌΠ΅Π½ΠΈ ΠΈΠ³ΡΠΎΠΊΠ° Π² ΡΠ°Π±Π»ΠΈΡΡ ΡΠ΅ΠΊΠΎΡΠ΄ΠΎΠ², ΠΌΠ΅Π½Ρ ΠΈ Ρ. ΠΏ.). ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΡΠΎΡ Π½Π°Π±ΠΎΡ Π·Π΄Π΅ΡΡ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ.
ΠΠ»Π°ΡΡ Canvas ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ. Π Π½Π΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π½Π°Π±ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠΊΡΠ°Π½Π°, ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ Ρ. ΠΏ. ΠΡΡΠ°Π½ΠΎΠ²ΠΈΠΌΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ° Canvas.
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π½Π° ΡΠ°Π·Π½ΡΡ ΠΏΡΠΈΠ±ΠΎΡΠ°Ρ , Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΡΡΠ΅Π½ ΠΌΠΈΠ΄Π»Π΅Ρ, ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ Π΄ΠΈΡΠΏΠ»Π΅Ρ. ΠΠ»Ρ ΠΈΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ:
int getHeight ()
int getWidth ()
ΠΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠΊΡΠ°Π½Π° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΠ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°, ΡΠΎΡΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π½Π΅Π»ΡΠ·Ρ. ΠΠΎΠΆΠ½ΠΎ Π»ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠΈΡΡ ΠΠ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠΊΡΠ°Π½Π° Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π°:
void repaint ()
ΠΈΠ»ΠΈ
void repaint (int x, int y, int width, int height)
ΠΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΡ ΠΠ ΠΊ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΠΈ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π°: void serviceRepaints ()
ΠΠΎΠ³Π΄Π° ΠΠ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠΊΡΠ°Π½Π°, Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄: void paint (Graphics g)
ΠΠ±ΡΠ΅ΠΊΡ g ΡΠ²ΡΠ·Π°Π½ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½ΠΎ Π½Π° ΡΠΊΡΠ°Π½. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΊΠ»Π°ΡΡΠ° Graphics ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π°ΠΏΠ»Π΅ΡΠ°ΠΌΠΈ.
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ paint ΠΎΠ±ΡΡΠ²Π»Π΅Π½ ΠΊΠ°ΠΊ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ° Canvas ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»Π°ΡΡ, ΡΠ°ΡΡΠΈΡΡΡΡΠΈΠΉ Canvas ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ paint.
ΠΠΎΠ»ΡΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° Graphics, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΡ ΡΠΊΡΠ°Π½Π°, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π΄Π»Ρ Π°ΠΏΠ»Π΅ΡΠ° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ: Graphics Applet. getGraphics (), Π΄Π»Ρ ΠΏΠΎΡΠΎΠΌΠΊΠΎΠ² ΠΊΠ»Π°ΡΡΠ° MIDlet ΠΏΡΡΠΌΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΏΠΎΡΡΡΠΏΠ°ΡΡΠΈΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π² ΠΌΠ΅ΡΠΎΠ΄ paint, Π½ΠΎ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ.
MIDP ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ»Π΅Π³Π°Π½ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠΊΡΠ°Π½Π° Ρ Ρ ΠΎΠ΄ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π ΠΊΠ»Π°ΡΡΠ΅ Display ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄:
callSerially (Runnable r)
ΠΡΠ·ΠΎΠ² ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΠ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ run () ΠΎΠ±ΡΠ΅ΠΊΡΠ° r ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠΊΡΠ°Π½Π°. ΠΡΠ·ΠΎΠ² ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·.
ΠΠ±ΡΠ΅ΠΊΡΡ ΠΊΠ»Π°ΡΡΠ° Canvas ΠΌΠΎΠ³ΡΡ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²:
keyPressed (int key)
keyReleased (int key)
keyRepeated (int key)
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄Ρ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π°ΠΏΡΡΠΌΡΡ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ Ρ ΡΠ΅ΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄:
int getGameAction (int key)
ΠΠ½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ΄ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ (ΠΊΠΎΠ΄Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅ Canvas Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ FIRE). ΠΡΡΡ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π΅ΠΌΡ ΠΌΠ΅ΡΠΎΠ΄:
int getKeyCode (int gameAction)
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊΠ»Π°ΡΡΠ° Displayable ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°Π΄Π°Π½ Π½Π°Π±ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ. ΠΠ°ΠΆΠ΄Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ° Command ΠΈ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ°:
Command (String command, int type, int priority)
ΠΠ»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΠΊΠ»Π°ΡΡΠ΅ Displayable ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ:
void addCommand (Command c)
void removeCommand (Command c)
ΠΠΎΠΌΠ°Π½Π΄Ρ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΈΡ ΡΠΈΠΏΠ°, ΠΌΠΎΠ³ΡΡ Π·Π°ΠΊΡΠ΅ΠΏΠ»ΡΡΡΡΡ Π·Π° ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ ΠΏΠΎΠ΄ ΡΠΊΡΠ°Π½ΠΎΠΌ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° ΠΈΠ»ΠΈ Π·Π°Π½ΠΎΡΠΈΡΡΡΡ Π² ΡΠΊΡΠ°Π½Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ (ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ). ΠΡΠΈ ΡΡΠΎΠΌ Π½Π°Π΄ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΈΠΌΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΌΠΈΠ΄Π»Π΅Ρ ΠΌΠΎΠ³ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ (implements) ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ CommandListener. Π£ ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π΅ΡΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄: void commandAction (Command c, Displayable d), ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ±Π΅ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ c.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΡΠ²ΠΈΡΡ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ ΠΊΠ»Π°ΡΡΠ° Displayable ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΊΠΎΠΌΠ°Π½Π΄ listener, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°:
void addListener (CommandListener listener)
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 1. ΠΡΠΈΠΌΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ MIDP ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅Π΅ MIDP ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅-Π·Π°Π³ΠΎΡΠΎΠ²ΠΊΡ Π΄Π»Ρ Π½Π°ΡΠ΅ΠΉ ΠΈΠ³ΡΡ, Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΈΠ³ΡΡ «ΡΠ΅ΡΠ²ΡΠΊ».
package example. wormgame;
import java.lang.Thread;
// ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠ΅ Π½Π°ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.Item;
import javax.microedition.lcdui.Gauge;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
/**
* ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠ»Π°ΡΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΌΠΈΠ΄Π»Π΅ΡΠ°
*/
public class WormMain extends MIDlet implements CommandListener {
/** ΠΠ»Π°ΡΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠΉ «ΡΠ΅ΡΠ²ΡΠΊΠ°» */
private WormPit theGame;
/** ΠΠ½ΠΎΠΏΠΊΠ° Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΠΈΠ³ΡΡ. */
private Command exitCmd = new Command («Exit», Command. EXIT, 3);
/** ΠΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ΅Π½Ρ, ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΡΡΠΎΠ²Π΅Π½Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ. */
private Command levelCmd = new Command («Change Level», Command. SCREEN, 2);
/** ΠΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ΅Π½Ρ, Π½Π°ΡΠ°ΡΡ Π½ΠΎΠ²ΡΡ ΠΈΠ³ΡΡ. */
private Command startCmd = new Command («Start», Command. SCREEN, 1);
/** ΠΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ΅Π½Ρ, ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΈΠ³ΡΡ. */
private Command restartCmd = new Command («Restart», Command. SCREEN, 1);
/** ΠΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ΅Π½Ρ, Π²Π΅ΡΠ½ΡΡΡΡ Π² ΠΈΠ³ΡΡ Π±Π΅Π· ΠΈΠ·Π²Π΅Π½Π΅Π½ΠΈΠΉ. */
private Command cancelCmd = new Command («Cancel», Command. ITEM, 1);
/** ΠΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ΅Π½Ρ, Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠΆΠ΄Π΅Π½ΠΈΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ. */
private Command OKCmd = new Command («OK», Command. OK, 1);
/**
* ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈ
* ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ command listener.
*/
public WormMain () {
theGame = new WormPit ();
theGame.addCommand (exitCmd);
theGame.addCommand (levelCmd);
theGame.addCommand (startCmd);
theGame.addCommand (audioOnCmd);
theGame.setCommandListener (this);
}
/**
* ΠΠ΅ΡΡΡΡΠΊΡΠΎΡ Π΄Π»Ρ ΠΎΡΠΈΡΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ Π·Π°Π½ΡΡΠΎΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.
*/
protected void destroyApp (boolean unconditional) {
theGame.destroyGame ();
Display.getDisplay (this).setCurrent ((Displayable)null);
}
/**
* ΠΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
*/
protected void pauseApp () {
}
/**
* ΠΠ°ΠΏΡΡΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
*/
protected void startApp () {
Display.getDisplay (this).setCurrent (theGame);
try {
// ΠΠ°ΠΏΡΡΠΊ ΠΈΠ³ΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅
Thread myThread = new Thread (theGame); // ΡΠΎΠ·Π΄Π°ΡΠΌ Π½ΠΎΠ²ΡΠΉ ΠΏΠΎΡΠΎΠΊ
myThread.start (); // Π·Π°ΠΏΡΡΠΊ ΠΏΠΎΡΠΎΠΊΠ°
} catch (Error e) {
destroyApp (false);
notifyDestroyed ();
}
}
/**
* ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΠΎΡΠ²Π΅Ρ Π½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
*/
public void commandAction (Command c, Displayable d) {
if (c == restartCmd) {
theGame.restart ();
} else if (c == levelCmd) {
Item[] levelItem = {
new Gauge («Level», true, 9, theGame. getLevel ())};
Form f = new Form («Change Level», levelItem);
f.addCommand (OKCmd);
f.addCommand (cancelCmd);
f.setCommandListener (this);
Display.getDisplay (this).setCurrent (f);
} else if (c == exitCmd) {
destroyApp (false);
notifyDestroyed ();
} else if (c == startCmd) {
theGame.removeCommand (startCmd);
theGame.addCommand (restartCmd);
theGame.restart ();
} else if (c == OKCmd) {
Form f = (Form)d;
Gauge g = (Gauge)f.get (0);
theGame.setLevel (g.getValue ());
Display.getDisplay (this).setCurrent (theGame);
} else if (c == cancelCmd) {
Display.getDisplay (this).setCurrent (theGame);
}
}
Π’Π΅ΠΏΠ΅ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ΅Π½Ρ ΠΈ ΠΏΡΠΎΡΠΈΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
public class WormPit extends Canvas implements Runnable {
/** ΠΡΠΊΠΈ Π² ΠΈΠ³ΡΠ΅. */
private int score = 0;
/** Π£ΡΠΎΠ²Π΅Π½Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ. */
private int level = 5;
/** Π¨ΠΈΡΠΈΠ½Π° ΡΠΊΡΠ°Π½Π° Π² ΠΏΠΈΠΊΡΠ΅Π»ΡΡ . */
static int CellWidth;
/** ΠΠ»ΠΈΠ½Π° ΡΠΊΡΠ°Π½Π° Π² ΠΏΠΈΠΊΡΠ΅Π»ΡΡ . */
static int CellHeight;
/** ΠΡΡΠΎΡΠ° ΡΡΠΈΡΡΠ° Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΡΠΊΡΠ°Π½ ΡΡΡΡΠ°. */
private static final int SCORE_CHAR_HEIGHT;
/** Π¨ΠΈΡΠΈΠ½Π° ΡΡΠΈΡΡΠ° Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΡΠΊΡΠ°Π½ ΡΡΡΡΠ°. */
private static final int SCORE_CHAR_WIDTH;
/** ΠΡΠ΅ΠΌΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΡΠ΅ΡΠ²Ρ (400 milliseconds) */
private static final int DEFAULT_WAIT = 400;
/** Π¦Π²Π΅Ρ ΡΡΠΈΡΡΠ°. (0xff0000) */
static final int TEXT_COLOUR = 0×00ff0000;
/** Π Π°Π·ΠΌΠ΅Ρ ΠΊΠ»Π΅ΡΠΊΠΈ ΡΠ΅ΡΠ²Ρ. */
public static final int CELL_SIZE = 5;
// Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΡΠΈΡΡΠ°
static {
Font defaultFont = Font. getDefaultFont (); // Π²Π·ΡΡΡ ΡΡΠΈΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
SCORE_CHAR_WIDTH = defaultFont. charWidth ('S');
SCORE_CHAR_HEIGHT = defaultFont. getHeight ();
SCORE_HEIGHT = SCORE_CHAR_HEIGHT * 2;
}
/**
* ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ. ΠΠ°Π΄Π°Π½ΠΈΡ ΡΠΈΡΠΈΠ½Ρ ΠΈ Π²ΡΡΠΎΡΡ ΡΠ΅ΡΠ²Ρ.
*/
public WormPit () {
width = round (getWidth ());
height = round (getHeight ()-SCORE_HEIGHT);
WormPit.CellWidth = (width-(START_POS*2)) / WormPit. CELL_SIZE;
WormPit.CellHeight = (height-(START_POS*2)) / WormPit. CELL_SIZE;
myWorm = new Worm (this);
/**
* ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΎΡ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡΡ Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅.
* Π‘ΡΡΠ΅Π»ΠΊΠΈ (Π΄ΠΆΠΎΠΉΡΡΠΈΠΊ) Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ (UP, DOWN, LEFT, RIGHT)
*/
public void keyPressed (int keyCode) {
switch (getGameAction (keyCode)) {
case Canvas. UP:
myWorm.setDirection (Worm.UP);
break;
case Canvas. DOWN:
myWorm.setDirection (Worm.DOWN);
break;
case Canvas. LEFT:
myWorm.setDirection (Worm.LEFT);
break;
case Canvas. RIGHT:
myWorm.setDirection (Worm.RIGHT);
break;
case 0:
// ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»Π°Π²ΠΈΡΠΈ Ρ Π½ΠΎΠΌΠ΅ΡΠ°ΠΌΠΈ 2,4,6,8
switch (keyCode) {
case Canvas. KEY_NUM2:
myWorm.setDirection (Worm.UP);
break;
case Canvas. KEY_NUM8:
myWorm.setDirection (Worm.DOWN);
break;
case Canvas. KEY_NUM4:
myWorm.setDirection (Worm.LEFT);
break;
case Canvas. KEY_NUM6:
myWorm.setDirection (Worm.RIGHT);
break;
}
break;
}
}
/**
* ΠΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠΊΡΠ°Π½Π° ΠΈ Π²ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
*/
private void paintPitContents (Graphics g) {
try g. LEFT);
catch (WormException se) {
gameOver = true;
}
}
/**
* ΠΡΠ²ΠΎΠ΄ Π½Π° ΡΠΊΡΠ°Π½ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²
*/
public void paint (Graphics g) {
if (forceRedraw) g. LEFT);
g.drawString («» + score,
(width — (SCORE_CHAR_WIDTH * 3)),
height, g. TOP else {
// ΠΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ²Ρ ΠΈ Π΅Π΄Ρ
g.translate (START_POS, START_POS);
}
/**
* ΠΡΠ·ΡΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠΎΠ²ΠΊΡ ΡΠΊΡΠ°Π½Π° ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΏΡΠΈ ΡΡΡΠΌΠ΅ ΠΏΠ°ΡΠ·Ρ
*/
protected void hideNotify () {
super.hideNotify ();
forceRedraw = true;
if (!gameOver) {
gamePaused = true;
}
}
/**
* ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΈΠΊΠ» Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ MIDP ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
*/
public void run () {
while (!gameDestroyed) {
try {
synchronized (myWorm) {
/* Π»ΠΎΠ³ΠΈΠΊΠ° Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΠΎΡΠΊΠΎΠ² Π΄Π²ΠΈΠ΄Π΅Π½ΠΈΡ ΡΠ΅ΡΠ²Ρ ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ*/
repaint ();
}
}
} catch (java.lang.InterruptedException ie) {
}
}
}
/**
* ΠΡΠ·ΡΠ²Π°Π΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
*/
public void destroyGame () {
synchronized (myWorm) {
gameDestroyed = true;
//myWorm.notifyAll ();
myWorm.notifyAll ();
}
}
}
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 2. ΠΡΠΈΠΌΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ MIDP ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°Π΄Π°Π½ΠΈΡ Π½ΠΎΠΌΠ΅Ρ 2 ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ TCP ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠΊΠ΅ΡΠΎΠ² ΠΈ ΡΠΎΡΠΌΡ Π²Π²ΠΎΠ΄Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ MIDP ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
/**
* ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠ»Π°ΡΡ MIDP ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
*/
public class SocketMIDlet extends MIDlet implements CommandListener {
private final static String SERVER = «Server» ;
private final static String CLIENT = «Client» ;
private static String[] names = {SERVER, CLIENT};
private static Display display; // Π΄ΠΈΡΠΏΠ»Π΅ΠΉ
private Form f; // ΡΠΎΡΠΌΠ°
private ChoiceGroup cg;
private boolean isPaused;
private Server server;
private Client client;
// Π»Π΅Π²Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅
private Command exitCommand = new Command («Exit», Command. EXIT, 1);
// ΠΏΡΠ°Π²Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅
private Command startCommand = new Command («Start», Command. ITEM, 1);
/**
* ΠΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ. ΡΠΎΠ·Π΄Π°ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅.
* Π ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ.
*/
public SocketMIDlet () {
display = Display. getDisplay (this);
f = new Form («Socket Demo»);
cg = new ChoiceGroup («Please select peer» ,
Choice.EXCLUSIVE, names, null);
f.append (cg);
f.addCommand (exitCommand);
f.addCommand (startCommand);
f.setCommandListener (this);
display.setCurrent (f);
}
public boolean isPaused () {
return isPaused;
}
/**
* ΠΠ°ΠΏΡΡΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
*/
public void startApp () {
isPaused = false;
}
/**
* ΠΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
*/
public void pauseApp () {
isPaused = true;
}
/**
* ΠΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
*/
public void destroyApp (boolean unconditional) {
if (server ≠ null) {
server.stop ();
}
if (client ≠ null) {
client.stop ();
}
}
/**
* ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠ±ΡΡΠΈΠΉ.
*/
public void commandAction (Command c, Displayable s) {
if (c == exitCommand) {
destroyApp (true);
notifyDestroyed ();
} else if (c == startCommand) {
String name = cg. getString (cg.getSelectedIndex ());
if (name.equals (SERVER)) {
server = new Server (this);
server.start ();
} else {
client = new Client (this);
client.start ();
}
}
}
}
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΠΊΠ΅ΡΠΎΠ² ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ:
// Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΠΊΠ΅Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π½Π° 5000 ΠΏΠΎΡΡΡ Ρ localhost
SocketConnection sc = (SocketConnection) Connector. open («socket://localhost:5000»);
// ΠΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠΎΠΊ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ ΠΎΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² ΡΠΎΠΊΠ΅Ρ
InputStream is = sc. openInputStream ();
// ΠΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠΎΠΊ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈΠ· ΡΠΎΠΊΠ΅ΡΠ°
OutputStream os = sc. openOutputStream ();
ΠΠ»Ρ ΠΎΡΠΊΡΡΡΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ:
// Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΠΊΠ΅Ρ Π½Π° 5000 ΠΏΠΎΡΡΡ
ServerSocketConnection scn = (ServerSocketConnection) Connector. open («socket://:5000»);
// ΠΠΆΠΈΠ΄Π°ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΠΌΠ°ΡΠΈΠ½
SocketConnection sc = (SocketConnection) scn. acceptAndOpen ();
ΠΠΈΡΠ΅ΡΠ°ΡΡΡΠ°.
1. ΠΠ΅Π½ ΠΡΠ½ΠΎΠ»ΡΠ΄, ΠΠΆΠ΅ΠΉΠΌΡ ΠΠΎΡΠ»ΠΈΠ½Π³, ΠΡΠ²ΠΈΠ΄ Π₯ΠΎΠ»ΠΌΡ. Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Java™.
2. ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΡ Java — http://java.sun.com/ (Π΅ΡΡΡ ΡΠ°Π·Π΄Π΅Π» Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Ρ ΡΡΠ΅Π±Π½ΠΈΠΊΠΎΠΌ).
3. Java™ 2 SDK, Micro Edition Documentation — http://java.sun.com/products/midp/index.jsp