ΠΊΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΌΠ°ΡΡΡΠΎΠ½Π°
ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Android ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ
ΠΠ»Π°ΡΡΠΎΡΠΌΠ° Android ΠΎΡΠΊΡΡΡΠ°Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΡΡ Π΅Π³ΠΎ ΡΠ΅ΡΠ΅Π· ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½Ρ.
Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° Android ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ β ΡΡΠΎ Java. Π‘Π΅ΠΉΡΠ°Ρ Google Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΡΠΎΠ΄Π²ΠΈΠ³Π°Π΅Ρ Kotlin ΠΊΠ°ΠΊ ΡΠ·ΡΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Java. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΈΡΡΡ ΠΈ Π½Π° C++.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΠ°ΠΏΠΎΠ²:
Π ΠΏΠΎΠΊΠ° ΠΌΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π°Π·Ρ, ΡΡΡΠ΄Π΅Π½ΡΡ ΠΊΡΡΡΠ° Β«ΠΡΠΎΡΠ΅ΡΡΠΈΡ ΠΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΒ» ΡΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄Π΅Π½ΡΠ³ΠΈ Π·Π° ΡΠ²ΠΎΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠΈΡΠ΅Ρ ΠΏΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Π² Skillbox. Π Π°Π±ΠΎΡΠ°Π» Π³Π»Π°Π²Π½ΡΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠΌ ΡΠ°ΠΉΡΠ° Β«Π₯Π°Π±ΡΠ°Ρ Π°Π±ΡΒ», Π²Π΅Π΄Π΅Ρ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΠ΅ Π±Π»ΠΎΠ³ΠΈ.
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ
ΠΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Android Studio. ΠΡΠΎ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (IDE) Π΄Π»Ρ Android, ΠΎΠ½Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° Windows, macOS ΠΈ Linux. Π₯ΠΎΡΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π΄Π»Ρ Android ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΠ΅Π΄Ρ, ΠΊΡΠΎΠΌΠ΅ Android Studio.
ΠΡΠ»ΠΈ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Android SDK ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΡΠΎ Android Studio Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΊΠ°ΡΠ°Π΅Ρ ΠΈΡ . Android SDK β ΡΡΠΎ ΡΡΠ΅Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΎΠ΄ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΡΠΊΡΠΈΠΏΡΡ, Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΈ Ρ.Π΄.
ΠΠΎΠ»Π΅Π·Π½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈ ΡΠΌΡΠ»ΡΡΠΎΡ Android, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΌΡΠ»ΡΡΠΎΡ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ΅ Ρ Android Studio.
ΠΠΎΠ³Π΄Π° Π²ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΠΏΠΎΠ½ΡΡΠΈΡΠΌΠΈ.
ΠΠ· ΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
Π½Π° Android
Android-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠ΅ΡΡΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ β ΡΡΠΎ ΡΠΎΡΠΊΠ° Π²Ρ ΠΎΠ΄Π°, ΡΠ΅ΡΠ΅Π· ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ²ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Android.
Π‘ΠΎΠ·Π΄Π°ΡΠΌ Android-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
Π² Android Studio
Π¨Π°Π³ 1
ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π΄ΠΎΠΌΠ΅Π½ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΏΡΡΡ ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠ°. Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ, Π²ΠΊΠ»ΡΡΠΈΡΡ Π»ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C++ ΠΈ Kotlin.
Π¨Π°Π³ 2
ΠΠ°Π΄Π°ΡΠΌ ΠΎΠ΄Π½Ρ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»Π΅Π²ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ SDK ΠΈ AVD, ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² Android. ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π² SDK ΠΏΠ°ΠΊΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π΅ΡΡΠΈΠΉ ΠΠ‘ Android ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎΠ²Π½Π΅ΠΉ API (ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ).
Π§Π΅ΠΌ Π½ΠΈΠΆΠ΅ Π²Π΅ΡΡΠΈΡ Android, ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ², Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡΡ. Π§Π΅ΠΌ Π²ΡΡΠ΅ Π²Π΅ΡΡΠΈΡ, ΡΠ΅ΠΌ Π±ΠΎΠ³Π°ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ API.
Π¨Π°Π³ 3
ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈ Π΄Π°ΡΠΌ Π΅ΠΉ ΠΈΠΌΡ.
Π¨Π°Π³ 4
ΠΠΎΡΠ»Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΌΠΈΠ½ΡΡ ΡΠ±ΠΎΡΠΊΠΈ Android Studio ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ IDE. ΠΠ΄Π΅ΡΡ ΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΌΠΎΠΌΠ΅Π½ΡΠ°.
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ANDROID Π±ΡΡΡΡΠΎ ΠΈ ΠΏΡΠΎΡΡΠΎ
ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΅Π³ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π² ΡΠΌΡΠ»ΡΡΠΎΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ΄Π΅Ρ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ΅ Ρ Visual Studio Π½Π°ΠΆΠ°Π² ΠΊΠ»Π°Π²ΠΈΡΡ F5.
ΠΡΠΈΠ²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠ΄ ΠΊ ΡΠ°ΠΊΠΎΠΌΡ Π²ΠΈΠ΄Ρ. ΠΠ΄Π΅ΡΡ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ WebView ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π³ΡΡΠ·ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ HTML ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π² ΠΏΠ°ΠΏΠΊΠ΅ Assets.
ΠΠΎ ΡΠ°ΠΊΠΎΠΌΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΡΡΡΠΎ ΠΈ ΠΏΡΠΎΡΡΠΎ. Π€Π°ΠΉΠ»Ρ html Π±ΡΠ΄ΡΡ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π½Π° Π²ΡΠ΅Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ . Π’ΠΎ Π΅ΡΡΡ, ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ Android ΠΈ iOS Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ. ΠΠ΅ Π½Π°Π΄ΠΎ ΠΈΠ·ΡΡΠ°ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΠ·ΡΠΊΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ, Π½Π΅ Π½Π°Π΄ΠΎ ΠΈΠ·ΡΡΠ°ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΌΠ°ΠΊΠ΅ΡΡ (ΡΡΠΎΡΠΈΠ±ΠΎΡΠ΄Ρ) Π½Π° iOS. ΠΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π° HTML.
Π ΠΈΠ΄Π΅Π°Π»Π΅, Π²ΠΌΠ΅ΡΡΠΎ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠΎ ΡΡΠΎΡΠΎΠ½Π½Π΅Π³ΠΎ ΡΠ°ΠΉΡΠ°. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΌΠ΅Π½ΡΡΡ ΠΊΠΎΠ½ΡΠ΅Π½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±Π΅Π· Π΅Π³ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π² AppStore ΠΈ Google Play.
Q: ΠΠΎ ΠΊΠ°ΠΊ Π±ΡΡΡ Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΡΠ°ΠΌΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ? ΠΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ? ΠΠ°ΠΊ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ ΡΠ°ΠΌΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ?
ΠΡΠ΅ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ! JavaScript ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΉ Android:
ΠΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΡΠ³Π°Π΅ΡΡΡ Π½Π° Export ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ Π·Π½Π°Π΅Ρ ΡΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅.
Π’Π°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΅ΡΠ»ΠΈ Π²Π΄ΡΡΠ³ Visual Studio ΡΡΠ³Π°Π΅ΡΡΡ Π½Π° ΡΡΠΎ ΡΠΎ.
ΠΠ°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΡΡΠΎ ΠΏΠΎΠΊΠ°Π· Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠ΅ΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π½Π° ΡΠΊΡΠ°Π½Π΅. ΠΠ½Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ ΠΠ½Π΄ΡΠΎΠΈΠ΄Π°. Π’ΠΎ Π΅ΡΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π² HTML ΡΠ°ΠΉΠ»Π΅ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΠ½Π΄ΡΠΎΠΈΠ΄Π°. ΠΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΠ΅ Π΄ΡΡΠΆΠ΅Π»ΡΠ±ΠΈΠ΅ Π΄Π²ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ ΠΏΠΎ JavaScript ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ. ΠΠ°Π½Π½ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΡΡΠ΄Π° ΡΡΠ΄Π°. ΠΡΠ·ΡΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ ΠΎΡ ΠΎΠ΄Π½ΠΎΠΉ Π°ΠΊΡΠΈΠ²ΠΈΡΠΈ Π² Π΄ΡΡΠ³ΡΡ. ΠΡΠ΅ ΡΠ΅ΡΠ΅Π· HTML + JavaScript.
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌ ΡΠ°ΠΉΠ» login.htm:
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ HTML Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Toast Π°Π½Π΄ΡΠΎΠΈΠ΄Π° ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΠΈΡΠ΅ΠΌ ΡΠ²ΠΎΡ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Android
ΠΡΠ΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Eclipse
Π’ΡΡ Π²ΡΡ ΠΏΡΠΎΡΡΠΎ. ΠΠ΄ΡΠΌ Π² ΡΠ°Π·Π΄Π΅Π» Downloads Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅ ΠΈ ΠΊΠ°ΡΠ°Π΅ΠΌ Π²Π΅ΡΡΠΈΡ Classic. ΠΠ°Π»Π΅Π΅ ΠΏΡΠΎΡΡΠΎ ΡΠ°ΡΠΏΠ°ΠΊΡΠΉΡΠ΅ Π°ΡΡ ΠΈΠ², ΠΊΡΠ΄Π° Π²Π°ΠΌ Ρ ΠΎΡΠ΅ΡΡΡ, Ρ ΠΆΠ΅ ΡΠ΅ΡΠΈΠ» ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π² ΠΏΠΎΡΠ΅ΡΠ½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ C:\Eclipse
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ADT ΠΏΠ»Π°Π³ΠΈΠ½Π° ΠΊ Eclipse
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ Eclipse, ΠΈ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π° ΡΠ΅ΡΠ΅Π· ΠΌΠ΅Π½Ρ Help β Install new software. Π ΠΏΠΎΠ»Π΅ Work with Π²ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π°Π΄ΡΠ΅Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π° dl-ssl.google.com/android/eclipse (Π΅ΡΠ»ΠΈ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ, ΡΠΎ ΠΏΠ»Π°Π³ΠΈΠ½ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π²ΡΡΡΠ½ΡΡ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ http://developer.android.com/sdk/eclipse-adt.html), Π΄Π°Π»Π΅Π΅ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ Π½ΠΈΠΆΠ΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ Developer Tools, ΠΎΡΠΌΠ΅ΡΠ°Π΅ΠΌ Π΅Π³ΠΎ ΠΈ ΠΈΠ΄Π΅ΠΌ Π΄Π°Π»Π΅Π΅.
ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΠ΅Π΄Ρ Eclipse.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΡΠ΅Π΄Ρ Π΄Π»Ρ Java: JDK ΠΈ JRE
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΠ΅ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Java Development Kit (JDK) ΠΈ Java Runtime Environment (JRE), ΡΠΎ ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ. Π‘Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π° ΡΠ°ΠΉΡΠ΅ Oracle. Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ JDK ΠΈ JRE.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Android SDK
ΠΠ΅Π»ΠΎ ΠΎΡΡΠ°Π»ΠΎΡΡ Π·Π° ΠΌΠ°Π»ΡΠΌ β ΡΡΠΎ ΡΠΊΠ°ΡΠ°ΡΡ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ²Π΅ΠΆΠΈΠΉ Android SDK. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Π½Π° ΡΠ°ΠΉΡΠ΅ Π΄Π»Ρ Android ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². Π― Π»ΠΈΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ» SDK ΠΎΠΏΡΡΡ-ΡΠ°ΠΊΠΈ Π² ΠΏΠΎΡΡΡΠ½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ C:\Android. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈ ΠΏΡΠΎΡΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ SDK. Π― Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π²ΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ»Π°Π½ΠΈΡΡΡ Π΄Π΅Π»Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π΄Π»Ρ ΡΠ°Π½Π½ΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ USB-Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π·Π°Π²Π΅ΡΡΠ΅Π½Π°. Π’Π΅ΠΏΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΡΠ°ΠΏ β ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Android-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ²ΠΎΡ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ Android-ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, ΡΡΠΎΠ±Ρ Π±ΡΡΡΡΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π½ΡΠΌ ΡΠ²ΠΎΠΉ ΡΠ²Π΅ΠΆΠ΅Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΡΠΎΡΡ. ΠΠ½Π°ΡΠ°Π»Π΅ Ρ Ρ ΠΎΡΡ ΡΠΊΠ°Π·Π°ΡΡ Π²Π°ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»ΠΎΠ² ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρ Android Virtual Device (AVD). ΠΡΠΎ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ ΡΠΌΠ°ΡΡΡΠΎΠ½ Ρ ΠΠ‘ Android, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ Ρ Π»Π΅Π³ΠΊΠΎΡΡΡΡ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π²Π°ΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Android Virtual Device ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΊΠ°ΠΊ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΠ°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π° ΡΠ°Π·Π½ΡΡ ΡΠΌΠ°ΡΡΡΠΎΠ½Π°Ρ Ρ Android, Π° Π½Π΅ ΠΏΠΎΠΊΡΠΏΠ°ΡΡ Π²Π΅ΡΡ ΠΌΠΎΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΡΠ΄ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· Π½ΠΈΡ .
ΠΡΠΈΡΡΡΠΏΠΈΠΌ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Android. Π‘Π»Π΅Π΄ΡΠ΅ΠΌ Π² ΠΌΠ΅Π½Ρ ΠΏΠΎ ΠΏΡΡΠΈ Window β Android SDK and AVD Manager.
ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ New Π² ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΊΠ½Π°, Π² ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π²ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΠΈΠΌΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ (Π΄ΠΎΠΏΡΡΡΠΈΠΌ Android 2.1), ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠ°ΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ (Π΄ΠΎΠΏΡΡΡΠΈΠΌ 512 Mb), ΡΠΈΠΏ Π΄ΠΈΡΠΏΠ»Π΅Ρ (Π΄ΠΎΠΏΡΡΡΠΈΠΌ HVGA). ΠΠ°ΡΠ΅ΠΌ ΠΆΠΌΠ΅ΠΌ Π²Π½ΠΈΠ·Ρ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Create AVD.
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΠ΄Π΅ΠΌ ΠΏΠΎ ΠΏΡΡΠΈ Π² ΠΌΠ΅Π½Ρ File β New β Other, Π² ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΌΡΡ ΡΠΏΠΈΡΠΊΠ΅ Android β Android Project.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠΎΠ΅ΠΉ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ UfaTermometr, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅ΠΉ ΡΠ΅ΠΊΡΡΡΡ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ Ρ Π΄Π°ΡΡΠΈΠΊΠΎΠ², ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΡΠ½Π΅ΡΠ³ΠΎ-ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.
ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π½Π° ΡΠ°Π·ΠΌΠ΅ΡΠΊΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π΅ Π±ΡΠ΄Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ Π²ΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² ΠΌΠ°Π½ΡΠ°Π»Π΅ ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΠΎΠΌΡ, ΠΊΡΠΎ ΠΈΠΌΠ΅Π» Π΄Π΅Π»ΠΎ Ρ html/css-Π²ΡΡΡΡΠΊΠΎΠΉ ΠΈ/ΠΈΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Π² ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Delphi). ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅, ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Ρ Π·Π°Π³ΡΡΠ·ΠΈΠ» ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ImageView. Π ΠΏΠΎΠ»Π΅ src ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΡΡ, Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΉΡΡ Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° @ ΠΈ Π΄Π°Π»Π΅Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅ Π°Π΄ΡΠ΅Ρ ΠΏΠΎ Π΄Π΅ΡΠ΅Π²Ρ. Π ΠΏΠ°ΠΏΠΊΠ΅ res Ρ Π·Π°Π±Π»Π°Π³ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠΎΠ·Π΄Π°Π» ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΡ drawable ΠΈ Β«Π·Π°ΠΊΠΈΠ½ΡΠ»Β» ΡΡΠ΄Π° Π»ΠΎΠ³ΠΎΡΠΈΠΏ, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠ°Π·Π°Π» ImageView ΠΏΡΡΡ. ΠΠ΅Π³ΠΊΠΎ? ΠΠΎ ΠΌΠ½Π΅ ΡΠ°ΠΊ ΠΎΡΠ΅Π½Ρ.
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.Button;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.regex.*;
public class UfaTermometr extends Activity
<
@Override
public void onCreate(Bundle savedInstanceState)
<
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Button button = (Button) findViewById(R.id.refrbutton);
button.setOnClickListener( new Button.OnClickListener() <
public void onClick(View v) // ΠΊΠ»ΠΈΠΊ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ
<
RefreshTemper();
>
>);
RefreshTemper(); // ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π³ΡΡΠ·ΠΈΠΌ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ ΡΡΠ°Π·Ρ
>;
//—————————————————————-
public String GetTemper(String urlsite) // ΡΡΠΊΡΠΈΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ
<
String matchtemper = «» ;
try
<
// Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΡΡΠ°Π½ΠΈΡΡ
URL url = new URL(urlsite);
URLConnection conn = url.openConnection();
InputStreamReader rd = new InputStreamReader(conn.getInputStream());
StringBuilder allpage = new StringBuilder();
int n = 0;
char [] buffer = new char [40000];
while (n >= 0)
<
n = rd.read(buffer, 0, buffer.length);
if (n > 0)
<
allpage.append(buffer, 0, n);
>
>
// ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Ρ ΡΠ΅Π³ΡΠ»ΡΡΠΊΠ°ΠΌΠΈ
final Pattern pattern = Pattern.compile
( » [^-+0]+([-+0-9]+)[^ [^(Π°-ΡΠ-Π―ΡΠa-zA-Z0-9)]+([Π°-ΡΠ-Π―ΡΠa-zA-Z ]+)» );
Matcher matcher = pattern.matcher(allpage.toString());
if (matcher.find())
<
matchtemper = matcher.group(1);
>
return matchtemper;
>
catch (Exception e)
<
>
return matchtemper;
>;
//—————————————————————-
public void RefreshTemper()
<
final TextView tTemper = (TextView) findViewById(R.id.temper);
String bashtemp = «» ;
bashtemp = GetTemper( Β«be.bashkirenergo.ru/weather/ufaΒ» );
tTemper.setText(bashtemp.concat( «Β°» )); // ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ
>;
>
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΆΠ΅ Π΅Π³ΠΎ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ.
ΠΠ°ΠΏΡΡΠΊ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ ΠΏΡΠΎ Π½Π°ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Ρ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΏΡΠΈΠ²ΡΡΠ½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΈΠ»ΠΈ ΠΌΠ΅Π½ΡΡΠΊΠΎΠΉ Run β Run
ΠΠΎΡ ΡΠ°ΠΊΡΡ ΠΊΠ°ΡΡΠΈΠ½Ρ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΡΠ΅ΠΌ ΡΠΎΠ·Π΅ΡΡΠ°ΡΡ:
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Android ΠΏΡΠΈΡΡΠ½Π°, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠ° ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π°. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π»ΠΈΡΡ Π²Π΅ΡΡ ΡΡΠΊΡ Π°ΠΉΡΠ±Π΅ΡΠ³Π°, Π½ΠΎ Ρ Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠΎ Π² ΡΠΌΠ°Ρ ΡΠ΅Ρ ΠΈΠ· Π²Π°Ρ, ΠΊΡΠΎ ΡΠ°Π½ΡΡΠ΅ Π½Π΅ ΠΏΡΠΎΠ±ΠΎΠ²Π°Π» Π΄Π΅Π»Π°ΡΡ Π½ΠΈΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Β«Π·Π°Π³ΠΎΡΠ΅Π»Π°ΡΡ Π»Π°ΠΌΠΏΠΎΡΠΊΠ°Β» ΠΈ Π²ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎ ΠΊΠΎΠ³Π΄Π°-ΡΠΎ Π²Π°ΡΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ.
ΠΡΡΠΎΡΠ½ΠΈΠΊΠΈ, ΡΡΡΠ»ΠΊΠΈ
UPD: Π£ΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ
ERROR: Unable to open class file C:\workspace\Test\gen\com\example\test\R.java: No such file or directory
emulator: ERROR: no search paths found in this AVD’s configuration. Weird, the AVD’s config.ini file is malformed. Try re-creating it
β ΡΡΠΎ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Ρ ΠΠ°Ρ ΠΊΠΈΡΠΈΠ»Π»ΠΈΡΠ° Π² ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π Π΅ΡΠ°Π΅ΡΡΡ: ΠΈΠ΄Π΅ΠΌ Π² ΠΠΎΠΌΠΏΡΡΡΠ΅Ρ β Π‘Π²ΠΎΠΉΡΡΠ²Π° ΡΠΈΡΡΠ΅ΠΌΡ β ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ β ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ΅Π΄Ρ. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ANDROID_SDK_HOME ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ β ΠΏΡΡΠ΅ΠΌ, Π³Π΄Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠ°ΠΏΠΊΠ° AVD (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, C:\Android\). Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ, Π΄Π°Π»Π΅Π΅ ΠΈΡΠ΅ΠΌ ΡΠ°ΠΌ ΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Path, ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ ΠΈ Π² ΠΏΠΎΠ»Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ΅ΡΠ΅Π· ΡΠΎΡΠΊΡ Ρ Π·Π°ΠΏΡΡΠΎΠΉ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΏΡΡΡ Π΄ΠΎ ΠΏΠ°ΠΏΠΊΠΈ tools Android SDK (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, C:\Android\tools). Π‘ΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ. ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ Eclipse, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
UPD 05.10.2011, Π²ΠΎ ΡΡΠΎ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΠ»ΠΎΡΡ Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈΡΠ΅Π·ΡΠ΅ΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
ΡΠΊΡΠΈΠ½Π°Ρ
:
ΠΡΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΡΠΎΠΉ ΡΠ°ΠΌΠΎΠΉ Π±ΠΎΠ»Π²Π°Π½ΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΡΠ΅ Π΄Π°Π½Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°.
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Android-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΡΠΎΠ²
ΠΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΡΠΌΠ°ΡΡΡΠΎΠ½Π° Π·Π° ΠΏΠΎΠ»ΡΠ°ΡΠ°
Π‘ΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΡΡΠ°ΡΡΠΈ
ΠΠ·ΡΡΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ·ΡΠΊ ΠΈ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ β ΡΡΠΎ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, ΡΡΠΎ ΠΎΡ ΡΠ΅Π±Ρ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ, Π΅ΡΠ»ΠΈ ΡΡ Π·Π°Ρ ΠΎΡΠ΅ΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ²ΠΎΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π§ΡΠΎΠ±Ρ Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ Π½Π°Π±ΡΠΎΡΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΠΉ todo list Π΄Π»Ρ Android ΠΈΠ»ΠΈ iOS, Π½Π΅ ΠΏΠ΅ΡΠ΅Π΄ΠΈΡΠ°Ρ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ· ΠΊΠ½ΠΈΠΆΠΊΠΈ, ΡΠΉΠ΄Π΅Ρ Π½Π΅ ΠΌΠ΅Π½ΡΡΠ΅ ΠΏΠ°ΡΡ Π½Π΅Π΄Π΅Π»Ρ. ΠΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΠΎΡΠ²Π°ΠΈΠ²Π°ΡΡ Objective-C ΠΈΠ»ΠΈ Java ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ Π±ΡΡΡΡΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΎΠ², Π΅ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΊΠ°ΠΊ PhoneGap.
ΠΠ°ΠΏΡΡΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠΈΠΌΡΠ»ΡΡΠΎΡΠ΅ iOS
Π₯Π°ΠΊΠ΅Ρ #156. ΠΠ·Π»ΠΎΠΌ XML Encryption
ΠΡΠ»ΠΈ ΡΡ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ·ΡΡΠ°Π» Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΆΠΈΠ΄Π°ΡΡ Π½Π°Ρ Π² Windows 8, ΡΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π·Π°ΠΌΠ΅ΡΠΈΠ», ΡΡΠΎ ΠΏΠΎΠ΄ Π½Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° HTML5. ΠΠ΄Π΅Ρ, Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, Π½Π΅ Π½ΠΎΠ²Π°Ρ β ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠ΅ ΡΠΎΡ ΠΆΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ, ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΡΡ ΡΠ΅ΠΌΠΈΠΌΠΈΠ»ΡΠ½ΡΠΌΠΈ ΡΠ°Π³Π°ΠΌΠΈ. ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΠΊΠΈΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΌ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ²ΡΠ·ΠΊΠΈ ΠΏΡΠΈΠ²ΡΡΠ½ΡΡ Π΄Π»Ρ Π½Π°Ρ HTML, JavaScript ΠΈ CSS!, ΠΊΠ°ΠΊ ΡΠ°Π· ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ PhoneGap. ΠΠ°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Ρ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ: iOS, Android, Windows Phone, Blackberry, WebOS, Symbian ΠΈ Bada. Π’Π΅Π±Π΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΠ·ΡΡΠ°ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ΄ ΠΊΠ°ΠΆΠ΄ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Objective-C Π² ΡΠ»ΡΡΠ°Π΅ Ρ iOS), ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ API ΠΈ ΡΡΠ΅Π΄Π°ΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΠ΅, ΡΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΡΠΎΡΡ-ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, β ΡΡΠΎ Π·Π½Π°Π½ΠΈΠ΅ HTML5 ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ PhoneGap API. ΠΡΠΈ ΡΡΠΎΠΌ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ Π½Π΅ ΡΡΠΏΠ°Ρ HTML-ΡΡΡΠ°Π½ΠΈΡΠ°, Β«ΠΎΠ±ΡΠ°ΠΌΠ»Π΅Π½Π½Π°ΡΒ» Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½Π΅Ρ! API ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π°ΡΠΈΠ²Π½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ²: Π΄ΠΎΡΡΡΠΏ ΠΊ Π°ΠΊΡΠ΅Π»Π΅ΡΠΎΠΌΠ΅ΡΡΡ, ΠΊΠΎΠΌΠΏΠ°ΡΡ, ΠΊΠ°ΠΌΠ΅ΡΠ΅ (Π·Π°ΠΏΠΈΡΡ Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΡΠΎΡΠΎΡΡΠ΅ΠΌΠΊΠ°), ΡΠΏΠΈΡΠΊΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ², ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, ΡΠΈΡΡΠ΅ΠΌΠ΅ Π½ΠΎΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΉ (ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π½Π° ΡΠ΅Π»Π΅ΡΠΎΠ½Π΅), Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°ΠΌ ΠΈ Ρ. Π΄. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΠ°ΠΊΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±Π΅Π·Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π»ΡΠ±ΠΎΠΌΡ ΠΊΡΠΎΡΡ-Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠΌΡ Π°Π΄ΡΠ΅ΡΡ. Π’Ρ ΠΌΠΎΠΆΠ΅ΡΡ Π²ΠΎΡΡΠΎΠ·Π΄Π°ΡΡ Π½Π°ΡΠΈΠ²Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² Π²ΡΠΎΠ΄Π΅ jQuery Mobile ΠΈΠ»ΠΈ Sencha, ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΌ ΡΠ΅Π»Π΅ΡΠΎΠ½Π΅ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π±ΡΠ΄ΡΠΎ ΠΎΠ½Π° Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° Π½Π°ΡΠΈΠ²Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ (Π½Ρ ΠΈΠ»ΠΈ ΠΏΠΎΡΡΠΈ ΡΠ°ΠΊ). ΠΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π½Π° Π΄Π΅Π»Π΅, ΡΠΎ Π΅ΡΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΡΡΠ°Π·Ρ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅. ΠΠ°ΡΠ΅ΠΊΠ°ΠΉ Π²ΡΠ΅ΠΌΡ β Π½Π° Π²ΡΠ΅ ΠΏΡΠΎ Π²ΡΠ΅ ΡΠΉΠ΄Π΅Ρ Π΅Π΄Π²Π° Π»ΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°ΡΠ°.
ΠΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΡΡΠΈ PhoneGap
ΠΡΠΎΠΌΠ΅ ΠΏΠΎΡΡΡΡΠ°ΡΡΠ΅ΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, PhoneGap ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅ΡΠ²ΠΈΡ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Β«ΠΎΠ±Π»Π°ΠΊΠ΅Β». ΠΠΎΠ΄ Π²ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈ Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠ»ΠΈΠΊ! Π‘Π±ΠΎΡΡΠΈΠΊ ΡΡΠ»ΠΎΠ²Π½ΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ. Π’Ρ ΠΌΠΎΠΆΠ΅ΡΡ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° ΡΠ°ΠΉΡΠ΅ PhoneGap Build (build.phonegap.com) ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ±ΠΎΡΡΠΈΠΊΡ. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡ Π²ΠΏΡΠ°Π²Π΅ ΡΠΎΠ±ΡΠ°ΡΡ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΎΠ΄Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ Π·Π°ΠΊΡΡΡΡΠΌΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΈΠΊΠ°ΠΌΠΈ. ΠΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ Π·Π°ΠΊΡΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠΎ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΠ»Π°ΡΠΈΡΡ.
ΠΡΠ»ΠΈ ΡΠ΅Π±Π΅ Π½Π΅ Ρ Π²Π°ΡΠ°Π΅Ρ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π° Π² Β«Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ°ΡΠΈΠΈΒ» PhoneGap, ΡΠΎ ΡΡ ΠΌΠΎΠΆΠ΅ΡΡ ΡΠ°ΡΡΠΈΡΠΈΡΡ Π΅Π³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ². Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ΅Π»ΡΠΉ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ (github.com/phonegap/phonegap-plugins), ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΡΠ΅ΡΡΡΠ΅ ΡΠ°Π·Π΄Π΅Π»Π° iPhone, Android, Palm, BlackBerry. Π‘Π΅ΠΉΡΠ°Ρ ΠΏΠΎΠ΄ iOS Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ 20 ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ²: BarcodeScanner (ΡΠΊΠ°Π½Π΅Ρ ΡΡΡΠΈΡ -ΠΊΠΎΠ΄ΠΎΠ²), AdPlugin (ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΠ»Π°ΠΌΡ iAd), NativeControls (Π½Π°ΡΠΈΠ²Π½ΡΠ΅ Π΄Π»Ρ iOS ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ) ΠΈ Π΄ΡΡΠ³ΠΈΠ΅.
Π§ΡΠΎ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π²ΠΎΠ·ΡΠΌΠ΅ΠΌ iOS β Π΄Π°-Π΄Π°, Π΄Π΅Π½ΡΠ³ΠΈ Π»Π΅ΠΆΠ°Ρ Π² AppStore, ΠΈ ΠΌΠΎΠ½Π΅ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎΠΊΠ° Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠ°ΠΌ :). ΠΠΎ ΡΡΠ°Π·Ρ Π²Π½Π΅ΡΡ ΡΡΠ½ΠΎΡΡΡ: Π²ΡΠ΅ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠ½ΡΡΡ, ΡΠΊΠ°ΠΆΠ΅ΠΌ, Π΄Π»Ρ Android. ΠΠΎΠ»Π³ΠΎ Π΄ΡΠΌΠ°Π», ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΡΡ ΡΡΠ»Π·Ρ Π΄Π»Ρ ΡΡΠ΅ΡΠ° ΡΠΏΠΈΡΠΊΠ° Π΄Π΅Π» ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½Π΅ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ. ΠΠΎΡΡΠΎΠΌΡ Ρ ΡΠ΅ΡΠΈΠ» ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«ΠΠ΅ΠΎΠ½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΊΠ°Β», Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½ΡΡ ΠΏΡΠΎΠ³Ρ, Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ°Π·ΠΎΠΉ: Β«Π‘ΠΎΠΎΠ±ΡΠΈ ΠΌΠ½Π΅, ΠΊΠΎΠ³Π΄Π° Ρ ΡΠ½ΠΎΠ²Π° ΡΡΡ ΠΎΠΊΠ°ΠΆΡΡΡΒ». Π AppStore Π΅ΡΡΡ Π½Π΅ΠΌΠ°Π»ΠΎ ΡΡΠΈΠ»ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Β«Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡΒ» ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΈΠΏΠ°ΡΠΊΠΎΠ²Π°Π» ΠΌΠ°ΡΠΈΠ½Ρ. ΠΡΠΎ ΠΏΠΎΡΡΠΈ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΡ ΠΏΠΎΠΏΡΠΎΡΠ΅. Π’Ρ ΡΠΌΠΎΠΆΠ΅ΡΡ ΡΠΊΠ°Π·Π°ΡΡ Π½Π° ΠΊΠ°ΡΡΠ΅ Π³ΠΎΡΠΎΠ΄Π° ΡΠΎΡΠΊΡ, Π·Π°Π΄Π°ΡΡ Π΄Π»Ρ Π½Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠ°Π΄ΠΈΡΡ ΠΈ Π·Π°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. ΠΠΎΠ³Π΄Π° ΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΠΎΠΏΠ°Π΄Π΅ΡΡ Π² ΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΡΠ°Π΄ΠΈΡΡΠΎΠΌ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠ΄Π°ΡΡ ΡΠ΅Π±Π΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅, Π° ΡΠΎΡΠΊΠ° Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»Π΅Π½Π°. ΠΡΠ΄Π΅ΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΠΎ ΡΠ°ΠΊΠΎΠΌΡ ΠΏΠ»Π°Π½Ρ: ΡΠ½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΠΎΡΡΠΎΠ΅ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ Π΅Π³ΠΎ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ PhoneGap Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ iOS. ΠΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π² ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ΅ ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ°ΡΡΡ ΠΊΠΎΠ΄Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠ΅Π»Π΅ΡΠΎΠ½Π΅ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠ°ΡΠΊΠ°ΡΠ° ΠΌΡ Π²ΠΎΠ·ΡΠΌΠ΅ΠΌ JS-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ jQuery c jQuery Mobile (jquerymobile.com), Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΄Π²ΠΈΠΆΠΊΠ° ΠΊΠ°ΡΡ β Google Maps v3. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· Π΄Π²ΡΡ ΡΡΡΠ°Π½ΠΈΡ: ΠΊΠ°ΡΡΡ ΠΈ ΡΠΏΠΈΡΠΊΠ° ΡΠΎΡΠ΅ΠΊ.
UI-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΈ
jQuery Mobile β ΡΡΠΎ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π½Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΠ° ΡΠ°ΠΉΡΠ΅ PhoneGap ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡ ΠΌΠΎΠΆΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ (phonegap.com/tools): Sencha Touch, Impact, Dojo Mobile, Zepto.js ΠΈ Π΄Ρ.
ΠΠ°ΡΠΊΠ°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
Π‘ΡΠ°Π·Ρ ΠΎΠ±ΡΡΡΠ½ΡΡ, Π·Π°ΡΠ΅ΠΌ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ jQuery Mobile. ΠΡΠ° JS-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°ΠΌ ΡΠΆΠ΅ Π³ΠΎΡΠΎΠ²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½ΡΠ΅ ΠΊ Π½Π°ΡΠΈΠ²Π½ΡΠΌ) Π΄Π»Ρ ΡΠ°ΠΌΡΡ ΡΠ°Π·Π½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ. ΠΠ°ΠΌ Π²Π΅Π΄Ρ Π½Π°Π΄ΠΎ, ΡΡΠΎΠ±Ρ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ Π±ΡΠ»ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π° Π½Π΅ ΡΡΡΠ°Π½ΠΈΡΠΊΠ° ΠΈΠ· Π±ΡΠ°ΡΠ·Π΅ΡΠ°! Π’Π°ΠΊ ΡΡΠΎ ΠΊΠ°ΡΠ°Π΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ JQuery Mobile (jquerymobile.com/download) ΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌ Π² ΡΠ°Π±ΠΎΡΡΡ ΠΏΠ°ΠΏΠΊΡ ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ:
ΠΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ΅ΡΡΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ Π½Π΅ ΡΡΠ°ΡΠΈΠ» ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ. Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΊΠ°ΡΠΊΠ°Ρ ΡΡΡΠ°Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅ index.html. ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ Π²Π΅ΡΡ Π½ΡΡ ΡΠ°ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Ρ ΠΊΠ°ΡΡΠΎΠΉ, Π½Π°Π΄ΠΏΠΈΡΡΡ Β«ΠΠ΅ΠΎΠ½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΊΠ°Β» ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Β«Π’ΠΎΡΠΊΠΈΒ».
Π‘ΡΡΠ°Π½ΠΈΡΠ° Ρ ΠΊΠ°ΡΡΠΎΠΉ
Π‘ΡΡΠ°Π½ΠΈΡΠ° Ρ ΠΊΠ°ΡΡΠΎΠΉ, ΠΎΡΠΊΡΡΡΠ°Ρ Π² ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΌ Π±ΡΠ°ΡΠ·Π΅ΡΠ΅. ΠΡΠΎ Π΅ΡΠ΅ Π½Π΅ iOS ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
ΠΡΡΠΈΠ±ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ data-dom-cache=»true» Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° Π½Π΅ Π²ΡΠ³ΡΡΠΆΠ°Π»Π°ΡΡ ΠΈΠ· ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«Π’ΠΎΡΠΊΠΈΒ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ data-transition=»pop», ΡΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΈΡΠ° Β«Π‘ΠΏΠΈΡΠΎΠΊ ΡΠΎΡΠ΅ΠΊΒ» ΠΎΡΠΊΡΡΠ²Π°Π»Π°ΡΡ Ρ ΡΡΡΠ΅ΠΊΡΠΎΠΌ Β«ΠΡΠΏΠ»ΡΡΠΈΠ΅Β». ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΡΡΡΠΎΠ΅Π½Ρ ΡΡΡΠ°Π½ΠΈΡΡ jQuery Mobile, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΈΡΠ°ΡΡ Π² Ρ ΠΎΡΠΎΡΠ΅ΠΌ ΠΌΠ°Π½ΡΠ°Π»Π΅ (bit.ly/vtXX3M). ΠΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠΎΡΠ΅ΠΊ:
Π‘ΡΡΠ°Π½ΠΈΡΠ° ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠΎΡΠ΅ΠΊ
ΠΠ»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«ΠΠ°ΡΡΠ°Β» ΡΠΎΠΆΠ΅ ΠΏΡΠΎΠΏΠΈΡΠ΅ΠΌ data-transition=Β»popΒ», Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π°ΡΡΠΈΠ±ΡΡ data-direction=Β»reverseΒ», ΡΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΈΡΠ° Β«ΠΠ°ΡΡΠ°Β» ΠΎΡΠΊΡΡΠ²Π°Π»Π°ΡΡ Ρ ΡΡΡΠ΅ΠΊΡΠΎΠΌ Β«ΠΠ°ΡΡΡ Π°Π½ΠΈΠ΅Β». Π’Π΅ ΠΆΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ ΠΏΡΠΎΠΏΠΈΡΠ΅ΠΌ Π² ΡΠ°Π±Π»ΠΎΠ½Π΅ ΡΠΎΡΠΊΠΈ. ΠΡΠ΅, Π½Π°Ρ ΠΊΠ°ΡΠΊΠ°Ρ Π³ΠΎΡΠΎΠ².
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°Π΄ΠΎ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΠΊΠ°ΡΡΡ, Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΠΌΡ Π²ΠΎΠ·ΡΠΌΠ΅ΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ API Google Maps, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°ΠΌΠΈ ΡΠ°Π·Π½ΡΡ ΡΠ°ΠΉΡΠΎΠ²:
ΠΠ΄Π΅ΡΡ Gm β ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ, ΡΡΡΠ»Π°ΡΡΠ°ΡΡΡ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ Google Maps. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Ρ Ρ ΠΎΡΠΎΡΠΎ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π» Π² ΠΊΠΎΠ΄Π΅. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π³ β ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΌΠ°ΡΠΊΠ΅ΡΠ° ΡΠ΅Π»ΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΊΠ°ΡΡΠ΅:
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ PERSON_SPRITE_URL ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π°Π΄ΡΠ΅Ρ ΡΠΏΡΠ°ΠΉΡΠ° ΡΠ΅Π»ΠΎΠ²Π΅ΡΠΊΠ° ΠΈΠ· Google-ΠΏΠ°Π½ΠΎΡΠ°ΠΌ. ΠΠ³ΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π΄ΡΠ΅Ρ β maps.gstatic.com/mapfiles/cb/mod_cb_scout/cb_scout_sprite_api_003.png. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΡΠΎΡΠΊΠΈ, ΠΊΠ»ΠΈΠΊΠ°Ρ Π½Π° ΠΊΠ°ΡΡΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ, ΡΡΠΎΠ±Ρ ΠΈΡ ΠΎΡΡΠΈΡΠΎΠ²ΡΠ²Π°ΡΡ, ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ»ΡΡΠ°ΡΡ ΡΠΎΠ±ΡΡΠΈΠ΅ click:
Π― ΠΏΡΠΈΠ²ΠΎΠΆΡ Π±ΠΠ»ΡΡΡΡ ΡΠ°ΡΡΡ ΠΊΠΎΠ΄Π° β ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΡΠΈ Π½Π° Π΄ΠΈΡΠΊΠ΅. ΠΠ°Π»ΡΡΠ΅ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π½Π°ΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ ΠΈΠΊΠΎΠ½ΠΊΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎ ΠΊΠ°ΡΡΠ΅. Π ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ΅ ΠΌΡ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΡΠ΅ΠΌ Geolocation API (ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π² Π΄Π΅ΡΠΊΡΠΎΠΏΠ½ΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ ):
ΠΠ΅ΡΠΎΠ΄ movePerson Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ getPointsInBounds() ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, Π½Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠΎΡΠΊΠ΅. ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²ΠΎΠΏΡΠΎΡ β Π³Π΄Π΅ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΡΠ΅ΠΊ? Π HTML5 ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ localStorage, ΡΠ°ΠΊ ΡΡΠΎ Π½Π΅ Π±ΡΠ΄Π΅ΠΌ Π΅ΠΉ ΠΏΡΠ΅Π½Π΅Π±ΡΠ΅Π³Π°ΡΡ (ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡ ΡΠ΅Π±Π΅ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΡΡΠΈΠΌΠΈ ΡΡΠ°ΡΡΠΊΠ°ΠΌΠΈ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Ρ ΠΎΡΠΎΡΠΎ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π»). ΠΡΠ°ΠΊ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠ°Π±ΠΎΡΠ°ΡΡΠ΅Π΅ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅, Π³ΠΎΡΠΎΠ²ΠΎ!
ΠΠ°ΠΏΡΡΠΊ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΠ°ΠΊ Ρ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ», ΠΎΡΠ»Π°Π΄ΠΊΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ Π±ΡΠ°ΡΠ·Π΅Ρ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ β ΡΡΠΎ Safari ΠΈΠ»ΠΈ Chrome. ΠΠΎΡΠ»Π΅ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π² ΡΡΠΈΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°Ρ ΡΡ ΠΌΠΎΠΆΠ΅ΡΡ Π±ΡΡΡ ΡΠ²Π΅ΡΠ΅Π½ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Β«ΠΏΠΎΠ΅Π΄Π΅ΡΒ» Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°. ΠΠ±Π° ΡΡΠΈΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ° ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎΠΌ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΎΠ½ΠΈ, ΠΏΠΎΡΡΡΠΎΠ΅Π½Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΄Π²ΠΈΠΆΠΊΠ° WebKit. ΠΠΎΡΠ»Π΅ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π±Π°Π³ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ ΠΊ Π·Π°ΠΏΡΡΠΊΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π° ΡΠ΅Π»Π΅ΡΠΎΠ½Π΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°ΡΡΡΠΎΠΉ ΡΠ²ΠΎΠΉ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ (ΠΏΡΡΡΡ Π΄Π°ΠΆΠ΅ Denwer ΠΈΠ»ΠΈ XAMPP), ΡΡΠΎΠ±Ρ ΠΎΠ½ ΠΎΡΠ΄Π°Π²Π°Π» ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ, ΠΈ ΠΎΡΠΊΡΠΎΠΉ Π΅Π΅ ΡΠΆΠ΅ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅. Π’ΡΡ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, ΡΡΠΎ Π±ΡΠ΄ΡΡΠ΅Π΅ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎΠ±ΡΠ°Π½Π½ΠΎΠ΅ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ PhoneGap, Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΠΎΡΡΠΈ ΠΎΠ΄ΠΈΠ½ Π² ΠΎΠ΄ΠΈΠ½, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΎΠ½Π½Π°Ρ ΠΏΠ°Π½Π΅Π»Ρ Π±ΡΠ°ΡΠ·Π΅ΡΠ°. ΠΡΠ»ΠΈ Π²ΡΠ΅ Ρ ΠΎΡΠΎΡΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΡΡΠΏΠ°ΡΡ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ· ΡΡΡΠ°Π½ΠΈΡΠΊΠΈ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ iOS-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΠΌΠ΅ΡΡ, ΡΡΠΎ PhoneGap ΠΈ IDE Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΡ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΄Π°ΠΆΠ΅ Π½Π΅ ΡΡΠΎΠ³Π°Π»ΠΈ.
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ°
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠΎΠ±ΡΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ iOS, ΡΠ΅Π±Π΅ Π½ΡΠΆΠ΅Π½ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Mac OS 10.6+ (ΠΈΠ»ΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΠΈΠ½Π° Π½Π° Mac OS 10.6), Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Xcode Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌ iOS SDK. ΠΡΠ»ΠΈ Ρ ΡΠ΅Π±Ρ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ SDK, ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠΊΠ°ΡΠ°ΡΡ Ρ ΡΠ°ΠΉΡΠ° Apple ΠΎΠ±ΡΠ°Π· Π΄ΠΈΡΠΊΠ°, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉ Π² ΡΠ΅Π±Ρ Xcode ΠΈ iOS SDK (developer.apple.com/devcenter/ios/index.action). ΠΠΌΠ΅ΠΉ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ ΠΎΠ±ΡΠ°Π· Π²Π΅ΡΠΈΡ ΠΎΠΊΠΎΠ»ΠΎ 4 ΠΠ±. ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, ΡΠ΅Π±Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° ΡΠ°ΠΉΡΠ΅ Apple Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° (Π΅ΡΠ»ΠΈ ΡΡ Π½Π΅ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΡΡΡ ΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² AppStore, ΡΠΎ ΡΡΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡΠΈ). Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Π½Π°ΡΠΈΠ²Π½ΠΎΠΌ Π΄Π»Ρ iOS ΡΠ·ΡΠΊΠ΅ Objective-C. ΠΠΎ ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΏΠΎΠΉΡΠΈ ΠΎΠ±Ρ ΠΎΠ΄Π½ΡΠΌ ΠΏΡΡΠ΅ΠΌ ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ PhoneGap, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π°ΠΌ Π΅ΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠ°ΠΊΠ΅Ρ PhoneGap iOS. ΠΡΠΎΡΡΠΎ ΡΠΊΠ°ΡΠ°ΠΉ Π°ΡΡ ΠΈΠ² Ρ ΠΎΡΡΠ°ΠΉΡΠ° (https://github.com/callback/phonegap/zipball/1.2.0), ΡΠ°ΡΠΏΠ°ΠΊΡΠΉ Π΅Π³ΠΎ ΠΈ Π² ΠΏΠ°ΠΏΠΊΠ΅ iOS Π·Π°ΠΏΡΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ. ΠΠΎΠ³Π΄Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π²Π΅ΡΡΠΈΡΡΡ, Π² ΠΌΠ΅Π½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Xcode Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΡΠ²ΠΈΡΡΡΡ ΠΈΠΊΠΎΠ½ΠΊΠ° PhoneGap. ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΡΠΌ, Π½ΠΎ ΡΠΆΠ΅ ΠΎΡΠ΅Π½Ρ ΡΠΊΠΎΡΠΎ ΡΡ ΡΠ²ΠΈΠ΄ΠΈΡΡ ΡΠ°Π±ΠΎΡΡΡ ΠΎΠ±Π»Π°ΡΡΡ IDE Ρ ΡΠ²ΠΎΠΈΠΌ ΠΏΠ΅ΡΠ²ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π²ΡΠ΅ Π»ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π½Π°ΠΆΠΌΠΈ ΠΊΠ½ΠΎΠΏΠΊΡ Run β Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΏΡΡΡΠΈΡΡΡΡ ΡΠΌΡΠ»ΡΡΠΎΡ iPhone/iPad Ρ ΡΠ°Π±Π»ΠΎΠ½Π½ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ PhoneGap. Π‘ΠΎΠ±ΡΠ°Π½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΡΠ΄Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ index.html Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½, β ΡΡΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ. ΠΡΠΊΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡ ΡΠΎΡ ΡΠ°Π½ΠΈΠ» ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΈ Π½Π°ΠΉΠ΄ΠΈ Π² Π½Π΅ΠΉ ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΡ www. ΠΠ΅ΡΠ΅ΡΠ°ΡΠΈ Π΅Π΅ Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, ΠΊΠ»ΠΈΠΊΠ½ΠΈ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠΏΠΈΡΠΊΠ΅ ΡΠ»Π΅Π²Π° ΠΈ Π² ΠΏΠΎΡΠ²ΠΈΠ²ΡΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π²ΡΠ±Π΅ΡΠΈ Β«Create folder references for any added foldersΒ». ΠΡΠ»ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΅ΡΠ΅ ΡΠ°Π·, ΡΠΎ Π²ΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°ΡΠ°Π±ΠΎΡΠ°ΡΡ. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ° Π² ΠΏΠ°ΠΏΠΊΡ www. ΠΠΎΡΠ° ΠΏΠΎΠ΄ΠΏΠΈΠ»ΠΈΡΡ Π½Π°Ρ ΠΏΡΠΎΡΠΎΡΠΈΠΏ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π½Π° ΡΠΌΠ°ΡΡΡΠΎΠ½Π΅ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ PhoneGap.
ΠΠ΅ΡΠ΅Π½ΠΎΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ°
ΠΡΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ExternalHosts
ΠΡΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, Π΅ΡΡΡ Π»ΠΈ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΎΡΡ ΠΊΠ°ΠΊΠΎΠ΅-Π½ΠΈΠ±ΡΠ΄Ρ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ Π΅Π³ΠΎ Π½Π΅Ρ, Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ navigator.notification.alert ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΈΠ²ΡΡΠ½ΡΡ alert, Π½ΠΎ Π΅Π΅ ΠΌΠΈΠ½ΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½Π° Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΌΠ΅Π½Π΅Π΅ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π‘Π΅ΠΉΡΠ°Ρ Π½Π°ΠΌ Ρ Π²Π°ΡΠΈΡ ΠΈ ΡΡΠΈΡ Π·Π½Π°Π½ΠΈΠΉ, Π½ΠΎ ΡΡ ΠΌΠΎΠΆΠ΅ΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΎ network.connection (bit.ly/uEyRwz) ΠΈ ΡΠΏΠΎΡΠΎΠ±Π°Ρ Π½ΠΎΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ (bit.ly/tkvzE2).
ΠΠ°ΡΠ΅ΠΌ Π·Π°ΠΌΠ΅Π½ΠΈΠΌ Π²ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ alert ΠΈ confirm Π½Π° Π½Π°ΡΠΈΠ²Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°ΠΌ PhoneGap:
ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ, β ΡΡΠΎ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΠΈΠΉ ΠΈΠΊΠΎΠ½ΠΊΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎ ΠΊΠ°ΡΡΠ΅. ΠΠ°Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΡΠΎΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΌΠ΅Π½Π΅Π΅ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ (ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅Ρ ΠΈΠΊΠΎΠ½ΠΊΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈΡΡ) ΠΈ Π΄Π°Π΅Ρ Π½Π΅ ΡΠ°ΠΊΠΈΠ΅ Π±ΠΎΠ³Π°ΡΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠ°ΠΊ Π°Π½Π°Π»ΠΎΠ³ Π² PhoneGap:
ΠΡΠΎΡ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ·ΡΡΠ½ΡΠΉ β ΠΎΠ½ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈΡΡ. ΠΠΌΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ Run ΠΈ ΡΠ±Π΅ΠΆΠ΄Π°Π΅ΠΌΡΡ, ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ΅ Π½Π°ΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΡΠΈΠΌΡΠ»ΡΡΠΎΡΠ΅ iOS-ΡΡΡΡΠΎΠΉΡΡΠ²Π°! ΠΠΎΡΠ° ΠΏΡΠΈΡΡΡΠΏΠ°ΡΡ ΠΊ Π·Π°ΠΏΡΡΠΊΡ Π½Π° ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅.
ΠΠ°ΡΠΈΠ²Π½ΡΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π² iOS
ΠΠ°ΠΏΡΡΠΊ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅
Π Π°Π±ΠΎΡΠ°ΡΡΠ΅Π΅ PhoneGap-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
ΠΡΡΠ³ΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ
ΠΡΠΎΠΌΠ΅ PhoneGap, ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π°ΡΠΈΠ²Π½ΡΡ ΡΠ·ΡΠΊΠΎΠ². ΠΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΊΡΡΡΡΡ ΠΈΠ³ΡΠΎΠΊΠΎΠ².