ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ j2me Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ² ΠΏΡΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠΉ
Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ (ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΡΠ΅Π΄Π½Π΅ΠΉ ΡΠ΅Π½ΠΎΠ²ΠΎΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΠΈ Π²ΡΡΠ΅) ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ, Π²ΡΡ ΠΎΠ΄ΡΡΠΈΠΌΠΈ Π·Π° ΡΠ°ΠΌΠΊΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΡΡ : ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΠΎΠΉ, ΠΏΡΠΎΡΠΌΠΎΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡ, ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠΌ Π·Π°Π΄Π°Ρ ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ. Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π·Π° ΡΡΠ΅Ρ J2ME-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅ΠΌΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΌΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°ΠΌΠΈ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ j2me Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ² ΠΏΡΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠΉ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠΈΠ½ΠΈΡΡΠ΅ΡΡΡΠ²ΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π Π΅ΡΠΏΡΠ±Π»ΠΈΠΊΠΈ ΠΠ΅Π»Π°ΡΡΡΡ
" ΠΠΎΠΌΠ΅Π»ΡΡΠΊΠΈΠΉ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ ΠΈΠΌΠ΅Π½ΠΈ Π€ΡΠ°Π½ΡΠΈΡΠΊΠ° Π‘ΠΊΠΎΡΠΈΠ½Ρ"
ΠΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°ΠΊΡΠ»ΡΡΠ΅Ρ
ΠΠ°ΡΠ΅Π΄ΡΠ° Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΈ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΠΈΠΏΠ»ΠΎΠΌΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ°
" ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ j2me Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ² ΠΏΡΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ"
ΠΠΎΠΌΠ΅Π»Ρ 2009
Π Π΅ΡΠ΅ΡΠ°Ρ
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π°: Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅, ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ, ΠΌΠΈΠ΄Π»Π΅Ρ, ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° J2ME, Bluetooth, SMS-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, MMS-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°, ΠΊΠ°ΠΌΠ΅ΡΠ°, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° LWUIT, FileConnection API JSR-75, MobileMedia API JSR-135, Bluetooth API JSR-82, Wireless Messaging API JSR-205.
ΠΠ±ΡΠ΅ΠΊΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ: ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°.
ΠΠ΅ΡΠΎΠ΄Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ: ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° J2ME.
Π¦Π΅Π»Ρ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ: ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠ² ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ J2ME.
ΠΡΠ²ΠΎΠ΄Ρ: ΠΈΠ·ΡΡΠ΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°: ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠ°ΠΌΠ΅ΡΠ°, Bluetooth, ΠΎΡΠΏΡΠ°Π²ΠΊΠ° SMS ΠΈ MMS-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ. Π Π°Π·ΡΠ°Π±ΠΎΡΠ°Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ J2ME, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅.
1. ΠΠ±Π·ΠΎΡ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ
2. ΠΠ»Π°ΡΡΠΎΡΠΌΠ° J2ME
2.1 ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ
2.2 ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° LWUIT
2.3 Bluetooth
3. ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ J2ME
3.1 ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
3.2 ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
3.3 ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ ΠΏΠΎ Bluetooth
3.4 Π Π°Π±ΠΎΡΠ° Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°
3.5 ΠΡΠΏΡΠ°Π²ΠΊΠ° SMS ΠΈ MMS-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ
3.6 ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ²
ΠΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ — ΠΏΡΠΎΡΠ΅ΡΡ, ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΠΌΡΠΉ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π·Π° ΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌΡΠΌΠΈ ΠΈΠ»ΠΈ Π½Π°Π±Π»ΡΠ΄Π°Π΅ΠΌΡΠΌΠΈ ΡΠ΅ΡΡΠΈΡΠΎΡΠΈΡΠΌΠΈ, ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, ΡΡΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ. ΠΠ»Π°Π²Π½Π°Ρ Π·Π°Π΄Π°ΡΠ° Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ — ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΏΡΡΠ΅ΠΌ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ Π±Π΅Π· ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π²ΠΎ Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΠ΅ΡΠΈ.
ΠΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ ΡΡΠ°Π»ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ ΠΎΠ±ΡΡΠ½ΡΠΌ ΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ. Π Π°Π·Π²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈ ΡΠΎΡΠ³ΠΎΠ²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π°Π²ΡΠΎΡΡΠΎΡΠ½ΠΊΠΈ ΠΈ Π³Π°ΡΠ°ΠΆΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΡ, ΠΎΡΠΈΡΡ, ΡΡΠ°Π½ΡΠΏΠΎΡΡ, ΠΎΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΌΠ΅ΡΡΠ°, ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π±Π°Π½ΠΊΠΎΠ²ΡΠΊΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΠΎΡΠ° ΡΠ½Π°Π±ΠΆΠ°ΡΡΡΡ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΠΌΠ΅ΡΠ°ΠΌΠΈ. ΠΠΈΠ΄Π΅ΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅ΡΡΡΠΏΠ»Π΅Π½ΠΈΠΉ ΠΈ ΠΈΡ Π±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΠΎΠ΅ ΡΠ°ΡΠΊΡΡΡΠΈΠ΅, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»Π°.
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΠΏΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ Π΄Π΅Π»ΡΡΡΡ Π½Π° ΡΠΈΡΡΠΎΠ²ΡΠ΅ ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΠ΅ (ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠ΅). Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΠΌΠ΅Ρ, ΡΡΡΡΠΎΠΉΡΡΠ² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ, Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ² Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (ΠΌΠΎΠ½ΠΈΡΠΎΡ). Π’Π°ΠΊΠΆΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ°ΡΡΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΡΠΈΠΏΠ° ΠΊΠΎΠΆΡΡ ΠΎΠ², ΡΡΡΡΠΎΠΉΡΡΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π½Π° Π΄Π°Π»ΡΠ½ΠΈΠ΅ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ ΠΈ Ρ. ΠΏ.
Π¦ΠΈΡΡΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ:
— Π²ΡΡΠΎΠΊΠΎΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΠΎΠΉ Π²ΠΈΠ΄Π΅ΠΎΠ·Π°ΠΏΠΈΡΠΈ;
— Π²ΡΡΠΎΠΊΡΡ ΡΠΊΠΎΡΠΎΡΡΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π²ΠΈΠ΄Π΅ΠΎΠ°ΡΡ ΠΈΠ²Ρ;
— ΡΠΈΡΡΠΎΠ²ΠΎΠ΅ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΠ°Π΄ΡΠ°;
— Π±ΡΡΡΡΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡ Π²ΠΈΠ΄Π΅ΠΎΠ·Π°ΠΏΠΈΡΠΈ ΠΏΠΎ ΠΊΠ°ΠΌΠ΅ΡΠ΅, Π΄Π°ΡΠ΅ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ;
— Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ;
— Π»Π΅Π³ΠΊΠ°Ρ ΠΈ Π½Π΅Π΄ΠΎΡΠΎΠ³Π°Ρ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΡ Π²ΠΈΠ΄Π΅ΠΎΠ°ΡΡ ΠΈΠ²ΠΎΠ² ΠΏΠΎ ΠΊΠ°Π½Π°Π»Π°ΠΌ ΡΠ²ΡΠ·ΠΈ;
— Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΡΠ΅Π²ΠΎΠΆΠ½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΠ΅ ΠΈ SMS;
— Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΊΡΠΏΠΎΡΡΠ° Π²ΠΈΠ΄Π΅ΠΎΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠ΅ Π½ΠΎΡΠΈΡΠ΅Π»ΠΈ.
ΠΠ½Π°Π»ΠΎΠ³ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ ΠΏΡΠΎΡΡΠ° Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°Π½ΠΈΠΌΠ°ΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΠ΅ΡΡΠΎΠ½Π°Π» ΠΌΠ΅Π½ΡΡΠ΅ΠΉ ΠΊΠ²Π°Π»ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ. ΠΠΈΠ½ΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅:
— ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ — ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΡΡΠΎΡΠΎΠ½Π° Π²ΡΡΠΎΠΊΠΎΠΉ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΠΈ;
— ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ΅ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅ — ΡΠΌΠ΅Π½Π° ΠΈ Π°ΡΡ ΠΈΠ²Π°ΡΠΈΡ ΠΊΠ°ΡΡΠ΅Ρ, ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΈΡΡΠΊΠ° ΠΈ Π·Π°ΠΌΠ΅Π½Π° Π²ΠΈΠ΄Π΅ΠΎΠ³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π²ΠΈΠ΄Π΅ΠΎΠΌΠ°Π³Π½ΠΈΡΠΎΡΠΎΠ½Π°.
ΠΠ½Π°Π»ΠΎΠ³ΠΎΠ²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ°ΠΌ, Π³Π΄Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π² Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Ρ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΠΌΠ΅Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π½Π° Π²ΠΈΠ΄Π΅ΠΎΠΌΠ°Π³Π½ΠΈΡΠΎΡΠΎΠ½.
Π£ΡΠΈΡΡΠ²Π°Ρ ΡΠΈΡΠΎΠΊΠΎΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠΎΡΠΎΠ²ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ, ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡ ΠΊΠ°ΠΌΠ΅Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ SMS Ρ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ± ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π½ΠΎΠΌ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° GOALmobile — ΡΡΠΎ Π²ΠΈΠ΄Π΅ΠΎΡΠ΅Π»Π΅ΡΠΎΠ½, ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΡ Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° Π½Π° Π΄ΡΡΠ³ΠΎΠΉ. ΠΡΠΈ ΡΡΠΎΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΡΠΎΠ²ΡΠΉ ΡΠ΅Π»Π΅ΡΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π» ΡΡΠ½ΠΊΡΠΈΡ GPRS. ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΡΠ°Π½ΡΠ»ΠΈΡΡΠ΅ΠΌΡΡ ΠΊΠ°ΠΌΠ΅Ρ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ. ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΎΠΉ ΡΡΡΠ±ΠΊΠ΅. Π ΡΠΎΡΡΠ°Π²Π΅ ΡΠΈΡΡΠ΅ΠΌΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π΄Π°Π½Π½Π°Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΡΠ΅Π²ΠΎΠΆΠ½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Ρ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ Π½Π° Π΄ΠΈΡΠΏΠ»Π΅ΠΉ Π²ΠΈΠ΄Π΅ΠΎΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΡΠΎΠ±ΡΡΠΈΡ ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π·Π°ΠΏΠΈΡΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΌΠΈ ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΎΡ ΡΠ°Π½Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Π·Π²ΠΎΠ½ΠΊΠ° ΠΏΠ΅ΡΠ΅Π΄ Π΄Π²Π΅ΡΡΡ ΠΊΠ²Π°ΡΡΠΈΡΡ Π½Π° ΡΠ΅Π»Π΅ΡΠΎΠ½ ΠΏΠΎΡΡΡΠΏΠΈΡ ΡΠΈΠ³Π½Π°Π», ΠΈ Π½Π° Π΄ΠΈΡΠΏΠ»Π΅Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½Π° ΠΆΠΈΠ²Π°Ρ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΡ ΠΊΠ°ΠΌΠ΅ΡΡ-Π³Π»Π°Π·ΠΊΠ°. ΠΡΠΈ ΡΡΠΎΠΌ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π°ΠΆΠ°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ 1 Π΄Π»Ρ ΠΎΡΠΊΡΡΡΠΈΡ Π·Π°ΠΌΠΊΠ°, ΠΊΠ½ΠΎΠΏΠΊΡ 2 Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΈΡΠ΅Π½Ρ, ΠΊΠ½ΠΎΠΏΠΊΡ 3 Π΄Π»Ρ Π²ΡΠ΄Π°ΡΠΈ Π³ΠΎΠ»ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ Ρ. Π΄.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΊΠ°ΠΌΠ΅ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° Π΄Π»Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π¦ΡΡΠΈΡ ΡΠΊΠΈΠΉ ΠΠ½ΡΡΠΈΡΡΡ Π²ΡΠ΅ΠΏΡΠΎΠ½ΠΈΠΊΠ°ΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ·Π΄Π°Π» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΊΠ°ΠΌΠ΅ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ², Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΡ Π² ΠΎΠ±ΡΠ΅ΠΉ ΡΠ΅ΡΠΈ, Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΈΡΡΠ΅ΠΌΡ Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Facet ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΌ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°ΠΌ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Bluetooth, Π° Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌ ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ ΠΌΠΎΠ³ΡΡ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠΈΡ, ΠΏΠΎΠΏΠ°Π΄Π°ΡΡΠΈΠ΅ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠΈΠ² ΠΊΠ°ΠΌΠ΅ΡΡ. Π‘ΠΌΡΡΠ» Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°ΠΊΠΎΠ², ΡΡΠΎ Π΅ΡΠ»ΠΈ Π·Π°ΠΊΡΠ΅ΠΏΠΈΡΡ ΠΏΠ°ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Nokia N6630, Π½Π° ΠΏΠΎΡΠΎΠ»ΠΊΠ΅ ΠΈ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Facet, ΡΠΎ ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΏΠΎΠ»Π΅ ΠΎΠ±Π·ΠΎΡΠ° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΊΠ°ΠΌΠ΅Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΏΠ°Π΄Π°ΡΡ Π΄Π²ΠΈΠΆΡΡΠΈΠΉΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΠ΅Π»Π΅ΡΠΎΠ½ ΡΡΠ°Π·Ρ ΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΡΠ»Π°ΡΡ ΡΠΈΠ³Π½Π°Π» Π½Π°Ρ ΠΎΠ΄ΡΡΠ΅ΠΌΡΡΡ ΡΡΠ΄ΠΎΠΌ ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΡΡΠ»Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΡΠ΅ΡΠ΅Π· GPRS. ΠΠΎΠ΄ΠΎΠ±Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡ ΡΠ°Π½Π½ΠΎΠΉ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ.
ΠΠ΄Π½Π°ΠΊΠΎ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΡΠΎΠ³ΠΈΠ΅ ΠΈ ΡΠΎΠ·Π΄Π°Π½Ρ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΎΠ² ΠΈ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΎΡΠΎΠ². ΠΠΎΡΡΠΎΠΌΡ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ J2ME, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎΠΌ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ².
1. ΠΠ±Π·ΠΎΡ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠΎΡΠΎΠ²Π°Ρ ΡΠ²ΡΠ·Ρ — ΡΠ°ΠΌΠ°Ρ ΡΠΈΡΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ ΠΈΠ· Π²ΡΠ΅Ρ Π²ΠΈΠ΄ΠΎΠ² ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌΠΈ Π²ΠΈΠ΄Π°ΠΌΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ² ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΠ΅Π»Π΅ΡΠΎΠ½, ΡΠΌΠ°ΡΡΡΠΎΠ½, ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΎΡ ΠΈ ΠΠΠ.
Π‘ΠΌΠ°ΡΡΡΠΎΠ½Ρ ΠΈ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΎΡΡ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΠΎΠ±ΡΡΠ½ΡΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ² Π½Π°Π»ΠΈΡΠΈΠ΅ΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ°Π·Π²ΠΈΡΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΎΡΠΊΡΡΡΠΎΠΉ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ»ΡΡΡΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΎΠ² ΠΈ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΎΠ±ΡΡΠ½ΡΠΌΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΌΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°ΠΌΠΈ.
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΌΠ°ΡΡΡΠΎΠ½Π°ΠΌΠΈ ΠΈ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΎΠ±ΠΎΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΡΡΡΡΠΎΠΉΡΡΠ² ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Π°. Π§Π°ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ «ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄», ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ: Π΅ΡΠ»ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π²Π΅Π΄Π΅Ρ ΡΠ²ΠΎΡ ΡΠΎΠ΄ΠΎΡΠ»ΠΎΠ²Π½ΡΡ ΠΎΡ ΠΠΠ — ΡΡΠΎ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΎΡ, Π° Π΅ΡΠ»ΠΈ ΠΎΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ² — ΡΡΠΎ ΡΠΌΠ°ΡΡΡΠΎΠ½. Π ΡΠ°ΠΌΠΊΠ°Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΏΠΎΠ΄ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ ΡΠ΅Π½ΡΠΎΡΠ½ΡΠΌ ΡΠΊΡΠ°Π½ΠΎΠΌ (ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠΎΠΉ), ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Windows Mobile. Π£ΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΈΡΡΠΎΠ²ΡΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ (Π°Π½Π°Π»ΠΎΠ³ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΎΠΉ), Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΡΠΌΠ°ΡΡΡΠΎΠ½Π°ΠΌΠΈ. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Symbian ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎ ΠΎΡΠ½ΠΎΡΡΡ ΠΊ ΡΠΌΠ°ΡΡΡΠΎΠ½Π°ΠΌ (Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Nokia ΡΠ΅ΡΠΈΠΈ 9XXX, Nokia E90 ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π΄ΡΡΠ³ΠΈΡ ). Π ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ (ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ ΡΠ΅Π½ΡΠΎΡΠ½ΡΠΌ ΡΠΊΡΠ°Π½Π°ΠΌ ΠΎΡΠ½ΠΎΡΡΡ ΠΊ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌ, Π° ΠΊ ΡΠΌΠ°ΡΡΡΠΎΠ½Π°ΠΌ ΠΎΡΠ½ΠΎΡΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π±Π΅Π· Π½Π΅Π³ΠΎ), Ρ ΠΎΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΎΠ² ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° Π΄Π²ΡΡ ΠΊΠΎΠ½ΠΊΡΡΠΈΡΡΡΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ : Symbian ΠΈ Windows Mobile Smartphone Edition. Π ΠΌΠΈΡΠ΅ Symbian Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ Nokia Series 60, 80, 90 ΠΈ Sony Ericsson UIQ. Π Π»Π°Π³Π΅ΡΠ΅ Windows Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° HTC.
Π’Π°ΠΊΠΆΠ΅ ΡΠ°ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΡΠ°Π·Π΄Π΅Π»ΡΠ΅Ρ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΎΡΡ ΠΈ ΡΠΌΠ°ΡΡΡΠΎΠ½Ρ ΠΏΠΎ Π½Π°Π»ΠΈΡΠΈΡ ΠΈΠ»ΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΠΉ (QWERTY) ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ (Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ»ΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ).
Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ (ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΡΠ΅Π΄Π½Π΅ΠΉ ΡΠ΅Π½ΠΎΠ²ΠΎΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΠΈ Π²ΡΡΠ΅) ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ, Π²ΡΡ ΠΎΠ΄ΡΡΠΈΠΌΠΈ Π·Π° ΡΠ°ΠΌΠΊΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΡΡ : ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΠΎΠΉ, ΠΏΡΠΎΡΠΌΠΎΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡ, ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠΌ Π·Π°Π΄Π°Ρ ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ. Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π·Π° ΡΡΠ΅Ρ J2ME-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅ΠΌΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΌΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°ΠΌΠΈ, ΡΠΌΠ°ΡΡΡΠΎΠ½Π°ΠΌΠΈ ΠΈ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌΠΈ. ΠΠΊΡΠ°Π½ ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΡΠ΄Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ² Π½Π΅ ΡΡΡΡΠΏΠ°Π΅Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Ρ ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΎΠ² (Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ ΠΎΡΠ½Π°ΡΠ°ΡΡΡΡ ΠΈ ΡΠ΅Π½ΡΠΎΡΠ½ΡΠΌΠΈ ΡΠΊΡΠ°Π½Π°ΠΌΠΈ), ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΡΠ½Π°ΡΠ΅Π½Ρ ΡΠ°Π·ΡΠ΅ΠΌΠΎΠΌ Π΄Π»Ρ ΠΊΠ°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ. Π‘ΠΌΠ°ΡΡΡΠΎΠ½Ρ Π² Π³Π»Π°Π·Π°Ρ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π²ΡΠ³Π»ΡΠ΄ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π·Π° ΡΡΠ΅Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠ°ΠΊΡΠΎΡΠΎΠ² (ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΏΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΎΠ² ΠΈ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΌΠΈ), ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ: ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ (Π±ΠΎΠ»Π΅Π΅ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½Π°Ρ ΠΊΠ°ΠΌΠ΅ΡΠ°, ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎΡΠ°ΠΉΠ»ΠΎΠ², ΡΠ»ΡΡΡΠ΅Π½Π½ΡΠ΅ ΠΌΡΠ·ΡΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ), Wi-Fi, GPS ΠΈ Π΄Ρ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΌΠ°ΡΡΡΠΎΠ½Π° ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΎΡΠ°, ΡΠ²Π»ΡΡΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΌΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π² Π΄Π²ΠΎΠΈΡΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΠΌΠΈ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠΌΠ°ΡΡΡΠΎΠ½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ, ΡΠ΅ΠΌ Π² ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°Ρ , Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ. Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½Ρ ΠΈ ΡΠ°ΡΠΈΠΎΠ½Π°Π»ΡΠ½Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ΅ΡΡΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, ΡΠ΅ΠΌ «ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠ΅» J2ME-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΎΡΡΠΎΠΌΡ ΡΠΌΠ°ΡΡΡΠΎΠ½Ρ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡΡ ΡΡΠ΅Π΄ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΠ»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Symbian ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘++ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΠ΅Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΎΠΊ: Visual Studio, IDE Metrowerks CodeWarrior Development Studio, Borland C++ BuilderX Mobile Edition, Carbide. C++.
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΎΡΡ ΠΈ ΡΠΌΠ°ΡΡΡΠΎΠ½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ²ΠΌΠ΅ΡΠ°ΡΡ Π² ΡΠ΅Π±Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΠΠ Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°. ΠΠΠ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΡΠ΄ΠΎΠΌ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ² ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌΠΈ, ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ — ΠΌΠ΅Π½ΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ. Π Π½Π°ΡΠ°Π»Ρ 2008 Π³ΠΎΠ΄Π° ΠΠΠ Π±ΡΠ»ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΡΠ΅ΡΠ½Π΅Π½Ρ ΡΠΌΠ°ΡΡΡΠΎΠ½Π°ΠΌΠΈ ΠΈ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌΠΈ, ΠΎΠ±ΡΠ΅ΠΌΡ ΠΏΠΎΡΡΠ°Π²ΠΎΠΊ ΠΠΠ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠ½ΠΈΠΆΠ°ΡΡΡΡ.
Android — Π½Π΅Π΄Π°Π²Π½ΠΎ ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ°ΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½Π°Ρ Π½Π° Linux, ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠ°Ρ OHA. Π‘ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Android SDK ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π° Π΄Π»Ρ Eclipse ADT Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Android ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Java, ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΠΌ ΡΠ΅ΡΠ΅Π· ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Google Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° C ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Android ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ HTC G1, Samsung i7500 ΠΈ Π΄Ρ.
ΠΡΠ±ΠΎΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ J2ME Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½ Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΠΎΡΡΡΡ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌ ΡΠ΅ΡΡΡΡΠ°ΠΌ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°.
2. ΠΠ»Π°ΡΡΠΎΡΠΌΠ° J2ME
2.1 ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠΎΠ½ΡΡΠΈΡ
ΠΠ»Π°ΡΡΠΎΡΠΌΠ° J2ME Π±ΡΠ»Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Sun Microsystems Ρ ΡΠ΅Π»ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Java-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΡΡΡΠΎΠΉΡΡΠ² Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠΎΡΠΎΠ²ΡΠ΅ ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ, ΠΏΠ΅ΠΉΠ΄ΠΆΠ΅ΡΡ, ΡΠΌΠ°ΡΡ-ΠΊΠ°ΡΡΡ, ΠΎΡΠ³Π°Π½Π°ΠΉΠ·Π΅ΡΡ ΠΈ ΠΌΠΈΠ½ΠΈΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ.
ΠΠ»Π°ΡΡΠΎΡΠΌΠ° J2ME ΡΠ²Π»ΡΠ΅ΡΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΉ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΡΠΈ Π΄ΠΎΡΡΡΠΏΠ΅ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΉ, ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ SMS, Π΄ΠΎΡΡΡΠΏΠ΅ ΠΊ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠ± ΡΡΠΎΠΌ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ ΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΅Π³ΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅. ΠΡΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ Π½Π΅ΡΠ°Π½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΡΠΎΡΠ½, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ΄ Π²ΠΈΠ΄ΠΎΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΏΡΠ°Π²Π° Π² ΡΠ²ΠΎΠΈΡ ΡΠ΅Π»ΡΡ .
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ J2ME ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 2.1.
Π ΠΈΡΡΠ½ΠΎΠΊ 2.1 — ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ J2ME
Π£ΡΡΡΠΎΠΉΡΡΠ²Π°, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΡΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ J2ME-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (ΠΌΠΈΠ΄Π»Π΅Ρ), ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ ΠΈ ΠΏΡΠΎΡΠΈΠ»Π΅ΠΌ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ°ΠΌΡΠ΅ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΊΠ»Π°ΡΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΊΠ»Π°ΡΡ System, Runtime, Thread ΠΈ Ρ. Π΄., ΡΠΎ Π΅ΡΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠΎΠΌ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. ΠΠ°Π΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ Π½Π°Π΄ΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ ΡΠ²ΠΎΠΈ ΠΏΡΠΎΡΠΈΠ»ΠΈ. ΠΡΠΎΡΠΈΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ API.
ΠΡΠ΄Π΅Π»ΡΡΡ 2 ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ: CLDC ΠΈ CDC. CDC ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΡΡΡΡΠΎΠΉΡΡΠ², ΠΈΠΌΠ΅ΡΡΠΈΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π²ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Π΄Π²ΡΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΏΠ΅ΠΉΠ΄ΠΆΠ΅ΡΡ, ΡΠ΅Π»Π΅Π²ΠΈΠ·ΠΈΠΎΠ½Π½ΡΠ΅ ΠΏΡΠΈΡΡΠ°Π²ΠΊΠΈ, Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ, ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΎΡΡ. Π’Π°ΠΊΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡΠ½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ 2 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡΠ°ΠΌΠΈ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠ°Π΄ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ CDC ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π°Π΄ΡΡΡΠΎΠ΅Π½Ρ ΠΏΡΠΎΡΠΈΠ»ΠΈ Foundation Profile, Personal Basis Profile ΠΈ Personal Profile.
Foundation Profile Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ GUI. ΠΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ ΡΡΡΡΠΎΠΉΡΡΠ².
Personal Basis Profile ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ GUI. Π―Π²Π»ΡΠ΅ΡΡΡ Π½Π°Π΄ΡΡΡΠΎΠΉΠΊΠΎΠΉ Π½Π°Π΄ Foundation Profile.
Personal Profile ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° AWT. Π―Π²Π»ΡΠ΅ΡΡΡ Π½Π°Π΄ΡΡΡΠΎΠΉΠΊΠΎΠΉ Π½Π°Π΄ Personal Basis Profile.
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ CLDC ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΡΡΡΡΠΎΠΉΡΡΠ² Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΌΠΎΡΠ½ΠΎΡΡΡΡ (ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ, ΠΎΡΠ³Π°Π½Π°ΠΉΠ·Π΅ΡΡ, ΠΠΠ). ΠΠ»Ρ ΡΡΠΈΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
— ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ 16 ΠΈΠ»ΠΈ 32-ΡΠ°Π·ΡΡΠ΄Π½ΡΠΉ;
— ΠΏΠ°ΠΌΡΡΡ ΠΎΡ 160 Π΄ΠΎ 512 ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ;
— Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π²ΠΎΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅;
— ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠΎΠ².
ΠΠ°Π½Π½Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ java.lang.*, java.io.*, java.util.*, javax.microedition.io.* ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠΉ Π² Π²Π΅ΡΡΠΈΠΈ 1.1 ΠΏΠ°ΠΊΠ΅Ρ java.lang.ref.*. ΠΠ°ΠΊΠ΅ΡΡ, ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡΠΈΠ΅ Ρ J2SE, ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΊΠ»Π°ΡΡΠΎΠ², Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°ΡΡΠΈΡ ΡΡ Ρ J2SE ΠΊΠ»Π°ΡΡΠΎΠ² Π²Π΅ΡΡΠΈΠΈ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄Π° CLDC 1.0 ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ JDK 1.1, CLDC 1.1 — JDK 1.3. ΠΠ½ΠΎΠ³Π΄Π° ΠΊ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ HI, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ HotSpot Implementation (Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° Ρ ΡΠ»ΡΡΡΠ΅Π½Π½ΡΠΌΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π² ΡΠ΅Π»ΠΎΠΌ ΠΈ ΡΠ°ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΠΊΡΡΠΊΠΎΠ² ΠΊΠΎΠ΄Π° Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π΄Π»Ρ J2SE ΠΎΠ½Π° ΡΡΠ°Π»Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½ΠΎΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Ρ Π²Π΅ΡΡΠΈΠΈ 1.3).
MIDP — Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΡΠΈΠ»Ρ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ CLDC. ΠΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π³ΡΠ°ΡΠΈΠΊΠΎΠΉ, Π·Π²ΡΠΊΠΎΠΌ, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΡΡ (ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ° ΠΈ ΡΠΊΡΠ°Π½), Π±Π°Π·ΠΎΠ²ΡΠΉ Π½Π°Π±ΠΎΡ ΠΊΠ»Π°ΡΡΠΎΠ² Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΠΊΡΠ°Π½ΠΎΠ² ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ Π΄Π²Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ MIDP API — 1.0 ΠΈ 2.0 (ΡΠ°ΠΌΠΈΡ Π²Π΅ΡΡΠΈΠΉ MIDP Π±ΠΎΠ»ΡΡΠ΅, Π½ΠΎ Π² Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠ°ΡΠ°ΡΡΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ Π½Π΅ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°ΡΡ ΡΠ°ΠΌΠΎ API).
ΠΡΠΎΡΠΈΠ»Ρ MIDP Π·Π°Π΄Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ:
— ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΊΡΠ°Π½Π° ΠΌΠΈΠ½ΠΈΠΌΡΠΌ 96×54 ΠΏΠΈΠΊΡΠ΅Π»Ρ;
— 32 ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ;
— 128 ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ ΠΏΠΎΠ΄ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ MIDP;
— 8 ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΡ Π΄Π°Π½Π½ΡΡ ;
— Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½Π°Ρ ΡΠ΅ΡΡ;
— ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ°.
ΠΠ°Π»ΡΠ½Π΅ΠΉΡΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΡΡΠΎΠΉΡΡΠ² Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΎΠ±ΡΡΠ»Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ MMAPI (JSR-135).
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ CDLC ΡΠ²Π»ΡΠ΅ΡΡΡ KVM, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ·-Π·Π° ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎΡΡΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ΄ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²:
— Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π΄ΡΠΎΠ±Π½ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ;
— Π½Π΅Π»ΡΠ·Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»Π°ΡΡ-Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ Π΄Π»Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΊΠ»Π°ΡΡΠΎΠ² Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ;
— ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΡ — Π½Π°Π±ΠΎΡ ΡΡΠ΅Π΄ΡΡΠ² Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈ ΠΈΡΡΠ΅ΡΠΏΡΠ²Π°ΡΡΠ΅ΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ ΠΊΠ»Π°ΡΡΠ΅ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ;
— Π½Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Java Native ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ — Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΈΠ· Java-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΌ Π½Π° Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΌ native-ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ;
— Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΈΠ½Π°Π»ΠΈΠ·Π°ΡΠΈΡ;
— ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π³ΡΡΠΏΠΏΠΎΠ²ΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ².
ΠΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ MIDlet. ΠΠΈΠ·Π½Π΅Π½Π½ΡΠΉ ΡΠΈΠΊΠ» ΠΌΠΈΠ΄Π»Π΅ΡΠ° ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΠΌΠ΅ΡΠΎΠ΄Π°Ρ startApp (), pauseApp (), destroyApp () ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 2.2.
Π ΠΈΡΡΠ½ΠΎΠΊ 2.2 — ΠΠΈΠ·Π½Π΅Π½Π½ΡΠΉ ΡΠΈΠΊΠ» ΠΌΠΈΠ΄Π»Π΅ΡΠ° ΠΡΠ΅ ΡΠΊΡΠ°Π½Π½ΡΠ΅ ΡΠΎΡΠΌΡ ΡΠ°ΡΡΠΈΡΡΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ Displayable. ΠΡΠΎΡ ΠΊΠ»Π°ΡΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠΊΡΠ°Π½Π½ΡΡ ΡΠΎΡΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, Π±Π΅Π³ΡΡΡΡ ΡΡΡΠΎΠΊΡ, Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΡΠ»ΡΡΠ°ΡΠ΅Π»Ρ ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠΎΡΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΈΠΏΡ ΡΠΊΡΠ°Π½Π½ΡΡ ΡΠΎΡΠΌ [3]:
— List ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΡΡΠΎΡΠΊΠΎΠΉ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Image;
— TextBox ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡ;
— Alert ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ Ρ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΠΌ ΠΎΠΊΠ½ΠΎΠΌ, ΠΎΠΏΠΎΠ²Π΅ΡΠ°ΡΡΠΈΠΌ ΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ΅Π΄ΡΠ΅ΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ;
— Form ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΡΡΠΎΡΠΊΠΈ, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΏΠΎΠ»Ρ Π²Π²ΠΎΠ΄Π°, ΡΠΏΠΈΡΠΊΠΈ;
— Canvas ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ°ΠΌΠΎΠΌΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ, ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ² ΠΌΠ΅ΡΠΎΠ΄ paint (Graphics g);
— TextBox — ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ°.
ΠΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° ΡΠΊΡΠ°Π½Π°, Π²ΠΈΠ±ΡΠ°ΡΠΎΡ, Π·Π²ΡΠΊ Π² MIDP 1.0 ΠΎΡΡΡΡΡΡΠ²ΡΡΡ (ΠΎΠ½ΠΈ ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² MIDP 2.0). ΠΠ΄Π½Π°ΠΊΠΎ, Π½Π΅ ΡΠΌΠΎΡΡΡ Π½Π° Π²ΡΠ΅ ΡΡΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π±Π»ΡΠ΄Π°ΡΡ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΠ΅Π»Π΅ΡΠΎΠ½ΠΎΠ², Π² ΠΊΠΎΡΠΎΡΡΡ Π΅ΡΡΡ ΡΠ°ΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ. ΠΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΡΠΎ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ API, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠΉ Π΄Π°Π½Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ. Π ΡΠ²ΡΠ·ΠΈ Ρ ΡΡΠΈΠΌ ΠΌΠΈΠ΄Π»Π΅Ρ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠΉ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°, ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΌ.
J2ME-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²: jad ΠΈ jar. Jad-ΡΠ°ΠΉΠ» — ΡΡΠΎ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ», Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΊΠ°Π·Π°Π½Ρ Π°ΡΡΠΈΠ±ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Jar-ΡΠ°ΠΉΠ» — ΡΡΠΎ ΡΠ°ΠΌΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΡΡΠΎ ΠΏΠ°ΠΊΠ΅Ρ ΠΌΠΈΠ΄Π»Π΅ΡΠΎΠ² (Midlet Suite).
2.2 ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° LWUIT
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° LWUIT Π±Π°Π·ΠΈΡΡΠ΅ΡΡΡ Π½Π° ΠΏΡΠΎΡΠΈΠ»Π΅ MIDP 2.0 ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ Π±ΡΡΡΡΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π½Π° ΡΠ΅Π»Π΅ΡΠΎΠ½Π°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΡΠΌΠ°ΡΡΡΠΎΠ½Π°Ρ Nokia ΡΠ»Π΅ΠΌΠ΅Π½Ρ StringItem (ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΎΡΠΌΡ) ΡΡΠ°Π²ΠΈΡ ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π±Ρ ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ, Π° Π½Π° ΡΠΌΠ°ΡΡΡΠΎΠ½Π°Ρ Sony Ericsson — Π½Π΅Ρ. ΠΠ° Nokia ΡΠ»Π΅ΠΌΠ΅Π½Ρ Ticker (Π±Π΅Π³ΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ°) Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΡΠΎΡΠΌΡ, Π½Π° Π΄ΡΡΠ³ΠΈΡ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°Ρ — Π½Π΅Ρ, Π° Π½Π° ΡΡΠ΅ΡΡΠΈΡ Ticker ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ. Π’Π°ΠΊΠ°Ρ ΠΏΠΎΡΡΠ°Π±Π΅Π»ΡΠ½ΠΎΡΡΡ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ Π·Π° ΡΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ»ΠΎΡ ΠΏΠΎΠ²Π΅ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΠΊΠ°Π½Π²Ρ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
LWUIT ΡΠΎΠ·Π΄Π°Π½Π° ΠΏΠΎ ΠΎΠ±ΡΠ°Π·Ρ Swing ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΏΡΠΎΡΡΡΡ Π³ΡΠ°ΡΠΈΠΊΡ ΠΈ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌΠΈ ΠΊ ΡΠ΅ΡΡΡΡΠ°ΠΌ ΠΈ ΡΠΌΠ΅ΡΠ΅Π½Π½ΡΠΌΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌΠΈ ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. Π Π½Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π³ΡΠ°ΡΠΈΠΊΠΈ SVG ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ MVC.
ΠΠ°Π½Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΡΠΎΡΡΠ°Π² Sun J2ME SDK 3.0 ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ:
— ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΠΊΠΎΠ½;
— ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΡΠΈΠ»ΠΈ;
— Π°Π½ΠΈΠΌΠ°ΡΠΈΡ;
— ΡΠ΅Π½ΡΠΎΡΠ½Π°Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ.
ΠΠ°Π·ΠΎΠ²ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ Component. ΠΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½Ρ Π½Π° ΡΠΊΡΠ°Π½Π΅. ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Ρ Π΄ΡΡΠ³ Π² Π΄ΡΡΠ³Π°. Π‘Π°ΠΌΡΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ Form, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠΊΡΠ°Π½Π½ΡΡ ΡΠΎΡΠΌΡ. Π ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ Π½Π΅Π³ΠΎ Π΅ΡΡΡ ΡΡΡΠΎΠΊΠ° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΡΠ²Π΅ΡΡ Ρ, ΡΡΡΠΎΠΊΠ° ΠΌΠ΅Π½Ρ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Π²Π½ΠΈΠ·Ρ ΠΈ ΠΏΠΎ ΡΠ΅Π½ΡΡΡ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ ContentPane — ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΠ°Π»Π΅Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ Π»ΠΈΡΡΠΈΠ½Π³ 2.1 ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠ΄Π½Ρ ΠΊΠ½ΠΎΠΏΠΊΡ.
ΠΠΈΡΡΠΈΠ½Π³ 2.1 — Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΡΠΌΡ
import com.sun.lwuit. Display;
import com.sun.lwuit. Form;
import com.sun.lwuit. Label;
import com.sun.lwuit.layouts. BorderLayout;
import com.sun.lwuit.plaf.UIManager;
import com.sun.lwuit.util. Resources;
public class HelloMidlet extends javax.microedition.midlet.MIDlet {
public void startApp () {
// ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
Display.init (this);
// Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΡΠ΅ΠΌΡ
try {
Resources r = Resources. open («/myresources.res»);
UIManager.getInstance ().setThemeProps (r.getTheme (
r.getThemeResourceNames () [0]));
} catch (java.io.IOException e) {
System.out.println («IOException «+e.getMessage ());
}
// 1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΎΡΠΌΡ
Form mainForm = new Form («Form Title»);
// 2. Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° LayoutManager
// Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΏΠΎΡΠΎΠ±Π° ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΏΠΎΠ½Π΅ΡΠΎΠ²
mainForm.setLayout (new BorderLayout ());
// 3. ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Label Π² ΡΠ΅Π½ΡΡ ΡΠΎΡΠΌΡ
mainForm.addComponent (BorderLayout.CENTER, new Label («Hello World»));
// 4. ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ
mainForm.addCommand (new Command («Run», 2));
// 5. ΠΡΠ²ΠΎΠ΄ ΡΠΎΡΠΌΡ Π½Π° ΡΠΊΡΠ°Π½
mainForm.show ();
}
public void pauseApp () {
}
public void destroyApp (boolean unconditional) {
}
}
ΠΠ°Π»Π΅Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°.
Label ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΡΡΡΠΎΡΠΊΡ ΡΠ΅ΠΊΡΡΠ° ΠΈ / ΠΈΠ»ΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ.
Button ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π½Π° ContentPane. ΠΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΈΡΡΠ½ΠΎΠΊ.
Π§ΡΠΎΠ±Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ActionListener. ΠΠ°Π»Π΅Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ (Π»ΠΈΡΡΠΈΠ½Π³ 2.2).
ΠΠΈΡΡΠΈΠ½Π³ 2.2 — ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ
final Button button = new Button («Old Text»);
button.addActionListener (new ActionListener () {
public void actionPerformed (ActionEvent evt) {
button.setText («New Text»);
}
});
RadioButton — ΡΠ°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠ°, ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠΎΠΌ Button.
ButtonGroup ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ ΡΠ°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠΈ Π² Π³ΡΡΠΏΠΏΡ, ΡΡΠΎΠ±Ρ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π±ΡΠ»Π° Π²ΡΠ±ΡΠ°Π½Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· Π½ΠΈΡ .
CheckBox ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΡΠ»Π΅Π΄Π½ΠΈΠΊΠΎΠΌ RadioButton ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ»Π°ΠΆΠΎΠΊ.
ComboBox — ΡΡΠΎ Π²ΡΠΏΠ°Π΄Π°ΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ. Π Π½Π΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΡΠΈΡΠΎΠ²ΠΊΠΈ, ΠΊΠ°ΠΊ ΠΈ Π΄Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΠΈΡΠΊΠ° List. Π Π²ΡΠΏΠ°Π΄Π°ΡΡΠ΅ΠΌ ΡΠΏΠΈΡΠΊΠ΅ ComboBox ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΡΠΊΠΈ ΡΠ΅ΠΊΡΡΠ°, Π½ΠΎ ΠΈ ΡΠ°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠΈ, ΡΠ»Π°ΠΆΠΊΠΈ, ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠΈ.
TextArea ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° — ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π²Π²ΠΎΠ΄Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, T9).
TabbedPane — ΡΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π³ΡΡΠΏΠΏΠ°ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ°Ρ .
2.3 Bluetooth
Bluetooth — ΡΡΠΎ Π½Π΅Π΄ΠΎΡΠΎΠ³Π°Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌ ΡΠ°Π΄ΠΈΠΎΠΊΠ°Π½Π°Π»Π°. Π Π°Π΄ΠΈΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Bluetooth-ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΠΈΠΊΠΎΠ², ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, Π½Π΅ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ 15-ΡΠΈ ΠΌΠ΅ΡΡΠΎΠ². ΠΠ»Ρ ΡΠ²ΡΠ·ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ°ΡΡΠΎΡΠ° 2.45 GHz. Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π΄ΠΎΡΡΡΠΏΠ½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Bluetooth Π²Π΅ΡΡΠΈΠΈ 1.1, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΡΠ°Π΄ΠΈΠΎΡΠ²ΡΠ·ΠΈ, Π½Π°Π±ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ.
Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π½Π°Π·Π²Π°Π½Π° Π² ΡΠ΅ΡΡΡ ΠΊΠΎΡΠΎΠ»Ρ ΠΠ°Π½ΠΈΠΈ Harold Bluetooth, ΠΆΠΈΠ²ΡΠ΅ΠΌ Π² X Π²Π΅ΠΊΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΠ» ΠΈ ΠΏΡΠ°Π²ΠΈΠ» ΠΠΎΡΠ²Π΅Π³ΠΈΠ΅ΠΉ ΠΈ ΠΠ°Π½ΠΈΠ΅ΠΉ.
ΠΠ΅ΡΠ²ΠΎΠ΅ Bluetooth-ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ Π½Π° ΡΡΠ½ΠΊΠ΅ Π² 1999. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ Bluetooth ΡΠ²Π»ΡΠ΅ΡΡΡ Bluetooth Special Interest Group. Π ΡΠΎΡΡΠ°Π² ΡΡΠΎΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π²Ρ ΠΎΠ΄ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠ°ΠΊ Sony Ericsson, Intel, IBM, Toshiba, Nokia, Microsoft, 3COM, Motorola.
Π¦Π΅Π»Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Bluetooth — ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ΅Π»ΡΠΉ ΡΡΠ΅ΠΊ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ², Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π΄ΠΈΠΎΡΠΈΡΡΠ΅ΠΌΡ (ΡΠΈΡΡΠ½ΠΎΠΊ 2.3).
Π ΠΈΡΡΠ½ΠΎΠΊ 2.3 — Π‘ΡΠ΅ΠΊ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² Bluetooth
HCI — ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ»ΠΎΠΉ, ΡΠ°Π·Π΄Π΅Π»ΡΡΡΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΈ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ΅ΠΊΠ° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°. Π‘Π»ΠΎΠΈ Π½ΠΈΠΆΠ΅ the HCI, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎ, Π° ΡΠ»ΠΎΠΈ Π²ΡΡΠ΅ — ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌΠΈ ΡΠ΅ΡΡΡΡΠ°ΠΌΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎ.
Applications — ΠΏΡΠΎΡΠΈΠ»ΠΈ Bluetooth, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ, ΠΊΠ°ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ΅ΠΊ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ².
Telephony Control System (TCS) — ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ.
Service Discovery Protocol (SDP) — ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π½Π° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Bluetooth-ΡΡΡΡΠΎΠΉΡΡΠ²Π΅.
WAP ΠΈ OBEX — ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π΄Π»Ρ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΠ»ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² ΡΠ²ΡΠ·ΠΈ.
RFCOMM — ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ RS-232 ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ.
L2CAP — ΡΠΎΠ±ΠΈΡΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡ Π²Π΅ΡΡ Π½ΠΈΡ ΡΠ»ΠΎΠ΅Π² ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°Π΅Ρ ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ ΡΠ°Π·Π½ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ².
HCI — ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ²ΡΠ·ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Ρ ΠΎΡΡΠΎΠΌ ΠΈ Bluetooth-ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ.
Link Manager Protocol — ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅Ρ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΡΠ΅Ρ ΡΠ²ΡΠ·ΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ.
Baseband ΠΈ Link Controller — ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠ²ΡΠ·ΡΠΌΠΈ, ΡΠ°ΡΡΠΎΡΠΎΠΉ Ρ ΠΎΠΏΠΎΠ² ΠΈ ΡΠ±ΠΎΡΠΊΠΎΠΉ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
Radio — ΠΌΠΎΠ΄ΡΠ»ΠΈΡΡΠ΅Ρ ΠΈ Π΄Π΅ΠΌΠΎΠ΄ΡΠ»ΠΈΡΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΈ ΠΏΡΠΈΠ΅ΠΌΠ° ΠΏΠΎ Π²ΠΎΠ·Π΄ΡΡ Ρ.
Π’Π΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Bluetooth ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΈΠ΅ΠΌ FHSS. Π Π°Π΄ΠΈΠΎΠ΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π΄Π΅Π»ΠΈΡΡΡ Π½Π° 79 ΠΏΠΎΠ΄ΠΊΠ°Π½Π°Π»ΠΎΠ². Π ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΡΠΈΡ ΠΏΠΎΠ΄ΠΊΠ°Π½Π°Π»ΠΎΠ². ΠΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ (Ρ ΠΎΠΏ) ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΊΠ°ΠΆΠ΄ΡΠ΅ 625 ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄ (1600 Ρ ΠΎΠΏΠΎΠ² Π·Π° ΡΠ΅ΠΊΡΠ½Π΄Ρ). Π’Π°ΠΊΠΎΠ΅ ΡΠ°ΡΡΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΠ΅Π½ΡΠΈΡ, Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΡΠ΄ΠΎΠΌ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ Bluetooth-ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΌΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΡΠ°ΡΡΠΎΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΈΠΊΡΠΎΠ²ΠΎΠ»Π½ΠΎΠ²Π°Ρ ΠΏΠ΅ΡΡ ΠΈΠ»ΠΈ Wi-Fi).
ΠΡΠ»ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΡΠ΅ΡΠ΅Π· Bluetooth ΠΈ Wi-Fi ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, ΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ AFH.
ΠΠ°ΠΆΠ΄ΠΎΠΌΡ Bluetooth-ΡΡΡΡΠΎΠΉΡΡΠ²Ρ Π½Π°Π·Π½Π°ΡΠ°Π΅ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ 48-Π±ΠΈΡΠ½ΡΠΉ Π°Π΄ΡΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Ρ ΠΎΠΏΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΊΠ»ΡΡΠ΅ΠΉ Π² ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Bluetooth.
ΠΠΈΠΊΠΎΡΠ΅ΡΡ — ΡΡΠΎ ΡΠΎΡΠΌΠ° Bluetooth-ΡΠ΅ΡΠΈ (ΡΠΈΡΡΠ½ΠΎΠΊ 2.4). ΠΠ½Π° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠ΅ΡΠ° ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ (Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 7) ΠΏΠΎΠ΄ΡΠΈΠ½Π΅Π½Π½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² (slaves).
Π ΠΈΡΡΠ½ΠΎΠΊ 2.4 — ΠΠΈΠΊΠΎΡΠ΅ΡΡ Π£ΡΡΡΠΎΠΉΡΡΠ²ΠΎ, ΠΈΠ½ΠΈΡΠΈΠΈΡΡΡΡΠ΅Π΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΌΠ°ΡΡΠ΅ΡΠΎΠΌ. ΠΠΎΠ΄ΡΠΈΠ½Π΅Π½Π½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΌΠΎΠ³ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅Π΄Π°Π²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΈΠΌ Π²ΡΠ΅ΠΌΡ. ΠΡΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΠ΄ΡΠΈΠ½Π΅Π½Π½ΡΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΡΡ Π½Π΅ Π½Π°ΠΏΡΡΠΌΡΡ, Π° ΡΠ΅ΡΠ΅Π· ΠΌΠ°ΡΡΠ΅ΡΠ°. ΠΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΊ ΠΏΠΈΠΊΠΎΡΠ΅ΡΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΎΠ±ΠΌΠ΅Π½ ΡΠΎΠ»ΡΠΌΠΈ.
ΠΠ²Π΅ ΠΏΠΈΠΊΠΎΡΠ΅ΡΠΈ ΠΌΠΎΠ³ΡΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΡΠ°Π΄ΠΈΠΎΠ΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π΄ΡΡΠ³ Π΄ΡΡΠ³Π°. Π§Π°ΡΡΠΎΡΠ° Ρ ΠΎΠΏΠΎΠ² Π½Π΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΈΠΊΠΎΡΠ΅ΡΡΠΌΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ΄ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΡΠ°ΡΡΠΎΡΠ΅.
ΠΠ²Π΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΠΈΠΊΠΎΡΠ΅ΡΠΈ ΠΎΠ±ΡΠ°Π·ΡΡΡ ΡΠ°ΡΡΠ΅ΡΠ½Π½ΡΡ ΡΠ΅ΡΡ — scatternet (ΡΠΈΡΡΠ½ΠΎΠΊ 2.5). ΠΠ±ΡΠΈΠΉ ΡΠ·Π΅Π» ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡΠΌ ΠΈ Π² ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΈΠΊΠΎΡΠ΅ΡΠΈ, ΡΡΠΎ ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ ΡΡΠ°ΡΠΈΠΊ Π² Π΄Π²Π° ΡΠ°Π·Π° ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ.
Π ΠΈΡΡΠ½ΠΎΠΊ 2.5 — ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π΄Π²ΡΡ ΠΏΠΈΠΊΠΎΡΠ΅ΡΠ΅ΠΉ
Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΠΎΠΈΡΠΊΠ° ΡΡΠ΄ΠΎΠΌ Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΡ Bluetooth-ΡΡΡΡΠΎΠΉΡΡΠ² (inquiry) Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡΠ΅Π΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Bluetooth-Π°Π΄ΡΠ΅ΡΠ° ΠΈ Π²ΡΠ΅ΠΌΡ Π²ΡΠ΅Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ². Π§ΡΠΎΠ±Ρ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π±ΡΠ»ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΎ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Ρ Π½Π΅Π³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ — IAC. IAC ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π΄Π²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ: GIAC ΠΈ LIAC. GIAC ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Ρ Π±ΡΡΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π½ΡΠΌ Π²ΡΠ΅Π³Π΄Π°, Π° LIAC — ΠΊΠΎΠ³Π΄Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΠΎΡΠ»Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ Π΅Π³ΠΎ ΠΏΡΠΎΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Service Discovery Protocol.
Bluetooth-ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Ρ ΡΠ°Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ ΡΠ²ΠΎΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ°Ρ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ — Service Discovery DataBase. ΠΠ°ΠΆΠ΄Π°Ρ Π·Π°ΠΏΠΈΡΡ Π² Π½Π΅ΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π°ΡΡΠΈΠ±ΡΡΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠ΅ΡΠ²ΠΈΡ. ΠΡΡΠΈΠ±ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ 16-ΡΠΈΡΠ½ΡΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°ΠΌΠΈ.
ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π° Π°ΡΡΠΈΠ±ΡΡΠ° ServiceRecordHandle (ID 0×0000) ΠΈ ServiceClassIDList (ID 0×0001). Π Π°Π·Π»ΠΈΡΠ½ΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π΄Π°Π½Π½ΡΠ΅ ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ². ΠΠΎΡΡΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΡΡΠΎΡΡ ΠΈΠ· Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ° ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ , ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ΅Π³ΠΎ ΡΠΈΠΏ ΠΈ ΡΠ°Π·ΠΌΠ΅Ρ, ΠΈ ΡΠ°ΠΌΠΈΡ Π΄Π°Π½Π½ΡΡ .
Universally Unique IDentifier (UUID) — ΡΡΠΎ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ², ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ ΠΈ ΠΏΡ. ΠΠ½ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ 128-Π±ΠΈΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΡΠ΅Π³Π΄Π° ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ. Bluetooth-ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ UUID ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ. ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΊΠΎΡΠΎΡΠΊΠΈΡ UUID Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½ Π΄Π»Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² ΠΈ ΠΏΡΠΎΡΠΈΠ»Π΅ΠΉ.
Bluetooth-ΠΏΡΠΎΡΠΈΠ»Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°Π±ΠΎΡ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΠΈ ΡΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²Π΅ΡΡ Π½ΠΈΡ ΡΠ»ΠΎΠ΅Π² Bluetooth. ΠΡΠΎΡΠΈΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΏΠΎΡΠΎΠ± ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Bluetooth.
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Bluetooth ΠΈΠ³ΡΠ°Π΅Ρ Π²Π°ΠΆΠ½ΡΡ ΡΠΎΠ»Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠΎΡΠ»ΡΡΠ°Π½Ρ ΡΡΠ΄ΠΎΠΌ Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠΌΠΈΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π΄Π»Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½ΠΎ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈ ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π²ΡΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Bluetooth ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΡΠΎΡΡΠΎΡΡΡΡ ΠΈΠ· ΡΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²: Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅, Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ. Π ΡΠΎΠΌΡ ΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΡΡΠΈ ΡΠ΅ΠΆΠΈΠΌΠ° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΎΠ΄ΡΡ Π² ΠΏΡΠΎΡΠΈΠ»Ρ GAP, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΉ Π²ΡΠ΅ΠΌΠΈ ΡΠ΅ΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Bluetooth-ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ:
— Π½Π΅Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠΉ;
— Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² — ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎΠΌ Bluetooth-ΡΡΡΡΠΎΠΉΡΡΠ². ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π·Π°ΡΠΈΡΡ ΡΠ΅ΡΠ°Π΅ΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΅ΡΠ²ΠΈΡΠ°. ΠΠ΅ΡΡ Π·Π°ΡΠΈΡΡ ΠΈΠ½ΠΈΡΠΈΠΈΡΡΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΈΠΌΠΈ ΡΠ»ΠΎΡΠΌΠΈ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Bluetooth-ΡΠ²ΡΠ·Ρ ΡΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠΌΠΈ ΡΠ»ΠΎΡΠΌΠΈ;
— Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ²ΡΠ·ΠΈ — ΠΈΠ½ΠΈΡΠΈΠΈΡΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠΌΠΈ ΡΠ»ΠΎΡΠΌΠΈ Π² ΡΡΠ΅ΠΊΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² Bluetooth. ΠΡΠΎΡ ΡΠ΅ΠΆΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Bluetooth-ΡΡΡΡΠΎΠΉΡΡΠ² Ρ Π·Π°Π²ΠΎΠ΄ΡΠΊΠΈΠΌΠΈ ΠΏΡΠ΅Π΄ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
ΠΠ° Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ Ρ Bluetooth ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΡΠΎΠ²Π΅Π½Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
Π‘ΠΎΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅, ΠΈΠ»ΠΈ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ (bonding), — ΡΡΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Bluetooth-ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π°, Π·Π°Π²ΠΈΡΡΡΠ°Ρ ΠΎΡ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΈΠΌΠΈ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°. ΠΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° Π½Π΅Ρ Ρ Π½ΠΈΡ , ΡΠΎ Π½ΠΎΠ²ΡΠΉ ΠΊΠ»ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ Π΄ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠΏΡΡΠΆΠ΅Π½ΠΈΡ.
ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠ°ΡΠΈΠ½Π³ΠΎΠΌ (pairing). ΠΠ°ΡΠΈΠ½Π³ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΊΠ»ΡΡΠ° ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ°, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π²Π·Π°ΠΈΠΌΠ½Π°Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ.
ΠΠ»ΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΠΊΠ»ΡΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ° (Π²Π²Π΅Π΄Π΅Π½Π½ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠΌ ΡΠΈΡΠ»Π΅) ΠΈ Bluetooth-Π°Π΄ΡΠ΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΡΡΡΠΎΠΉΡΡΠ². ΠΠ»ΡΡ Π΄ΠΎΡΡΡΠΏΠ° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²ΡΠΌ Π΄Π°Π½Π½ΡΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌ. ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΠΊΠ»ΡΡ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ Bluetooth-Π°Π΄ΡΠ΅ΡΠ°Ρ ΠΎΠ±ΠΎΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ². ΠΠ»ΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ Π΄Π°Π½Π½ΡΠΌΠΈ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° ΠΈ ΠΏΠΎΡΠΎΠΌ ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΡΡΡ.
ΠΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΏΠ°ΡΠΈΠ½Π³Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΡΠ²Π»ΡΡΡΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ Π΄ΡΡΠ³ Π΄ΡΡΠ³ΠΎΠΌ. ΠΠ±Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΠΊΠ»ΡΡ. Π£ΡΡΡΠΎΠΉΡΡΠ²Π° Π΄Π°Π»Π΅Π΅ ΡΡΠΈΡΠ°ΡΡΡΡ ΡΠΎΠΏΡΡΠΆΠ΅Π½Π½ΡΠΌΠΈ ΠΈ ΠΌΠΎΠ³ΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π° ΡΠ΅ΡΠ΅Π· bonding Π±Π΅Π· ΠΊΠ»ΡΡΠ° Π΄ΠΎΡΡΡΠΏΠ°.
Π£ΡΡΡΠΎΠΉΡΡΠ²Π° ΠΌΠΎΠ³ΡΡ ΠΎΡΡΠ°Π²Π°ΡΡΡΡ Π² ΠΏΠ°ΡΠΈΠ½Π³Π΅ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π½ΠΈΡ Π½Π΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠ°ΡΠΈΠ½Π³Π° ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»Π΅Π½ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΠΊΠ»ΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΡΡΡΠΎΠΉΡΡΠ².
Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π²ΡΠ³ΠΎΠ΄Π½ΠΎ ΠΏΡΠΈ ΡΠ°ΡΡΠΎΠΌ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π΄Π²Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π»ΠΈ Π΄ΡΡΠ³ Π΄ΡΡΠ³Π°, ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π»ΡΠ±ΠΎΠΌΡ ΠΈΠ· ΡΡΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ².
ΠΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π΄ΠΎΠ»ΠΆΠ½Ρ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠΈΡΡΡΡ ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π΄Π»ΠΈΠ½Π΅ ΠΊΠ»ΡΡΠ°.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½Ρ ΡΡΠΈ ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ:
— ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ — Π΅ΡΠ»ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΡΡΡΠΎΠΉΡΡΠ² Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π±Π΅Π· ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ;
— ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ ΠΈ ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²;
— ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ.
ΠΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π΄ΠΎΠ»ΠΆΠ½Ρ Π΄ΠΎΠ³ΠΎΠ²ΠΎΡΠΈΡΡΡΡ ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅ ΠΊΠ»ΡΡΠ° (8 — 128 Π±ΠΈΡ).
ΠΠ²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ — ΡΡΠΎ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡ Bluetooth-ΡΡΡΡΠΎΠΉΡΡΠ²Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΡΠ΅ΡΠ²ΠΈΡΡ. Π§ΡΠΎΠ±Ρ Π±ΡΡΡ Π°Π²ΡΠΎΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ, ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π²Π½Π°ΡΠ°Π»Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ½Π°ΡΠ°Π»Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½ΠΎ ΡΠ΅ΡΠ΅Π· bonding.
ΠΠΎΡΡΡΠΏ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ Π½Π° Π²ΡΠ΅ΠΌΡ ΠΈΠ»ΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ.
ΠΡΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π°ΡΡΠΈΠ±ΡΡ trust, ΠΊΠΎΡΠΎΡΡΠΉ Π°ΡΡΠΎΡΠΈΠΈΡΡΠ΅Ρ ΠΏΡΠ°Π²Π° Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΠΌ. Π£ΡΡΡΠΎΠΉΡΡΠ²ΠΎ Ρ ΡΠ°ΠΊΠΈΠΌ Π°ΡΡΠΈΠ±ΡΡΠΎΠΌ (Π΄ΠΎΠ²Π΅ΡΠ΅Π½Π½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ) ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΊ Bluetooth-ΡΠ΅ΡΠ²ΠΈΡΡ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΡΡΠΏΠ΅ΡΠ΅Π½ Π±Π΅Π· Π²ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΡΡΠ²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
Π§ΡΠΎΠ±Ρ Ρ ΡΠ°Π½ΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π΄ΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡΠΎΠ²Π½ΡΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π΄Π²Π΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ — ΠΎΠ΄Π½Π° Π΄Π»Ρ ΡΡΡΡΠΎΠΉΡΡΠ², Π΄ΡΡΠ³Π°Ρ Π΄Π»Ρ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². ΠΠ΅ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»ΠΎΡΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΠΈΠΌ Π±Π°Π·Π°ΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
ΠΡΡΠ³ΠΈΠ΅ Π²Π°ΠΆΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ, ΡΠ΅ΡΠ°Π΅ΠΌΡΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, — ΡΡΠΎ Π·Π°ΠΏΡΠΎΡ ΠΊΠ»ΡΡΠ° Π΄ΠΎΡΡΡΠΏΠ° Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΏΠ°ΡΠΈΠ½Π³Π° ΠΈ Π·Π°ΠΏΡΠΎΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΏΡΡΠ°Π΅ΡΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡΡ Ρ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ, ΡΡΠ΅Π±ΡΡΡΠΈΠΌ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
3. ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ J2ME
3.1 ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ J2ME, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ:
— ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ ΠΊΠ°ΠΌΠ΅ΡΡ — Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΡ Π½Π°ΡΠ°Π»Π° ΠΈ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎΠ½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ;
— ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ° SMS-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ MMS-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ;
— ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΡ ΠΎΡΠΈΠ±ΠΎΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ Π½Π° ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π½ΠΎΠΌΠ΅Ρ;
— ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΉ Π±ΡΠ°ΡΠ·Π΅Ρ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠ°ΠΏΠΊΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π²ΠΈΠ΄Π΅ΠΎΠ΄Π°Π½Π½ΡΠ΅ ΠΎΡ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ;
— ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π²ΠΈΠ΄Π΅ΠΎΠ΄Π°Π½Π½ΡΡ , ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΡΡ ΠΎΡ ΠΊΠ°ΠΌΠ΅ΡΡ, Π² Π²ΠΈΠ΄Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΊΠ°Π΄ΡΠΎΠ² ΠΏΠΎ Bluetooth.
ΠΠ»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ ΠΏΠΎ Bluetooth ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²ΡΠΎΡΠΎΠΉ ΠΌΠΈΠ΄Π»Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π΅Π³ΠΎ Π² Π·Π°ΡΠ°Π½Π΅Π΅ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ ΠΏΠ°ΠΏΠΊΡ.
3.2 ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ LWUIT. Π‘ΡΠΈΠ»Ρ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π±ΡΠ» Π½Π°ΡΡΡΠΎΠ΅Π½ Π²ΡΡΡΠ½ΡΡ. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΡΠΈΠ»Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅.
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΈΠ»Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°. Π‘ΡΠΈΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ° Style. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΠΈΠ»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ·Π²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ getStyle (). Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° setStyle () ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΈΠ»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°.
ΠΠΎ-Π²ΡΠΎΡΡΡ , ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΈΠ»Ρ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ½ΠΎΠΏΠΎΠΊ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ UIManager. getInstance (), ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠΈΠ»Ρ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠ°Π»Π΅Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄ setComponentStyle Ρ Π΄Π²ΡΠΌΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ — ΠΈΠΌΡ ΠΊΠ»Π°ΡΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° Style. Π Π»ΠΈΡΡΠΈΠ½Π³Π΅ 3.1 ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΡΠΈΠ»Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΠΈΡΡΠΈΠ½Π³ 3.1 — ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠΈΠ»Ρ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ
/**
* Configure TextField Style
*
* @param manager — User Interface Manager
*/
private void configureTextField (UIManager manager) {
Style textFieldStyle = new Style ();
textFieldStyle.setFgSelectionColor (0×0000);
textFieldStyle.setFgColor (0×0);
textFieldStyle.setBgTransparency (0×00);
textFieldStyle.setFont (boldFont);
textFieldStyle.setBorder (Border.createLineBorder (1));
manager.setComponentStyle («TextField», textFieldStyle);
}
ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ 3.1 ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΡΠΊΡΠ°Π½Π½Π°Ρ ΡΠΎΡΠΌΠ° Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈ ΡΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Π½ΡΠΌΠΈ ΡΡΠΈΠ»ΡΠΌΠΈ.
Π ΠΈΡΡΠ½ΠΎΠΊ 3.1 — ΠΠ°ΡΡΠ°Π²ΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠΊΡΠ°Π½Π° Π·Π°ΡΡΠ°Π²ΠΊΠΈ (ΡΠΈΡΡΠ½ΠΎΠΊ 3.1) Π±ΡΠ»ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡΠ΅Π½ΡΡΡ. Π Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ LWUIT Π½Π΅Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΠΊΠ»Π°ΡΡ CenterLayout (Π»ΠΈΡΡΠΈΠ½Π³ 3.2), ΡΠ°ΡΡΠΈΡΡΡΡΠΈΠΉ ΠΊΠ»Π°ΡΡ Layout. Layout ΡΠ²Π»ΡΠ΅ΡΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΡΠ»Π΅Π΄ΡΡΡ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ-ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°. Π Π½ΠΎΠ²ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ Π±ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ layoutContainer (Container parent) ΠΈ getPreferredSize (Container parent).
ΠΠΈΡΡΠΈΠ½Π³ 3.2 — ΠΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎ ΡΠ΅Π½ΡΡΡ
/**
* Layout the given parent container children
* @param parent the given parent container
*/
public class CenterLayout extends Layout {
public void layoutContainer (Container parent) {
int components = parent. getComponentCount ();
Style parentStyle = parent. getStyle ();
int centerPos = parent. getLayoutWidth () / 2 +
parentStyle.getMargin (Component.LEFT);
int y = parentStyle. getMargin (Component.TOP);
for (int iter = 0; iter < components; iter++) {
Component current = parent. getComponentAt (iter);
Dimension d = current. getPreferredSize ();
current.setSize (d);
current.setX (centerPos — d. getWidth () / 2);
Style currentStyle = current. getStyle ();
y += currentStyle. getMargin (Component.TOP);
current.setY (y);
y += d. getHeight () + currentStyle. getMargin (Component.BOTTOM);
}
}
/**
* Returns the container preferred size
*
* @param parent the parent container
* @return the container preferred size
*/
public Dimension getPreferredSize (Container parent) {
int components = parent. getComponentCount ();
Style parentStyle = parent. getStyle ();
int height = parentStyle. getMargin (Component.TOP)
+ parentStyle. getMargin (Component.BOTTOM);
int marginX = parentStyle. getMargin (Component.RIGHT)
+ parentStyle. getMargin (Component.LEFT);
int width = marginX;
for (int iter = 0; iter < components; iter++) {
Component current = parent. getComponentAt (iter);
Dimension d = current. getPreferredSize ();
Style currentStyle = current. getStyle ();
width = Math. max (d.getWidth () + marginX
+ currentStyle. getMargin (Component.RIGHT) +
currentStyle.getMargin (Component.LEFT), width);
height += currentStyle. getMargin (Component.TOP) + d. getHeight () +
currentStyle.getMargin (Component.BOTTOM);
}
Dimension size = new Dimension (width, height);
return size;
}
}
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π»ΠΈΡΡΠΈΠ½Π³Π΅ 3.3 ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ ΡΠΊΡΠ°Π½Π½ΠΎΠΉ ΡΠΎΡΠΌΡ-Π·Π°ΡΡΠ°Π²ΠΊΠΈ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°-ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² CenterLayout.
ΠΠΈΡΡΠΈΠ½Π³ 3.3 — ΠΠΊΡΠ°Π½Π½Π°Ρ ΡΠΎΡΠΌΠ° Π·Π°ΡΡΠ°Π²ΠΊΠΈ
public class SplashScreen extends Form {
public SplashScreen () {
setLayout (new CenterLayout ());
setTitle («Welcome»);
addComponent (new Label ((«Video observer»)));
addComponent (new Label ((«by M. Luskanova»)));
}
}
Π ΠΈΡΡΠ½ΠΎΠΊ 3.2 — ΠΠ»Π°Π²Π½ΠΎΠ΅ ΠΌΠ΅Π½Ρ ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ (ΡΠΈΡΡΠ½ΠΎΠΊ 3.2) Π±ΡΠ» ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΠ΄ΠΈΠ½ ΠΏΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠΌ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΡΡΠΎΡΠΊΠ°ΠΌΠΈ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΡ ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅. Π’Π°ΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ Π·Π° ΡΡΠ΅Ρ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° Container ΠΈ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² getComponentAt () ΠΈ pointerPressed () (Π»ΠΈΡΡΠΈΠ½Π³ 3.4).
ΠΠ΅ΡΠΎΠ΄ getComponentAt (int x, int y) Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π΅ΡΠ½ΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠΉΡΡ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡΠΎΡΠΊΠ΅ ΡΠΊΡΠ°Π½Π°. ΠΡΠ»ΠΈ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, Π²Ρ ΠΎΠ΄ΡΡΠΈΠΉ Π² Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ. ΠΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ) Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ±Π΅ΡΠ΅Ρ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠ½ΠΊΡΠ°.
ΠΠ΅ΡΠΎΠ΄ pointerPressed (int x, int y) Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΡΠ»ΡΡΠ°Π΅ Π½Π°ΠΆΠ°ΡΠΈΡ ΡΠ΅Π½ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ. ΠΡΠ»ΠΈ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π²Π½ΡΡΡΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°.
ΠΠΈΡΡΠΈΠ½Π³ 3.4 — ΠΡΠ½ΠΊΡ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ
public class MylistItem extends Container implements FocusListener {
private Style selectedStyle =
UIManager.getInstance ().getComponentStyle («_selected»);
private Style unselectedStyle =
UIManager.getInstance ().getComponentStyle («_unselected»);
/**
* This method provides performance of
* included components as one
*/
public Component getComponentAt (int x, int y) {
return this;
}
/**
* Do nothing when user clicks on any element
*/
public void pointerPressed (int x, int y) {
}
/**
* Returns «_unselected» style by default
*/
protected String getUIID () {
return «_unselected» ;
}
/**
* Change style for selected menu item
*/
public void focusGained (Component cmp) {
cmp.setStyle (selectedStyle);
}
/**
* Change style for unselected menu item
*/
public void focusLost (Component cmp) {
cmp.setStyle (unselectedStyle);
}
}
ΠΠ΅ΡΠΎΠ΄ getUIID () ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΡΠΈΠ»Ρ Π½Π΅Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. ΠΠ΅ΡΠΎΠ΄ focusGained () Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΠΌ ΠΏΡΠ½ΠΊΡΠΎΠΌ ΠΌΠ΅Π½Ρ ΡΠΎΠΊΡΡΠ°, ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΡΠΎΡ ΠΏΡΠ½ΠΊΡ ΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΈΠΌ ΡΡΠΈΠ»Π΅ΠΌ.
ΠΡΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΠΎΠΊΡΡΠ° Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠ½ΠΊΡ ΠΌΠ΅Π½Ρ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΡΡΠΈΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ½ΠΊΡΠ° Π½Π° ΠΎΠ±ΡΡΠ½ΡΠΉ, ΡΡΠΎ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π΅ focusLost ().
Π‘Π°ΠΌΠΎ ΠΌΠ΅Π½Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° (Π»ΠΈΡΡΠΈΠ½Π³ 3.5). Preferences. getInstanse () — ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΡΠ°Π½ΠΈΡ Π²ΡΠ΅ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ.
ΠΠΈΡΡΠΈΠ½Π³ 3.5 — Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ
Preferences pr = Preferences. getInstanse ();
setLayout (new BoxLayout (BoxLayout.Y_AXIS));
getContentPane ().setIsScrollVisible (false);
MylistItem mli = new MylistItem (MainMenuConstatns.SCHEDULE, «Schedule»);
if (! pr. isStartRecordFromUnbounded ()) {
mli.addString («from» +
pr.getStartRecordFromCalendar ().get (java.util. Calendar. YEAR) +" ." +
pr.getStartRecordFromCalendar ().get (java.util. Calendar. MONTH) +" ." +
pr.getStartRecordFromCalendar ().get (java.util. Calendar. DAY_OF_MONTH)
+" «+pr.getStartRecordFromCalendar ().get (java.util. Calendar. HOUR_OF_DAY)
+" :" +pr.getStartRecordFromCalendar ().get (java.util. Calendar. MINUTE));
}
if (! pr. isEndRecordAtUnbounded ()) {
mli.addString («till» +
pr.getEndsRecordAtCalendar ().get (java.util. Calendar. YEAR) +" ." +
pr.getEndsRecordAtCalendar ().get (java.util. Calendar. MONTH) +" ." +
pr.getEndsRecordAtCalendar ().get (java.util. Calendar. DAY_OF_MONTH) + «» +
pr.getEndsRecordAtCalendar ().get (java.util. Calendar. HOUR_OF_DAY) +" :" +
pr.getEndsRecordAtCalendar ().get (java.util. Calendar. MINUTE));
}
if (! pr. isStartRecordFromUnbounded () ||! pr. isEndRecordAtUnbounded ()) {
if (pr.isScheduleIsActive ()) {
mli.addString («Active»);
} else {
mli.addString («Disabled»);
}
}
addComponent (mli);
mli = new MylistItem (MainMenuConstatns.TRANSLATE_VIDEO, «Translate video»);
addComponent (mli);
if (pr.getBTConnectionURL ()≠ «») {
mli.addString («via bluetooth to «+pr.getBTFriendlyName ());
}
if (pr.getSaveVideoToFile ()≠ «») {
mli.addString (pr.getSaveVideoToFile ());
}
if (pr.getMovNotification ()≠ «») {
String msgType = (pr.isSendSMS ()? «sms»: «mms») +" to" ;
addComponent (new MylistItem (MainMenuConstatns.MOVEMENT_NOTIFICATION,
new String[] {" Movement notification", msgType
+ pr. getMovNotification ()}));
} else {
addComponent (new MylistItem (MainMenuConstatns.MOVEMENT_NOTIFICATION,
" Movement notification"));
}
if (pr.getErrNotificationNumber ()≠ «») {
addComponent (new MylistItem (MainMenuConstatns.ERROR_NOTIFICATION,
new String[] {" Error Notification", pr. getErrNotificationNumber ()}));
} else {
addComponent (new MylistItem (MainMenuConstatns.ERROR_NOTIFICATION,
" Error Notification"));
}
addComponent (new MylistItem (MainMenuConstatns.CAMERA, «Camera»));
addComponent (new MylistItem (MainMenuConstatns.EXIT, «Exit»));
addComponent (new MylistItem (MainMenuConstatns.HELP, «Help»));
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π°ΠΆΠ°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊΠ°Ρ ΡΠΊΡΠ°Π½Π½Π°Ρ ΡΠΎΡΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π΄Π°Π»Π΅Π΅, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π»ΠΈΡΡΠΈΠ½Π³Π΅ 3.6.
ΠΠΈΡΡΠΈΠ½Π³ 3.6 — ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π°ΠΆΠ°ΡΠΈΠΉ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π΄Π»Ρ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ
class MainMenuActionListener implements ActionListener {
public void actionPerformed (ActionEvent act) {
Component cmp = getFocused ();
if (cmp instanceof MylistItem) {
int id = ((MylistItem) cmp).getId ();
switch (id) {
case MainMenuConstatns. SCHEDULE:
midlet.getScheduleDisplay ().show ();
break;
case MainMenuConstatns. TRANSLATE_VIDEO:
midlet.getVideoTransmitionDisplay ().show ();
break;
case MainMenuConstatns. MOVEMENT_NOTIFICATION:
midlet.getMovementNotificationDisplay ().show ();
break;
case MainMenuConstatns. CAMERA:
midlet.getCamera ().show ();
midlet.getCamera ().startCamera ();
midlet.getCamera ().revalidate ();
break;
case MainMenuConstatns. EXIT:
midlet.exitMIDlet ();
break;
case MainMenuConstatns. HELP:
midlet.getHelpScreen ().show ();
break;
case MainMenuConstatns. ERROR_NOTIFICATION:
midlet.getErrorNotification ().show ();
break;
}
}
}
ΠΠ° ΡΠΎΡΠΌΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ (ΡΠΈΡΡΠ½ΠΎΠΊ 3.3) Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡΠ»ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠΊΡΡΡΠΈΠ΅ / ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π° ΠΈΠΌΠ΅Π½Π½ΠΎ: ΠΊΠΎΠ³Π΄Π° Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΡΠ°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠ° enter time, ΡΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΠ°Π·Ρ ΠΏΠΎΠ΄ Π½Π΅ΠΉ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡΡΡ ΠΏΠΎΠ»Ρ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΡΠ°ΡΠΎΠ², ΠΌΠΈΠ½ΡΡ, Π΄Π½Ρ, ΠΌΠ΅ΡΡΡΠ°, Π³ΠΎΠ΄Π°. Π ΠΏΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΡΠ°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠΈ unbounded ΡΡΠΈ ΠΏΠΎΠ»Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠΊΡΡΡΡ.
Π ΠΈΡΡΠ½ΠΎΠΊ 3.3 — ΠΠ°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΊΠ°ΠΌΠ΅ΡΡ Π’Π°ΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΊΠΈ ActionListener, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ Π²ΡΠ±ΠΎΡ ΡΠ°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΎΠΊ (Π»ΠΈΡΡΠΈΠ½Π³ 3.7). dateFrom ΠΈ dateTo ΡΠ²Π»ΡΡΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ ΡΠΈΠΏΠ° Container ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΏΠΎΠ»Ρ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠΎΡΠ½ΠΎΠΉ Π΄Π°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΠΈΡΡΠΈΠ½Π³ 3.7 — ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π²ΡΠ±ΠΎΡΠ° ΡΠ°Π΄ΠΈΠΎΠΊΠ½ΠΎΠΏΠΎΠΊ
public void actionPerformed (ActionEvent evt) {
Component cmp = (Component) evt. getSource ();
if (cmp == rb1DateFromEnter) {
if (rb1DateFromEnter.isSelected ()) {
if (! getContentPane ().contains (dateFrom)) {
addComponent (3, dateFrom);
revalidate ();
return;
}
}
}
if (cmp == rbDateFromUnbounded) {
if (getContentPane ().contains (dateFrom)) {
removeComponent (dateFrom);
revalidate ();
return;
}
}
if (cmp == rbDateToEnter) {
if (rbDateToEnter.isSelected ()) {
if (! getContentPane ().contains (dateTo)) {
addComponent (getContentPane ().getComponentCount () — 2, dateTo);
dateTo.setFocus (true);
revalidate ();
return;
}
}
}
if (cmp == rbDateToUnbounded) {
if (getContentPane ().contains (dateTo)) {
removeComponent (dateTo);
revalidate ();
return;
}
}
}
Π ΠΈΡΡΠ½ΠΎΠΊ 3.4 — ΠΠΊΡΠ°Π½Π½Π°Ρ ΡΠΎΡΠΌΠ° ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΠ»Ρ Π²ΡΠ΅Ρ ΡΠΏΠΈΡΠΊΠΎΠ² Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ — ΠΊΠ»Π°ΡΡ MyListCellRenderer. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠΎΠ² ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ DefaultListCellRenderer, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°Π΅Ρ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ ΠΊΠ»Π°ΡΡΠ° Label. ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΠΈΡΠΊΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ListCellRenderer.
ΠΠ΅ΡΠΎΠ΄ getListCellRendererComponent ΡΡΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΠΈΡΠΊΠ° ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Π΅ΠΌΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°. ΠΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² getListFocusComponent ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΡΠΈΠ»Π΅ΠΉ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈ Π½Π΅Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΠΈΡΠΊΠ°.
ΠΡΠΈΠΌΠ΅Ρ ΡΠΏΠΈΡΠΊΠ°, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ MyListCellRenderer, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 3.4. Π Π»ΠΈΡΡΠΈΠ½Π³Π΅ 3.8 ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΊΠ»Π°ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΡΠΈΡΠΎΠ²ΡΠ²Π°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ.
ΠΠΈΡΡΠΈΠ½Π³ 3.8 — ΠΡΠΎΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠΏΠΈΡΠΊΠ°
public class MyListCellRenderer extends Container implements ListCellRenderer {
public MyListCellRenderer () {
setLayout (new BoxLayout (BoxLayout.Y_AXIS));
}
/**
* Returns displayable list element from received object
*/
public Component getListCellRendererComponent (List list, Object value,
int index, boolean isSelected) {
if (value instanceof String) {
setText ((String) value);
} else {
setText (value.toString ());
}
setFocus (isSelected);
applyStyle (this, isSelected);
return this;
}
/**
* Applies style for selected and unselected element
*/
private void applyStyle (Component component, boolean isSelected) {
Style style = null;
if (isSelected) {
style = UIManager. getInstance ().getComponentStyle («_selected»);
} else {
style = UIManager. getInstance ().getComponentStyle («_unselected»);
}
component.setStyle (style);
}
public Component getListFocusComponent (List list) {
return null;
}
}
3.3 ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ ΠΏΠΎ Bluetooth
API Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Bluetooth ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² ΠΏΠ°ΠΊΠ΅ΡΠ΅ JSR-82. ΠΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ²: Π±Π°Π·ΠΎΠ²ΠΎΠ΅ Bluetooth API ΠΈ OBEX.
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Bluetooth Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ 512 ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ ΠΏΠ°ΠΌΡΡΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ CLDC.
Π§ΡΠΎΠ±Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ³Π»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Bluetooth, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ DiscoveryListener ΠΈ Π΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Ρ deviceDiscovered (), inquiryCompleted (), servicesDiscovered (), serviceSearchCompleted (), ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΡΡΠ΄ΠΎΠΌ Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΡ Bluetooth-ΡΡΡΡΠΎΠΉΡΡΠ².
ΠΠ°Π»Π΅Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ (Π»ΠΈΡΡΠΈΠ½Π³ 3.9), ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ½ΠΈΡΠΈΠΈΡΡΠ΅Ρ ΠΏΠΎΠΈΡΠΊ. ΠΠ½Π°ΡΠ°Π»Π΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ LocalDevice local, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π΄Π°Π½Π½ΡΠΉ ΡΠ΅Π»Π΅ΡΠΎΠ½; ΠΏΠΎΡΠΎΠΌ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ DiscoveryAgent agent. ΠΠΌΠ΅Π½Π½ΠΎ ΡΡΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΏΠΎΠΈΡΠΊ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ startInquiry () Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ DiscoveryAgent. GIAC ΠΈ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ DiscoveryListener ΠΈ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π²ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ true, Π΅ΡΠ»ΠΈ ΠΏΠΎΠΈΡΠΊ ΡΡΡΡΠΎΠΉΡΡΠ² Π±ΡΠ» ΡΡΠΏΠ΅ΡΠ½ΠΎ Π½Π°ΡΠ°Ρ, ΠΈΠ»ΠΈ false Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Vector devicesFound ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ².
ΠΠΈΡΡΠΈΠ½Π³ 3.9 — ΠΠ°ΡΠ°Π»ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΡΡΡΡΠΎΠΉΡΡΠ²
* This method starts device discovering
*/
public void doDeviceDiscovery () {
try {
local = LocalDevice. getLocalDevice ();
} catch (BluetoothStateException bse) {
Log.out.println («EXCEPTION!» + bse. toString ());
}
agent = local. getDiscoveryAgent ();
devicesFound = new Vector ();
try {
if (! agent. startInquiry (DiscoveryAgent.GIAC, this)) {
Log.out.println («DISCOVERING IS NOT STARTED»);
}
} catch (BluetoothStateException bse) {
Log.out.println («BluetoothStateException «+ bse. toString ());
}
}
ΠΡΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠΈ Bluetooth-ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ deviceDiscovered (), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ remoteDevice ΠΈ Π΅Π³ΠΎ ΡΠΈΠΏ deviceClass.
ΠΠ°Π»Π΅Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ (Π»ΠΈΡΡΠΈΠ½Π³ 3.10) ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°. Π ΠΌΠ΅ΡΠΎΠ΄Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΡΠΏΠΈΡΠΎΠΊ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΠΉ Π½Π° ΡΠΊΡΠ°Π½Π΅, Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΡΠ΄ΠΎΠΌ Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΡ Bluetooth-ΡΡΡΡΠΎΠΉΡΡΠ². ΠΠ°ΠΉΠ΄Π΅Π½Π½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π² ΠΌΠ°ΡΡΠΈΠ² devicesFound.
ΠΠΈΡΡΠΈΠ½Π³ 3.10 — ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΎΠ±ΡΡΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°
/**
* Called when a device is discovered during device discovery
* @param remoteDevice founded device
* @param deviceClass
public void deviceDiscovered (RemoteDevice remoteDevice,
DeviceClass deviceClass) {
try {
midlet.getSelectDeviceDisplay ().getDevicesList ().addItem (
remoteDevice.getFriendlyName (false));
devicesFound.addElement (remoteDevice);
} catch (IOException ex) {
Log.out.println («ex when device has been discovered «+ex.toString ());
}
}
ΠΠΎΡΠ»Π΅ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΠΏΠΎΠΈΡΠΊΠ° Π²ΡΠ΅Ρ ΡΡΡΡΠΎΠΉΡΡΠ² Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ inquiryCompleted (), Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΊΠΎΠ΄ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΏΠΎΠΈΡΠΊΠ°. ΠΠ°Π»Π΅Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ (Π»ΠΈΡΡΠΈΠ½Π³ 3.11).
ΠΠΈΡΡΠΈΠ½Π³ 3.11 — ΠΠ°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΈΡΠΊΠ° ΡΡΡΡΠΎΠΉΡΡΠ²
/**
* Called when device discovering is complete
* @param — param discovering status
public void inquiryCompleted (int param) {
midlet.getSelectDeviceDisplay ().removeCommand (midlet.getSelectDeviceDisplay ().
getStopSearchDevices ());
midlet.getSelectDeviceDisplay ().addCommand (midlet.getSelectDeviceDisplay ().
getBackSelectDevice ());
switch (param) {
case DiscoveryListener. INQUIRY_COMPLETED:
if (devicesFound.size () > 0) {
midlet.getSelectDeviceDisplay ().removeCommand (
midlet.getSelectDeviceDisplay ().getStopSearchDevices ());
midlet.getSelectDeviceDisplay ().addCommand (
midlet.getSelectDeviceDisplay ().getBackSelectDevice ());
doServiceSearch ((RemoteDevice) devicesFound. elementAt (0));
} else
break;
case DiscoveryListener. INQUIRY_ERROR:
//Error during inquiry
break;
case DiscoveryListener. INQUIRY_TERMINATED:
// Inquiry terminated by agent. cancelInquiry ()
break;
}
}
Π ΠΈΡΡΠ½ΠΎΠΊ 3.5 — Π‘ΠΏΠΈΡΠΎΠΊ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΠΎΡΠ»Π΅ ΠΏΠΎΠΈΡΠΊΠ° ΡΡΡΡΠΎΠΉΡΡΠ² (Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 3.5 ΠΏΠΎΠΊΠ°Π·Π°Π½ ΡΠΏΠΈΡΠΎΠΊ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²) Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΏΠΎΠΈΡΠΊ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π½ΠΈΡ . ΠΠ°ΠΉΠ΄Π΅Π½Π½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡΡΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ServiceRecord[] servicesFound. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π»ΠΈΡΡΠΈΠ½Π³Π΅ 3.12 ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΠΏΠΎΠΈΡΠΊ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ². ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΏΠΎΠΈΡΠΊΠ° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ searchServices () ΡΠ°Π½Π΅Π΅ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° DiscoveryAgent agent, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ: Π°ΡΡΠΈΠ±ΡΡΡ ΠΈΡΠΊΠΎΠΌΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΈΠ»ΠΈ Π΅Π³ΠΎ UUID, ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΠΏΠΎΠΈΡΠΊ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π²ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ².
ΠΠΈΡΡΠΈΠ½Π³ 3.12 — ΠΠ½ΠΈΡΠΈΠ°ΡΠΈΡ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ΅ΡΠ²ΠΈΡΠΎΠ²
/**
* This method starts service search on the divice