ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π±Π΅Π³Π° Π½Π° Π°Π½Π΄ΡΠΎΠΈΠ΄ java
Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ 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-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΡΠΎΠ²
ΠΠΈΡΠ΅ΠΌ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Android
Π Π»ΡΠ±ΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ°ΠΌΠΎΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅ β ΡΡΠΎ Π½Π°ΡΠ°Π»ΠΎ. Π§Π°ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ ΡΡΠΆΠ΅Π»ΠΎ Π²ΠΎΠΉΡΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ, Ρ ΡΠ΅ΠΌ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ ΠΈ Ρ, ΡΠ΅ΡΠΈΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ²ΠΎΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ Android-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠ°ΡΡΠΎΡΡΠ°Ρ ΡΡΠ°ΡΡΡ Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ Ρ ΠΎΡΠ΅Ρ Π½Π°ΡΠ°ΡΡ, Π½ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ Ρ ΡΠ΅Π³ΠΎ.
Π‘ΡΠ°ΡΡΡ Π·Π°ΡΡΠΎΠ½Π΅Ρ Π²Π΅ΡΡ ΡΠΈΠΊΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΌΠ΅ΡΡΠ΅ ΠΌΡ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠ΅Π½ΡΠΊΡΡ ΠΈΠ³ΡΡ βΠΡΠ΅ΡΡΠΈΠΊΠΈ-ΠΠΎΠ»ΠΈΠΊΠΈβ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΡΠΊΡΠ°Π½ΠΎΠΌ (Π² ΠΠ‘ Android ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Activity).
ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΎΠΏΡΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° ΡΠ·ΡΠΊΠ΅ Java Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΡΠ°ΡΡ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΠΈΠ΅ΠΌ Π² ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΠΈ Android. Π’Π°ΠΊ, Π² ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ Π½Π΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠ΅ Π΄Π»Ρ Java ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ (ΠΈΠ»ΠΈ ΠΎΠ½ΠΈ Π±ΡΠ΄Π΅Ρ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Ρ Π½Π° ΡΡΠΎΠ»ΡΠΊΠΎ, Π½Π° ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ). ΠΡΠ»ΠΈ ΠΡ ΠΏΠΈΡΠ΅ΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° PHP ΠΈ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡΡΠΈΠΌΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°ΠΌΠΈ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΠ, ΡΡΠ° ΡΡΠ°ΡΡΡ Π±ΡΠ΄Π΅Ρ Π²Π°ΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½Π°. Π ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠ°ΠΊ ΠΊΠ°ΠΊ, Ρ Π½Π΅ ΡΠ²Π»ΡΡΡΡ ΡΠΊΡΠΏΠ΅ΡΡΠΎΠΌ ΠΏΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π½Π° Java, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ, ΡΡΠΎ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π½Π΅ ΠΏΡΠ΅ΡΠ΅Π½Π΄ΡΠ΅Ρ Π½Π° Π»Π΅ΠΉΠ±Π» βΠ»ΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° Javaβ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈ ΡΡΠΈΠ»ΠΈΡ
Π£ΡΠΈΠ»ΠΈΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. Π‘ΡΠ°Π²ΠΈΡΡ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ IDE ΡΠΌΡΡΠ»Π° Π½Π΅Ρ (ΡΠ°Π·Π²Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΠΡ ΠΈΡΠΏΡΡΡΠ²Π°Π΅ΡΠ΅ Π·Π°ΡΡΡΠ΄Π½Π΅Π½ΠΈΡ Ρ Π²ΡΠ±ΠΎΡΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅ΠΉ). Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ IntelliJ IDEA Community Edition, ΠΎΠ΄Π½Ρ ΠΈΠ· ΡΠ°ΠΌΡΡ ΡΠ°Π·Π²ΠΈΡΡΡ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ IDE Π΄Π»Ρ Java.
ΠΠ°ΠΏΡΡΠΊ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°
ΠΠ°ΠΏΡΡΡΠΈΠ² AVD Manager ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ (SDK ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²Π΅ΡΡΠΈΠΉ), ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ. Π Π°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΡΡΠ°Π²ΠΈΡΡ ΡΡΡΠ΄Π°.
Π‘ΠΏΠΈΡΠΎΠΊ ΡΡΡΡΠΎΠΉΡΡΠ²
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΠ½Π΅ Π²ΡΠ΅Π³Π΄Π° Π½Π΅ ΡΠ΅ΡΠΏΠΈΡΡΡ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΡΠ°Π±ΠΎΡΠ΅, ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΡΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠΏΡΠΈΡΡΠΈΡ, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² IDE, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠ΅ΠΊΡ ΡΡΠ΅Π±Π½ΡΠΉ ΠΈ Π½Π° ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½ Π½Π΅ ΠΏΡΠ΅ΡΠ΅Π½Π΄ΡΠ΅Ρ.
ΠΡΠ°ΠΊ, File->New Project:
ΠΠΎ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ F6 ΠΏΡΠΎΠ΅ΠΊΡ ΡΠΎΠ±Π΅ΡΠ΅ΡΡΡ, ΠΎΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡΡ Π½Π° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΌ Π΄Π΅Π²Π°ΠΉΡΠ΅.
Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΠ° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠΊΡΠΈΠ½ΡΠΎΡΠ΅ Π²ΠΈΠ΄Π½Π° ΡΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΏΡΠ΅ΡΠ»Π΅Π΄ΡΠ΅ΠΌ ΡΡΠ³ΡΠ±ΠΎ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅Π»ΠΈ, Π·Π°ΠΎΡΡΡΠΈΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π»ΠΈΡΡ Π½Π° ΡΠ΅Ρ ΠΏΠ°ΠΏΠΊΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ. ΠΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ: gen, res ΠΈ src.
Π ΠΏΠ°ΠΏΠΊΠ΅ gen Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΡΡΠ½ΡΡ ΠΈΡ ΠΌΠ΅Π½ΡΡΡ Π½Π΅Π»ΡΠ·Ρ.
ΠΠ°ΠΏΠΊΠ° res ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ, ΡΠ΅ΠΊΡΡΡ (Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Ρ), Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ-ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΌΠ°ΠΊΠ΅ΡΡ (layouts).
src β ΡΡΠΎ ΠΏΠ°ΠΏΠΊΠ° Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ°ΡΡΡ ΡΠ°Π±ΠΎΡΡ, ΠΈΠ±ΠΎ ΡΡΡ Ρ ΡΠ°Π½ΡΡΡΡ ΡΠ°ΠΉΠ»Ρ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ ΡΠ΅ΠΊΡΡΠ°ΠΌΠΈ Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ΅ΡΠ²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Activity (ΡΠΊΡΠ°Π½ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ), Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ onCreate(). IDE Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ»Π° Π΅Π³ΠΎ 2 ΡΡΡΠΎΡΠΊΠ°ΠΌΠΈ:
ΠΠ΅ΡΠΎΠ΄ setContentView (ΡΠ°Π²Π½ΠΎΡΠΈΠ»ΡΠ½ΠΎ this.setContentView) ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ xml-ΠΌΠ°ΠΊΠ΅Ρ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΊΡΠ°Π½Π°. ΠΠ°Π»Π΅Π΅ xml-ΠΌΠ°ΠΊΠ΅ΡΡ Π±ΡΠ΄Π΅ΠΌ Π½Π°Π·ΡΠ²Π°ΡΡ Β«layoutΒ», Π° ΡΠΊΡΠ°Π½Ρ β Β«ActivityΒ». Layout Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ:
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ TableLayout. Id ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π»ΡΠ±ΠΎΠΌΡ ΡΠ΅ΡΡΡΡΡ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, TableLayout ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° findViewById() ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π²ΠΈΠ΄Ρ:
Π’Π΅ΠΏΠ΅ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ buildGameField(). ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»Π΅ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ°ΡΡΠΈΡΡ. ΠΡΠΈΠΌ Π±ΡΠ΄Π΅Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΠΊΠ»Π°ΡΡ Game. Π‘Π½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»Π°ΡΡ Square Π΄Π»Ρ ΡΡΠ΅Π΅ΠΊ ΠΈ ΠΊΠ»Π°ΡΡ Player, ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ΄ΡΡ Π·Π°ΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠΈ ΡΡΠ΅ΠΉΠΊΠΈ.
Square.java
Player.java
ΠΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ src.
Game.java
ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Game Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅ KrestikinolikiActivity.
ΠΠ΅ΡΠΎΠ΄ buildGameField() ΠΊΠ»Π°ΡΡΠ° KrestikinolikiActivity. ΠΠ½ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΡΡΠΎΠΊΠΈ ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² ΡΠ°Π±Π»ΠΈΡΡ (ΠΈΠ³ΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅):
Π ΡΡΡΠΎΠΊΠ΅ 8 ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ View.OnClickListener. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΠΊΠ»Π°ΡΡ Listener. ΠΠ½ Π±ΡΠ΄Π΅Ρ Π²ΠΈΠ΄Π΅Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· KrestikinolikiActivity.
ΠΡΡΠ°Π»ΠΎΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΠΈΠ³ΡΡ.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ±Π΅Π΄ΠΈΡΠ΅Π»Ρ
Π. Π. ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π² ΠΊΡΠ΅ΡΡΠΈΠΊΠΈ-Π½ΠΎΠ»ΠΈΠΊΠΈ Π²ΡΠΈΡΡΠ²Π°Π΅Ρ ΡΠΎΡ, ΠΊΡΠΎ Π²ΡΡΡΡΠΎΠ΅Ρ X ΠΈΠ»ΠΈ O Π² Π»ΠΈΠ½ΠΈΡ Π΄Π»ΠΈΠ½ΠΎΠΉ, ΡΠ°Π²Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Π΅ ΠΏΠΎΠ»Ρ ΠΏΠΎ-Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ, ΠΈΠ»ΠΈ ΠΏΠΎ-Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ, ΠΈΠ»ΠΈ ΠΏΠΎ-Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ. ΠΠ΅ΡΠ²Π°Ρ ΠΌΡΡΠ»Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ Π² Π³ΠΎΠ»ΠΎΠ²Ρ β ΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°Ρ. ΠΡΠΌΠ°Ρ, Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ ΠΏΠ°ΡΡΠ΅ΡΠ½ Chain of Responsobility. ΠΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
Π’Π°ΠΊ ΠΊΠ°ΠΊ Game Π½Π°Π΄Π΅Π»Π΅Π½ ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡΡΡ Π²ΡΡΠ²Π»ΡΡΡ ΠΏΠΎΠ±Π΅Π΄ΠΈΡΠ΅Π»Ρ, ΠΎΠ½ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΡΠΎΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. ΠΠ°ΡΡΠ°Π»ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ Β«Π»Π°ΠΉΠ½ΡΠΌΠ΅Π½ΠΎΠ²Β», ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΠ²ΠΎΡ ΡΡΠΎΡΠΎΠ½Ρ. ΠΡΠ΅ ΠΎΠ½ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ WinnerCheckerInterface.
WinnerCheckerHorizontal.java
WinnerCheckerVertical.java
WinnerCheckerDiagonalLeft.java
WinnerCheckerDiagonalRight.java
ΠΡΠΎΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΠΈΡ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅ Game:
ΠΠΎΠ±Π΅Π΄ΠΈΡΠ΅Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ ΠΎΠ΄Π°. ΠΠΎΠ±Π°Π²ΠΈΠΌ ΠΊΠΎΠ΄Π° Π² ΠΌΠ΅ΡΠΎΠ΄ onClick() ΠΊΠ»Π°ΡΡΠ° Listener
ΠΠ΅ΡΠΎΠ΄ gameOver() ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² 2-Ρ Π²Π°ΡΠΈΠ°Π½ΡΠ°Ρ :
ΠΠ»Ρ Java, gameOver(Player player) ΠΈ gameOver() β ΡΠ°Π·Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ. ΠΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π²ΡΠΈΡΡ Builder’ΠΎΠΌ Toast.makeText, ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅. refresh() ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠΎΠ»Ρ:
ΠΠΎΡΠΎΠ²ΠΎ! ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠ° ΡΡΠ°ΡΡΡ ΠΏΠΎΠΌΠΎΠ³Π»Π° ΠΠ°ΠΌ ΠΎΡΠ²ΠΎΠΈΡΡΡΡ Π² ΠΌΠΈΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎΠ΄ OS Android. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!
ΠΠΈΠ΄Π΅ΠΎ Π³ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
PS: ΡΡΠ°ΡΡΡ Π±ΡΠ»Π° ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° ΠΏΠΎ ΠΏΡΠΎΡΡΠ±Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΎΡΠΎΠ² ΡΡΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°.
ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ 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 Π½Π° JavaScript Ρ ΠΏΠΎΠΌΠΎΡΡΡ Apache Cordova
furry.cat
Π Π°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² Π² Π½Π°ΡΠ΅ Π²ΡΠ΅ΠΌΡ Π΄ΠΎΡΡΠΈΠ³Π»ΠΎ Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΠΎΠ±ΠΈΠ»ΡΠ½ΡΠΉ ΡΠ΅Π»Π΅ΡΠΎΠ½ Π΅ΡΡΡ Ρ 2 ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΡΡ 3 ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ Π½Π° ΠΏΠ»Π°Π½Π΅ΡΠ΅. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ Π»ΡΠ΄ΠΈ ΠΎΠ±ΡΠ°ΡΡΡΡ, Π΄Π΅Π»Π°ΡΡ ΠΏΠΎΠΊΡΠΏΠΊΠΈ, ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΈΠ³ΡΠ°ΡΡ. ΠΡΠΎ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠΉ ΡΡΠ½ΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅Π»ΡΠ·Ρ ΠΎΡΡΠ°Π²Π»ΡΡΡ Π±Π΅Π· Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ.
ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎΠ±Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ, Π½ΡΠΆΠ½ΠΎ Π²Π»Π°Π΄Π΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Swift β Π΄Π»Ρ iOS, Java ΠΈΠ»ΠΈ Kotlin β Π΄Π»Ρ Android. ΠΠ»ΠΈ JavaScript β Π΄Π»Ρ iOS, Android ΠΈ ΡΡΠ΄Π° Π΄ΡΡΠ³ΠΈΡ ΠΠ‘!
ΠΠ°-Π΄Π°, JavaScript Π²Π΅Π·Π΄Π΅, ΠΈ Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅. ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΡΠΎΠΌ ΡΠ·ΡΠΊΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, React Native ΠΈ Apache Cordova, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠ΅ Π½Π° Π½Π΅ΠΉ ΠΏΡΠΎΠ΅ΠΊΡΡ.
ΠΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° React Native ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π½Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ React ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠ² ΡΠ°Π±ΠΎΡΡ Ρ Π½Π΅ΠΉ. Cordova ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²Π·ΡΡΡ ΠΎΠ±ΡΡΠ½ΠΎΠ΅ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±Π΅ΡΠ½ΡΡΡ Π΅Π³ΠΎ Π½ΡΠΆΠ½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΠ‘. Π’Π°ΠΊΠΈΠ΅ «Π³ΠΈΠ±ΡΠΈΠ΄Π½ΡΠ΅» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡ Π²Π°ΡΡΠ°ΡΡΡΡ Π²ΡΡΠΎΠΊΠΎΠΉ Π½Π°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅.
Cordova ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π±Π΅Π· ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠΈ. Π‘Π΅ΠΉΡΠ°Ρ ΠΌΡ ΠΊΠ°ΠΊ ΡΠ°Π· ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ β ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Todo App Π΄Π»Ρ Android Π½Π° JavaScript.
Π¨Π°Π³ #0. ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Android, Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ JDK (Java Development Kit) ΠΈ Android SDK β ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Android. Π ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ Cordova.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΎΡΠ½ΠΈΠΊ Π΄Π»Ρ Π½ΡΠΆΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π° ΡΠ°ΠΉΡΠ΅ Oracle. ΠΡΠ±ΠΈΡΠ°ΠΉΡΠ΅ Π²Π΅ΡΡΠΈΡ Π½Π΅ Π²ΡΡΠ΅ JDK 8, Ρ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΠΌΠΈ Cordova Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
Android Studio
ΠΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎΠ΄ Android ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Android Studio.
ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ PATH ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ tools ΠΈ platform-tools :
ΠΠ°ΡΠ΅ΠΌ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ Android SDK Build-Tools (Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ SDK Tools).
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΌΡΠ»ΡΡΠΎΡΠ°
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠΌΡΠ»ΡΡΠΎΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π·Π°ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΌΠ΅Π½Ρ AVD Manager:
Π ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠΌΡΠ»ΡΡΠΎΡ Ρ Π½ΡΠΆΠ½ΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ.
Cordova
ΠΡΡΠ°Π»ΠΎΡΡ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ npm-ΠΏΠ°ΠΊΠ΅Ρ Cordova:
Π¨Π°Π³ #1. ΠΡΠ΅Π²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ Π² Android-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°Π±ΠΎΡΡ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Ρ, ΠΏΠΎΡΠ° ΠΏΡΠΈΡΡΡΠΏΠ°ΡΡ ΠΊ ΡΠ°ΠΌΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠΌΡ.
ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, ΡΠ°ΠΌΡΠΉ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ Π²ΠΎΠΏΡΠΎΡ β ΠΊΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΎΠ±ΡΡΠ½ΡΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ Android. Π§ΡΠΎΠ±Ρ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° Π½Π΅Π³ΠΎ, ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΡΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Cordova ΠΈ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Cordova:
deviceready β ΡΡΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠ°ΠΌΠ° Cordova. ΠΠ΅ΡΡΡΠ΄Π½ΠΎ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ, ΡΡΠΎ ΠΎΠ½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π·Π°ΠΏΡΡΠ΅Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π³ΠΎΡΠΎΠ²ΠΎ Π΅Π³ΠΎ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ Π·Π°ΠΏΡΡΡΠΈΠ»ΠΈ ΠΏΡΠΎΠ΅ΠΊΡ Π² ΠΎΠ±Ρ ΠΎΠ΄ Cordova, ΡΡΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π°Π΄ΠΏΠΈΡΡ Connecting to device Π½Π΅ ΠΈΡΡΠ΅Π·Π°Π΅Ρ.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ
Π£ΠΊΠ°ΠΆΠ΅ΠΌ ΡΠ΅Π»Π΅Π²ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° β Ρ Π½Π°Ρ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Android:
Π‘Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄Π»Ρ Android-ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ:
ΠΠ°Π³ΡΡΠ·ΠΈΡΠ΅ Π΅Π³ΠΎ Π½Π° ΡΠΌΠ°ΡΡΡΠΎΠ½, Π·Π°ΠΏΡΡΡΠΈΡΠ΅ β ΠΈ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΡ ΡΠ°ΠΌΡΡ Π΄Π΅ΡΠΎΠ»ΡΠ½ΡΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ. ΠΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ!
ΠΠ°ΠΏΡΡΠΊ Π½Π° ΡΠΌΡΠ»ΡΡΠΎΡΠ΅ ΠΈΠ»ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅
ΠΠ΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΡΡΡΠ½ΡΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ apk Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° ΡΠΌΠ°ΡΡΡΠΎΠ½Π΅, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ Π΅Π³ΠΎ ΠΊ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ, ΡΠ°Π·ΡΠ΅ΡΠΈΡΠ΅ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠΎΡΠ΄ΠΎΠ²Π° ΡΠ°ΠΌΠ° ΡΠΎΠ±Π΅ΡΠ΅Ρ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
ΠΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ ΠΈ Π±Π΅Π· ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°.
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΡΠ°Π½Π΅Π΅ ΡΠΌΡΠ»ΡΡΠΎΡ Π² Android Studio:
ΠΈ ΡΠ½ΠΎΠ²Π° Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠ° ΡΡΠΎΡ ΡΠ°Π· ΠΊΠΎΡΠ΄ΠΎΠ²Π° Π½Π°ΠΉΠ΄Π΅Ρ ΡΠΌΡΠ»ΡΡΠΎΡ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ Π½Π° Π½Π΅ΠΌ:
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΡΠΌΠ΅Π΅ΠΌ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΎΠ±ΡΡΠ½ΡΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Android-ΡΡΡΡΠΎΠΉΡΡΠ²Π΅.
#Π¨Π°Π³ 2. TODO-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
Π’Π΅ΠΏΠ΅ΡΡ Π·Π°ΠΌΠ΅Π½ΠΈΠΌ Π΄Π΅ΡΠΎΠ»ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Cordova Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΊΡΡΡΠΎΠ΅ Todo-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠΌΡΠ»ΡΡΠΎΡΠ΅ ΠΈΠ»ΠΈ Π½Π° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ ΠΈ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ:
ΠΡΠ»Π°Π΄ΠΊΠ°
ΠΠ°ΠΏΡΡΠ΅Π½Π½ΠΎΠ΅ Π½Π° ΡΠΌΡΠ»ΡΡΠΎΡΠ΅ ΠΈΠ»ΠΈ ΡΠ΅Π°Π»ΡΠ½ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Cordova ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°ΡΡ ΡΠ΅ΡΠ΅Π· Π±ΡΠ°ΡΠ·Π΅Ρ Chrome.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ: chrome://inspect/#devices, Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Inspect.
Π¨Π°Π³ #3. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ
ΠΠΎ ΡΠΈΡ ΠΏΠΎΡ Π½Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π²Π΅Π±-ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ. ΠΠ΄Π½Π°ΠΊΠΎ Cordova ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΈ ΠΊ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° β ΡΠ΅ΡΠ΅Π· ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ.
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ Π½Π°ΡΠΈΠ²Π½ΡΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΠ΅ ΠΎΠΊΠ½Π° ΠΈ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ.
ΠΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΠ΅ ΠΎΠΊΠ½Π°
Π’Π΅ΠΏΠ΅ΡΡ Π² ΠΊΠΎΠ΄Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π°ΠΌ Π΄ΠΎΡΡΡΠΏ ΠΎΠ±ΡΠ΅ΠΊΡ navigator.notification Ρ ΡΠ΅ΡΡΡΡΠΌΡ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ:
ΠΠ°ΠΌ Π½ΡΠΆΠ΅Π½ ΠΌΠ΅ΡΠΎΠ΄ confirm :
ΠΠ°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ ΠΎ Π΄Π΅Π»Π°Ρ
ΠΡΠ΅ ΠΎΠ΄Π½Π° ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ β Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ ΠΎ Π΄Π΅Π»Π°Ρ Π² ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ±ΡΠ°ΡΡ Π΄Π°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΡ β Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ skwas-cordova-plugin-datetimepicker.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΊΠΎΠ΄Π΅:
Π Π΄Π»Ρ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΏΠ»Π°Π³ΠΈΠ½ cordova-plugin-local-notification.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΊΠΎΠ΄Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°:
ΠΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² Google Play
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π³ΠΎΡΠΎΠ²ΠΎ, ΠΎΡΡΠ°Π»ΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ±ΡΠ°ΡΡ Π΅Π³ΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ΅Π½Π°.
Π Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ platforms/android/app/build/outputs/apk Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΡΠ²ΠΈΡΡΡΡ Π½ΠΎΠ²Π°Ρ ΠΏΠ°ΠΏΠΊΠ° release, Π²Π½ΡΡΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π½Π΅ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠΉ apk-ΡΠ°ΠΉΠ».
Π§ΡΠΎΠ±Ρ Π²ΡΠ»ΠΎΠΆΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Π² Google Play, Π΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°ΡΡ.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ»ΡΡ:
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡ Ρ ΠΊΠ»ΡΡΠΎΠΌ:
ΠΠ°ΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΈΠΌΡ ΠΊΠ»ΡΡΠ° ΠΈ Π°Π»ΠΈΠ°Ρ.
ΠΡΡΠ°Π»ΠΎΡΡ Π·Π°ΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Π² Π½ΠΎΠ²ΡΠΉ apk. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΡΠΈΠ»ΠΈΡΠ° zipalign (ΠΎΠ½Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ build-tools Π² Android SDK):
ΠΡΠΎΡ apk-ΡΠ°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π² Google Play ΡΠ΅ΡΠ΅Π· Π²Π°Ρ Π°ΠΊΠΊΠ°ΡΠ½Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°.




































