На Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ Π°Π½Π΄Ρ€ΠΎΠΈΠ΄. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ: ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для iOS ΠΈ Android ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ: ΠΊΠ°ΠΌΠ΅Π½Π½Ρ‹ΠΉ Ρ‚ΠΎΠΏΠΎΡ€ ΠΈΠ»ΠΈ Ρ‚ΠΎΠ½ΠΊΠΈΠΉ соврСмСнный инструмСнт

МногиС программисты хотят Π·Π°Π½ΡΡ‚ΡŒΡΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ Android. Но Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚, ΠΊΠ°ΠΊΠΈΠ΅ шаги здСсь Π½Π°Π΄ΠΎ ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ. Π­Ρ‚Π° ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΠ° ΠΏΡ€ΠΈΠ·Π²Π°Π½Π° ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ Π² освоСнии Android-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹

Новичкам Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ наша .

Для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² Π² Android Google сдСлал Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Android Π½Π° своём сайтС. Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ краудсорсинговый Π³ΠΈΠ΄ ΠΏΠΎ Android . ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π΅ΡΡ‚ΡŒ курс ΠΎΡ‚ Google Π½Π° Udacity.

Если Ρƒ вас Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Android , ΠΊΡ€Π°ΠΉΠ½Π΅ рСкомСндуСтся спСрва ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ StackOverflow . Он создан для ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² Π½Π° тСхничСскиС вопросы ΠΈ Π΄Π°ΠΆΠ΅ являСтся .

Π’Ρ‹ всСгда ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Ρƒ нас Π½Π° сайтС.

FAQ

Π― Ρ…ΠΎΡ‡Ρƒ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ Android. Π‘ Ρ‡Π΅Π³ΠΎ ΠΌΠ½Π΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ?

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈ ваТнСйший шаг Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΠΎΠ΄ Android – это ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Java ΠΈ XML. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅ΡΡŒ ΠΈ с Ρ‚Π΅ΠΌ, ΠΈ с Π΄Ρ€ΡƒΠ³ΠΈΠΌ, ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎ Android ΠΈ ΠΏΡ€ΠΎΠΉΠ΄ΠΈΡ‚Π΅ нСсколько ΡƒΡ€ΠΎΠΊΠΎΠ², ΠΏΠΎΠΊΠ° Π½Π΅ почувствуСтС сСбя достаточно ΡƒΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌ для создания собствСнных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Π£Π΄Π°Ρ‡ΠΈ!

НуТно Π»ΠΈ ΠΌΠ½Π΅ Android-устройство для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ?

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ Android-устройства, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½Ρ‹ΠΉ Π² поставку эмулятор (ΠΈΠ»ΠΈ ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Genymotion). Однако для ΡƒΡ‡Ρ‘Ρ‚Π° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ Π½ΠΈΡ‡Ρ‚ΠΎ Π½Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ тСстированиС Π½Π° настоящСм устройствС.

ΠšΠ°ΠΊΡƒΡŽ IDE ΠΌΠ½Π΅ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ?

  • Android Studio - ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ поддСрТиваСмая IDE для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ Android. ИмСнно ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² соврСмСнных руководствах ΠΈ Π²ΠΈΠ΄Π΅ΠΎ, Π² Ρ‚ΠΎΠΌ числС ΠΈ ΠΎΡ‚ Google.
  • Eclipse Π±Ρ‹Π»Π° основной IDE для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ Android Π½Π° протяТСнии ΠΌΠ½ΠΎΠ³ΠΈΡ… Π»Π΅Ρ‚, поэтому Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… ΡƒΡ€ΠΎΠΊΠΎΠ², рСсурсов, Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ΠΎΠ² сдСланы Π½Π° Π½Π΅ΠΉ.
  • IntelliJ IDEA Π±Ρ‹Π» Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΎΠΉ Eclipse, Π½ΠΎ Π² настоящСС врСмя Ρ€Π°Π·ΡƒΠΌΠ½Π΅Π΅ Π½Π°Ρ‡Π°Ρ‚ΡŒ с Android Studio. Android Studio – это ΠΎΡ‚Π²Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ IntelliJ IDEA, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ всС Π΅Ρ‘ прСимущСства плюс бонусы ΠΏΠΎΠ΄ Android.

ΠœΠΎΠΆΠ΅Ρ‚, ΠΌΠ½Π΅ стоит Π·Π°Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎ Java ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΡƒΡ‡ΠΈΡ‚ΡŒ Kotlin?

Google Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Kotlin ΠΊΠ°ΠΊ язык Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ Android, Π½ΠΎ это Π½Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Java ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π±Ρ‹Ρ‚ΡŒ. Π’ блиТайшСм ΠΎΠ±ΠΎΠ·Ρ€ΠΈΠΌΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ докумСнтация, инструмСнты, Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΠΈΡ‡ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Kotlin, Ρ‚Π°ΠΊ ΠΈ Java. Π₯отя Kotlin - Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΠ»ΠΎΠ΄ΠΎΠΉ язык с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ приятными особСнностями, Π²Ρ‹ всё Π΅Ρ‰Ρ‘ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ прилоТСния Π½Π° Java. Π’Ρ‹Π±ΠΎΡ€ зависит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ вас, Π½ΠΎ Ссли Π²Π°ΠΌ Π½Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΈΠ»ΠΈ Π²Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ, Ρ‚ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π»ΡƒΡ‡ΡˆΠ΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ Kotlin.

РСсурсы

Π—Π΄Π΅ΡΡŒ прСдставлСны основныС рСсурсы ΠΏΠΎ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΠΎΠ΄ Android Π½Π° английском языкС. Π­Ρ‚ΠΎ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ список, Π½ΠΎ достаточный для старта.

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ рСсурсы Android

Π”ΠΈΠ·Π°ΠΉΠ½

  • ΠšΡ€Π°ΡΠΈΠ²ΠΎΡΡ‚ΠΈ для Android – Π²Π΄ΠΎΡ…Π½ΠΎΠ²Π΅Π½ΠΈΠ΅ для создания графичСских интСрфСйсов ΠΏΠΎΠ΄ Android.

Рассылки

ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹

  • Genymotion – ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ эмулятор.
  • Android Asset Studio – отличная коллСкция инструмСнтов для создания/рСдактирования ΠΈΠΊΠΎΠ½ΠΎΠΊ, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ Ρ‚.Π΄.
  • Codota Plug-in для Android Studio – Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° прямо Π² Android Studio.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ open source ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

ИдСи для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Π˜Ρ‚Π°ΠΊ, Ρƒ вас Π΅ΡΡ‚ΡŒ идСя для прилоТСния… Π›ΡŽΠ΄ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь ΠΎΠ± этом ΠΏΠΈΡˆΡƒΡ‚. Но ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ вопросы:

Каков ΠΌΠΎΠΉ Π±ΡŽΠ΄ΠΆΠ΅Ρ‚?

Если Π²Ρ‹ настроСны ΡΠ΅Ρ€ΡŒΡ‘Π·Π½ΠΎ ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Ρ‹ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ свой ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ своём Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π΅. Π”Π°ΠΆΠ΅ Π² случаС простого прилоТСния Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… тысячах Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ². Π₯отя Π±Ρ‹.

Какая Ρƒ мСня маркСтинговая стратСгия?

Π’Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ сарафанноС Ρ€Π°Π΄ΠΈΠΎ ΠΈΠ»ΠΈ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ Π·Π° ΠΈΠ·Π²Π΅ΡΡ‚Π½ΠΎΡΡ‚ΡŒ?

Какой список Π·Π°Π΄Π°Ρ‡ Ρƒ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°?

А Ρ‚Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡ‚ΡŒ ограничСния? Бколько ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²?

ΠžΡ‚ΠΊΡƒΠ΄Π° Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ/Π³Π΄Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π΄Π°Π½Π½Ρ‹Π΅?

А Ρ‚Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ? Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π»ΠΈ Ρƒ мСня ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° приватности?

Π•ΡΡ‚ΡŒ Π»ΠΈ Ρ†Π΅Π»ΡŒ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π΄Π΅Π½Π΅Π³?

Если Π΄Π°, ΠΊΠ°ΠΊ Π²Ρ‹ ΡΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ Π΅Ρ‘ Π΄ΠΎΡΡ‚ΠΈΠ³Π°Ρ‚ΡŒ? Π§Π΅Ρ€Π΅Π· Ρ€Π΅ΠΊΠ»Π°ΠΌΡƒ, IAP , подписки, ΠΏΠ»Π°Ρ‚Π½Ρ‹Π΅ прилоТСния? Всё Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅?

Как Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ вашим Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ?

Π•ΡΡ‚ΡŒ Π»ΠΈ Ρƒ вас ΠΊΠ°ΠΏΠΈΡ‚Π°Π» ΠΈΠ»ΠΈ Π²Ρ‹ ΡΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ ΠΈΠΌ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π°Ρ‡Π½Ρ‘ΠΌ ΠΏΡ€ΠΈΠ½ΠΎΡΠΈΡ‚ΡŒ Π΄ΠΎΡ…ΠΎΠ΄? Часто нСзависимыС ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Π½ΠΈΠΊΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΠΉ стоимости авансом. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² нСинтСрСсно Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΡ…ΠΎΠ΄ΠΎΠ², Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ случаСв, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ сами Π²ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

Какой Π±ΡƒΠ΄Π΅Ρ‚ способ тСстирования?

На ΠΊΠ°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ устройства Π²Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ? Как ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ? ΠšΠ°ΠΊΠΈΡ… людСй Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²ΠΎΠ²Π»Π΅Ρ‡ΡŒ?

Как скоро Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅?

Π­Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ повлияСт Π½Π° ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Π΄ΠΎΡ…ΠΎΠ΄.

Π‘ΡƒΠ΄Π΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ΡŒ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ/ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ с ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ сСтями?

ΠŸΡ€ΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Какова ваша цСлСвая аудитория?

Π­Ρ‚ΠΎ нишСвоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ распространСно ΠΏΠΎΠ²ΡΡŽΠ΄Ρƒ?

Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π»ΠΈ ΡƒΠΆΠ΅ моя идСя?

Если Π΄Π°, ΠΊΠ°ΠΊ я ΠΌΠΎΠ³Ρƒ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ Π΅Ρ‘ ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ Π² Π½Π΅ΠΉ отсутствуСт?

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ с идСями для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ссли Π²Ρ‹ Π½Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ?

Π’Ρ‹, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΡ‰Π΅Ρ‚Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π² Π²Π°ΡˆΡƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ прилоТСния. Если Ρƒ вас Π΅ΡΡ‚ΡŒ дСньги ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ ΠΈΠ»ΠΈ Ρ„ΠΈΡ€ΠΌΠ΅, Ρ‚ΠΎ всё просто ΠΈ понятно. Π”Π°Π»Π΅Π΅ ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Ρƒ вас нСдостаточно Π΄Π΅Π½Π΅Π³, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ.

ΠžΡΠΎΠ·Π½Π°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ ваша идСя ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Π°, Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… усилий.

  • НарисуйтС Π΄ΠΈΠ·Π°ΠΉΠ½ вашСго прилоТСния (внСшний Π²ΠΈΠ΄ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ). Он ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π³Ρ€ΡƒΠ±Ρ‹ΠΌ ΠΈ нарисован Π½Π° Π±ΡƒΠΌΠ°Π³Π΅. Но ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ достаточно ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ, Π° Π½Π΅ Ρ€Π°Π·ΠΌΡ‹Ρ‚Ρ‹ΠΌ.
  • Π‘ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ список своих Π½Π°Π²Ρ‹ΠΊΠΎΠ², связанных с ΠΈΠ΄Π΅Π΅ΠΉ.
  • Π‘ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ список Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π²Π»ΠΎΠΆΠΈΡ‚Π΅ Π² свою идСю.

ΠŸΠΎΠΉΠΌΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… усилий. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ дСнь (8 часов) Π½Π° протяТСнии 2 мСсяцСв, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. И Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ дСнь. Π§Ρ‚ΠΎ Π²Ρ‹ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ Π² это врСмя? Если ваша Ρ€Π°Π±ΠΎΡ‚Π°, ΠΏΠΎ вашим прСдставлСниям, заканчиваСтся Ρ€Π°Π½ΡŒΡˆΠ΅, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ идСю. Π’ этом сцСнарии Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ выполняСт Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΈ Π²Ρ‹, чСстно говоря, бСсполСзны. Π’ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π°Ρ‚ΡŒ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½ΠΎ, Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ особого значСния ΠΈ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠΎΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚.

ΠŸΠ΅Ρ€Π΅ΡΠΌΠΎΡ‚Ρ€ вашСй ΠΈΠ΄Π΅ΠΈ

Если Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ выполняСт большС Ρ€Π°Π±ΠΎΡ‚Ρ‹, Ρ‡Π΅ΠΌ Π²Ρ‹, Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ идСю, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π±ΠΎΠ»Π΅Π΅ справСдливо. Π­Ρ‚ΠΎ даст прСимущСства ΠΎΡ‚ совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° ваш список Π½Π°Π²Ρ‹ΠΊΠΎΠ² ΠΈ ΠΏΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ. Π­Ρ‚ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Ссли ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π΄ΡƒΠΌΠΊΠΈ. ΠŸΠ΅Ρ€Π΅ΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΠΉΡ‚Π΅ Π΅Π³ΠΎ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° количСство вашСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ, Π½Π΅ ΡΡ€Π°Π²Π½ΡΡŽΡ‚ΡΡ.

  • РаспрСдСляйтС Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ справСдливо, насколько это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
  • Π€ΠΎΠΊΡƒΡΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго Π½Π° Π²Π°ΡˆΠΈΡ… Π½Π°Π²Ρ‹ΠΊΠ°Ρ….
  • Π’Π°ΡˆΠ° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ€Π°Π²Π½ΡΡ‚ΡŒΡΡ 2 мСсяцам ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Для простых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ мСньшС. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ сообщСство (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€,

Π­Ρ‚ΠΎΡ‚ ΡƒΡ€ΠΎΠΊ Π½Π°ΡƒΡ‡ΠΈΡ‚ вас основам Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Android ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Android Studio. Устройства Андроид становятся всё Π±ΠΎΠ»Π΅Π΅ распространСнными, спрос Π½Π° Π½ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ всС врСмя Ρ‚ΠΎΠ»ΡŒΠΊΠΎ увСличиваСтся. Android Studio бСсплатная, простая Π² использовании срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Для этого ΡƒΡ€ΠΎΠΊΠ° Π»ΡƒΡ‡ΡˆΠ΅ всСго, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ хотя Π±Ρ‹ повСрхностныС знания языка Java Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это язык ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Android. Π’ ΡƒΡ€ΠΎΠΊΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ слишком ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ я исхоТу ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с Java ΠΈΠ»ΠΈ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΅Ρ‰Π΅ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ прилоТСния Π·Π°ΠΉΠΌΠ΅Ρ‚ 30-60 ΠΌΠΈΠ½ΡƒΡ‚, зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ быстро Π²Ρ‹ скачаСтС ΠΈ установитС всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ПослС знакомства с этим ΡƒΡ€ΠΎΠΊΠΎΠΌ ΠΏΠΎ созданию своСго ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ прилоТСния для Андроид, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ сСбС Π½ΠΎΠ²ΠΎΠ΅ вСсСлоС Ρ…ΠΎΠ±Π±ΠΈ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π½Π°Ρ‡Π½Π΅Ρ‚Π΅ ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Ρƒ ΠΌΠ½ΠΎΠ³ΠΎΠΎΠ±Π΅Ρ‰Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Π­Ρ‚Π°ΠΏ 1: УстанавливаСм Android Studio

  1. НСобходимо ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ JDK (Java Development Kit ) ΠΈ JRE (Java Runtime Environment). Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ этой ссылкС . Π’Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ Ρ‚Π°ΠΌ Π²Π΅Ρ€ΡΠΈΡŽ для вашСй ОБ, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΎΠ½Π½ΠΎΠ΅ соглашСниС, скачиваСтС ΠΈ устанавливаСтС.
  2. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΈΠ΄Π΅ΠΌ сюда http://developer.android.com/sdk/index.html ΠΈ скачиваСм (остороТно, придСтся ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΎΠΊΠΎΠ»ΠΎ 3 Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚).
  3. ЗапускаСм установку ΠΈ слСдуСм инструкциям.

Π­Ρ‚Π°ΠΏ 2: Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

  1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Android Studio.
  2. Π’ мСню Β«Quick Start Β», Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«Start a new Android Studio project Β».
  3. Π’ ΠΎΠΊΠ½Π΅ Β«Create New Project Β» (ΠΎΠΊΠ½ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π»ΠΎΡΡŒ), Π½Π°Π·ΠΎΠ²ΠΈΡ‚Π΅ ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Β«HelloWorld Β».
  4. НазваниС компании по ТСланию.*
  5. НаТмитС Β«Next Β».
  6. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π³Π°Π»ΠΎΡ‡ΠΊΠ° стоит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Β«Phone and Tablet Β».
  7. Если Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ своё ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° вашСм Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π΅, Ρ‚ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ вСрсия Андроид (Π½Π΅ ΡΡ‚Π°Ρ€ΡˆΠ΅ Ρ‚ΠΎΠΉ, Ρ‡Ρ‚ΠΎ Π½Π° Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π΅).
  8. НаТмитС Β«Next Β».
  9. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Β«Blank Activity Β».
  10. НаТмитС Β«Next Β».
  11. ΠžΡΡ‚Π°Π²ΡŒΡ‚Π΅ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ поля ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π΅ΡΡ‚ΡŒ.
  12. НаТмитС Β«Finish Β».

*Π’ΠΈΠΏΠΎΠ²ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ для Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Β«example.name.here.comΒ».

Π­Ρ‚Π°ΠΏ 3: Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ привСтствиС

  1. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ activity _main .xml , скорСС всСго ΠΎΠ½Π° ΡƒΠΆΠ΅ Π°ΠΊΡ‚ΠΈΠ²Π½Π°.
  2. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Π½ΠΈΠ·Ρƒ экрана Π°ΠΊΡ‚ΠΈΠ²Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ° Design (скорСС всСго это Ρ‚Π°ΠΊ).
  3. ΠŸΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΡ‚Π΅ ΠΌΡ‹ΡˆΠΊΠΎΠΉ Ρ„Ρ€Π°Π·Ρƒ Β«Hello , World ! Β» ΠΈΠ· Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ ΡƒΠ³Π»Π° Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π° Π² Ρ†Π΅Π½Ρ‚Ρ€ экрана.
  4. Π’ Π»Π΅Π²ΠΎΠΉ части экрана находится Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΏΠ°ΠΏΠΎΠΊ. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«values Β».
  5. Π’ этой ΠΏΠ°ΠΏΠΊΠ΅ Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π½Π° Ρ„Π°ΠΉΠ» Β«strings .xml Β».
  6. Π’ этом Ρ„Π°ΠΉΠ»Π΅ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ строчку ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ тСкст Β«Hello world! Β» ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΊ этому тСксту Β«Welcome to my app ! Β».
  7. Π’Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Β«activity _main .xml Β».
  8. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ваш тСкст находится ΠΏΠΎ Ρ†Π΅Π½Ρ‚Ρ€Ρƒ экрана Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π° ΠΈ содСрТит тСкст Β«Hello world ! Welcome to my app ! Β».

Π­Ρ‚Π°ΠΏ 4: ДобавляСм ΠšΠ½ΠΎΠΏΠΊΡƒ

  1. На Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«activity _main .xml Β» Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π²Π½ΠΈΠ·Ρƒ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Β«Design Β».
  2. Π’ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ слСва ΠΎΡ‚ ΠΎΠΊΠ½Π°, Π³Π΄Π΅ находится Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½, Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«Widgets Β». Π’Π°ΠΌ находятся Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
  3. Π’ΠΎΠ·ΡŒΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Button Β» ΠΈ ΠΏΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΡ‚Π΅ Π΅Ρ‘ Π½Π° экран Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°. Она Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΏΠΎ Ρ†Π΅Π½Ρ‚Ρ€Ρƒ экрана прямо ΠΏΠΎΠ΄ вашим тСкстом.
  4. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ° всС Π΅Ρ‰Π΅ Π²Ρ‹Π±Ρ€Π°Π½Π° (синяя Ρ€Π°ΠΌΠΊΠ° Π²ΠΎΠΊΡ€ΡƒΠ³ Π½Π΅Ρ‘).
  5. Π’ Π½ΠΈΠΆΠ½Π΅ΠΌ ΠΏΡ€Π°Π²ΠΎΠΌ ΡƒΠ³Π»Ρƒ Π΅ΡΡ‚ΡŒ окошко со свойствами Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠŸΡ€ΠΎΠΌΠΎΡ‚Π°ΠΉΡ‚Π΅ Π²Π½ΠΈΠ· ΠΈ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ строчку ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«text Β».
  6. ΠŸΠΎΠΌΠ΅Π½ΡΠΉΡ‚Π΅ тСкст Β«New Button Β» Π½Π° Β«Next Page Β».

Π­Ρ‚Π°ΠΏ 5: Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ Second Activity

  1. Π’ Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части Π΄Π΅Ρ€Π΅Π²Π° Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«app Β».
  2. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ New > Activity > Blank Activity .
  3. Π’ появившСмся ΠΎΠΊΠ½Π΅ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ строчкС Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Β«SecondActivity Β».
  4. НаТмитС Β«Finish Β».
  5. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Β«activity _second .xml Β» ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Π½ΠΈΠ·Ρƒ Π²Ρ‹Π±Ρ€Π°Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ° Β«Design Β».
  6. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ тСкст ΠΈΠ· Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡƒΠ³Π»Π° Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π° Π² Ρ†Π΅Π½Ρ‚Ρ€ экрана, ΠΊΠ°ΠΊ ΠΌΡ‹ Π΄Π΅Π»Π°Π»ΠΈ Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΡˆΠ°Π³Π°Ρ….
  7. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ тСкстовый Π±Π»ΠΎΠΊ всС Π΅Ρ‰Π΅ Π²Ρ‹Π±Ρ€Π°Π½ (синяя Ρ€Π°ΠΌΠΊΠ°) ΠΈ Π² Π½ΠΈΠΆΠ½Π΅ΠΌ ΠΏΡ€Π°Π²ΠΎΠΌ ΡƒΠ³Π»Ρƒ свойств ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ строчку Β«id Β» ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Ρ‚ΡƒΠ΄Π° Β«text 2 Β».
  8. Π’ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ Π»Π΅Π²ΠΎΠΌ ΡƒΠ³Π»Ρƒ (Π² Π΄Π΅Ρ€Π΅Π²Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°) снова Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚Π΅ Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ Β«strings .xml Β».
  9. Под строчкой Hello world! Welcome to my app!

    Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку

    Welcome to the second page!

  10. Π’Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Β«activity_second.xml Β».
  11. Π‘Π½ΠΎΠ²Π° Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ тСкстовый Π±Π»ΠΎΠΊ.
  12. Π’ Π½ΠΈΠΆΠ½Π΅ΠΌ ΠΏΡ€Π°Π²ΠΎΠΌ ΡƒΠ³Π»Ρƒ Π² свойствах ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ строчку Β«text Β» ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Ρ‚ΡƒΠ΄Π° Β«@ string /second _page Β».
  13. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ Ρ‡Ρ‚ΠΎ Π² тСкстовом ΠΏΠΎΠ»Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ написано Β«Welcome to the second page ! Β» ΠΈ Π±Π»ΠΎΠ³ располагаСтся Π² Ρ†Π΅Π½Ρ‚Ρ€Π΅ экрана.

Π­Ρ‚Π°ΠΏ 6: ΠŸΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌ дСйствиС для ΠΊΠ½ΠΎΠΏΠΊΠΈ


Π­Ρ‚Π°ΠΏ 7: ВСстируСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

  1. На ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части ΠΎΠΊΠ½Π° Android Studio Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° Π·Π΅Π»Π΅Π½Ρ‹ΠΉ символ воспроизвСдСния.
  2. Π’ ΠΎΠΊΠ½Π΅ Β«Choose Device Β» Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡƒΠ½ΠΊΡ‚ Β«Launch emulator Β» ΠΈ Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚Π΅ устройство.
  3. НаТмитС Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«OK Β».
  4. Когда эмулятор запустится (это ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя) ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ автоматичСски откроСтся Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ устройствС.
  5. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ Ρ‡Ρ‚ΠΎ вСсь тСкст отобраТаСтся ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ вас ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ страницС.

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ : Если Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ сообщСниС Β«HAX kernel module is not installed! Β», Ρ‚ΠΎ Ρ‚ΡƒΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½ΡƒΡŽ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ лишь соврСмСнныС процСссоры Intel ΠΈ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ лишь Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Ρ‘ Π² BIOS. Если ΠΆΠ΅ Ρƒ вас процСссор, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π΄Π°Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π²Π°ΠΌ придСтся ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π΅ ΠΈΠ»ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅ встроСнным, Π° сторонним эмулятором.

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ».apk Π² Android Studio

На ΠΌΠΎΠΉ взгляд, этот вопрос Ρ…ΠΎΡ€ΠΎΡˆΠΎ освСщСн Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π΅ Π±ΡƒΠ΄Ρƒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒΡΡ. НаиболСС простым для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΡƒΡ€ΠΎΠΊΠ° ΠΌΠ½Π΅ показался Π ΡƒΡ‡Π½ΠΎΠΉ способ .

Когда Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ», Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π° свой Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

Π­Ρ‚Π°ΠΏ 8: Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚

ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΡŽ! Π’Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»ΠΈ написаниС своСго ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Android-прилоТСния с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ основными Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ возмоТностями. Π“ΠΎΡ‚ΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ страницу привСтствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΡƒ, которая ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π° Π²Ρ‚ΠΎΡ€ΡƒΡŽ страницу.

Π’Ρ‹ Π±Π΅Π³Π»ΠΎ познакомились с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ±ΡƒΠ΄ΠΈΠ»ΠΈ Π² сСбС ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ всС, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² дальнСйшСм Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ этому Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ.

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ мобильноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Android Studio

Android Studio - интСгрированная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (IDE) Π½Π° Π±Π°Π·Π΅ IntelliJ IDEA , ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Google Π½Π°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ IDE для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Android.

Π’ этом руководствС описана Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для android :

  • Навигация ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ°
  • Установка Ρ„Π°ΠΉΠ»Π° AndroidManifest.xml
  • Π˜ΠΌΠΏΠΎΡ€Ρ‚ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚
  • Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠ² с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ динамичСского ΠΏΡ€Π΅Π²ΡŒΡŽ
  • ИспользованиС Logcat ΠΈ Android Monitor для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Android Studio

ЗапуститС Android Studio, Π² ΠΎΠΊΠ½Π΅ Android Studio Setup Wizard Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Start a new Android Studio project (Π½Π°Ρ‡Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚).

Π’ ΠΎΠΊΠ½Π΅ Create New Project Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Application Name (Π½Π°Π·Π²Π°Π½ΠΈΠ΅ прилоТСния) ΠΊΠ°ΠΊ Fortune ball (Β«Π¨Π°Ρ€ Ρ„ΠΎΡ€Ρ‚ΡƒΠ½Ρ‹Β»), Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π΄ΠΎΠΌΠ΅Π½ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ; Π² ΠΏΠΎΠ»Π΅ Project location Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ мСсто Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ сохранСно. ΠšΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Next .

ΠŸΠ΅Ρ€Π΅Π΄ Π²Π°ΠΌΠΈ ΠΎΠΊΠ½ΠΎ Target Android Devices . Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Phone and Tablet . Π’ ΠΏΠΎΠ»Π΅ Minimum SDK ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ API 15 . НаТмитС Next .

Π’ ΠΎΠΊΠ½Π΅ Add an activity to Mobile Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Basic Activity . ΠžΡ†Π΅Π½ΠΈΡ‚Π΅ всС ΠΎΠΏΡ†ΠΈΠΈ, Π² этом ΠΎΠΊΠ½Π΅ прСдставлСн ΠΎΠ±Π·ΠΎΡ€ доступных ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

ΠšΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Next .

Π’ ΠΎΠΊΠ½Π΅ Customize the Activity , ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ Π½ΠΈΠΆΠ΅, Π²Ρ‹ смоТСтС ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Activity Name (Π½Π°Π·Π²Π°Π½ΠΈΠ΅ активности), Layout Name (Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠ°ΠΊΠ΅Ρ‚Π°), Title (ΠΎΠ±Ρ‰Π΅Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅) ΠΈ Menu Resource Name (Π½Π°Π·Π²Π°Π½ΠΈΠ΅ мСню рСсурсов). ΠžΡΡ‚Π°Π²ΡŒΡ‚Π΅ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Finish .

Π§Π΅Ρ€Π΅Π· нСсколько сСкунд появится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ:

На вашСм устройствС ΠΈΠ»ΠΈ эмуляторС высвСтится Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ΅ ΠΎΠΊΠ½ΠΎ. Эмулятор Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠ°ΠΊ устройство, Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π·Π°ΠΉΠΌΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ врСмя.

Π­Ρ‚ΠΎ ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π•ΠΌΡƒ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚, Π½ΠΎ сСйчас ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΡˆΠ°Π³Ρƒ.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Ρ„Π°ΠΉΠ»Π°

Окно ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π’ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΌ мСню (ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ Π½ΠΈΠΆΠ΅) Π΅ΡΡ‚ΡŒ нСсколько Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ² для Ρ„Π°ΠΉΠ»ΠΎΠ². ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ - Project ΠΈ Android.

Π€ΠΈΠ»ΡŒΡ‚Ρ€ Project ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ всС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ прилоТСния - Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ присутствуСт ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. Π‘Ρ€Π΅Π΄ΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² Π΅ΡΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ сторонних Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Android (Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ прилоТСния для Android Wear, Android TV). Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ имССтся свой Π½Π°Π±ΠΎΡ€ характСристик, Π² Ρ‚. Ρ‡. Ρ„Π°ΠΉΠ» gradle, рСсурсы ΠΈ исходныС Ρ„Π°ΠΉΠ»Ρ‹ (java-Ρ„Π°ΠΉΠ»Ρ‹).

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Если ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚, ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Project Π½Π° Π»Π΅Π²ΠΎΠΉ сторонС ΠΏΠ°Π½Π΅Π»ΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π΅. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ установлСн Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ Android, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ. На Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°ΠΏΠΊΠΈ:

  • manifests
  • Gradle Scripts

Π’ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описаны всС эти ΠΏΠ°ΠΏΠΊΠΈ, начиная с manifests.

ΠžΠ±Π·ΠΎΡ€ AndroidManifest.xml

Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ прилоТСния ΠΏΠΎΠ΄ Android Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ» AndroidManifest.xml, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ находится Π² ΠΏΠ°ΠΏΠΊΠ΅ manifests. Π­Ρ‚ΠΎΡ‚ XML-Ρ„Π°ΠΉΠ» сообщаСт вашСй систСмС ΠΎ трСбованиях прилоТСния. ΠŸΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ этого Ρ„Π°ΠΉΠ»Π° ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‚. ΠΊ. ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ позволяСт систСмС Android ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ manifests ΠΈ AndroidManifest.xml. Π”Π²ΠΎΠΉΠ½ΠΎΠΉ ΠΊΠ»ΠΈΠΊ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ Ρ„Π°ΠΉΠ».

Π’Π΅Π³ΠΈ manifest ΠΈ application Π½ΡƒΠΆΠ½Ρ‹ для manifest, ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‚Π΅Π³ Ρ‚Π°ΠΊΠΆΠ΅ опрСдСляСт Π½Π°Π±ΠΎΡ€ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ², наряду с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ элСмСнта. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ Π² application ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠΌΠΈ:

android:icon, android:label ΠΈ android:theme

Π‘Ρ€Π΅Π΄ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ Π² manifest ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ:

  • uses-permission: Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ выдаСтся ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ сСти - Π² случаС, Ссли Π²Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ android.permission.INTERNET.
  • activity: сообщаСт ΠΎΠ± активности, которая частично ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ UI ΠΈ Π»ΠΎΠ³ΠΈΠΊΡƒ. Π›ΡŽΠ±Π°Ρ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ, которая прСдусмотрСна Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Π΄ΠΎΠ»ΠΆΠ½Π° Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒΡΡ Π² manifest - Π½Π΅ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π½ΡƒΡŽ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ систСма Π½Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚, ΠΈ ΠΎΠ½Π° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.
  • service: добавляСт сСрвис, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ API с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ прилоТСниями. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ сСтСвой Π²Ρ‹Π·ΠΎΠ², с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ активностСй, Ρƒ сСрвисов Π½Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… интСрфСйсов.
  • receiver: благодаря ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΡƒ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ²Π΅Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… сообщСний ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ сигналы ΠΎ систСмных сообщСниях ΠΈΠ»ΠΈ сообщСниях Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π΄Π°ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ прилоТСния Π½Π΅ Π·Π°ΠΏΡƒΡ‰Π΅Π½Ρ‹. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΎΠΉ ситуации - батарСя с Π½ΠΈΠ·ΠΊΠΈΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ заряда ΠΈ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΎΠ± этом ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.

ΠŸΠΎΠ»Π½Ρ‹ΠΉ список Ρ‚Π΅Π³ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² manifest-Ρ„Π°ΠΉΠ»Π΅ Π½Π° сайтС Android Developer.

Настройки Ρ„Π°ΠΉΠ»Π° Manifest

Π’ activity Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚:

android:screenOrientation=”portrait”. Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ экран Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ€Ρ‚Ρ€Π΅Ρ‚Π½Ρ‹ΠΌ Ρ€Π΅ΠΆΠΈΠΌΠΎΠΌ. Если этого Π½Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, экран, Π² зависимости ΠΎΡ‚ располоТСния устройства, Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈΠ±ΠΎ Π² Π»Π°Π½Π΄ΡˆΠ°Ρ„Ρ‚Π½ΠΎΠΌ, Π»ΠΈΠ±ΠΎ Π² ΠΏΠΎΡ€Ρ‚Ρ€Π΅Ρ‚Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. ПослС добавлСния Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° Ρ„Π°ΠΉΠ» manifest Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊ Π½Π° ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π΅.

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΈ запуститС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Если Π²Ρ‹ тСстируСтС Π½Π° своСм устройствС, ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ Π΅Π³ΠΎ, ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ экран Π½Π΅ пСрСмСщаСтся Π² Π»Π°Π½Π΄ΡˆΠ°Ρ„Ρ‚Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ, Ссли Π²Ρ‹ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ»ΠΈ эту Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π² Ρ„Π°ΠΉΠ»Π΅ AndroidManifest.

ΠžΠ±Π·ΠΎΡ€ Gradle

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ Gradle. Gradle ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Android-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² инсталируСмый APK, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π½Π° устройства. Π€Π°ΠΉΠ» build.gradle присутствуСт Π² Gradle scripts, Π½Π° Π΄Π²ΡƒΡ… уровнях: ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠΌ ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π½ΠΎΠΌ.

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» build.gradle (Module:app). Π’Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ установку gradle ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:

apply plugin: "com.android.application" android {compileSdkVersion 25buildToolsVersion "25.0.2"defaultConfig {applicationId "com.raywenderlich.fortuneball"minSdkVersion 15targetSdkVersion 25versionCode 1versionName "1.0"testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"}}} dependencies {compile fileTree(dir: "libs", include: ["*.jar"])androidTestCompile("com.android.support.test.espresso:espresso-core:2.2.2", {exclude group: "com.android.support", module: "support-annotations"})compile "com.android.support:appcompat-v7:25.1.0"compile "com.android.support:design:25.1.0"testCompile "junit:junit:4.12"}

Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ основныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹:

  • apply plugin: β€˜com.android.application’ примСняСт ΠΏΠ»Π°Π³ΠΈΠ½ Android Π½Π° Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΈ обСспСчиваСт Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½Ρ‹ для создания прилоТСния.
  • Рядом с Ρ€Π°Π·Π΄Π΅Π»ΠΎΠΌ android{…} находятся ΠΎΠΏΡ†ΠΈΠΈ настроСк, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ targetSdkVersion. Π¦Π΅Π»Π΅Π²ΠΎΠΉ SDK для вашСго прилоТСния Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° новСйшСм ΡƒΡ€ΠΎΠ²Π½Π΅ API. Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ - minSDKVersion (опрСдСляСт ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ SDK, которая Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ установлСна Π½Π° устройствС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ). К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Ссли вСрсия SDK 14, Ρ‚ΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π° этом устройствС, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ случаС минимальная поддСрТиваСмая вСрсия 15.
  • ПослСдний ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ - dependencies{…}. НСобходимо ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ compile β€˜com.android.support:appcompat-v7:VERSION’ ΠΈ compile β€˜com.android.support:design:VERSION’. Они ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ особСнностСй Π½ΠΎΠ²Ρ‹Ρ… ΠΈ старых API.

ΠšΡ€ΠΎΠΌΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ совмСстимости Android, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ сторонних Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ dependencies{…} Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, содСрТит эффСкты ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса. НайдитС dependencies, Π·Π°Ρ‚Π΅ΠΌ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π²Π½ΠΈΠ· Π΄Π²Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π»ΠΈΠ½ΠΈΠΈ:

dependencies { ... compile "com.daimajia.easing:library:2.0@aar"compile "com.daimajia.androidanimations:library:2.2@aar"}

Π—Π΄Π΅ΡΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ dependencies сторонних Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ автоматичСски Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Android Studio. ΠšΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Sync Now, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эти зависимости Π² своС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

Бинхронизация длится нСсколько сСкунд. ОбновлСния Gradle ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Messages Π½ΠΈΠΆΠ½Π΅ΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ.

Π­Ρ‚ΠΎ всС настройки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ ΠΏΠΎΠΊΠ° Π±ΡƒΠ΄ΡƒΡ‚ Π½ΡƒΠΆΠ½Ρ‹ Π² Gradle. Π’Π°ΠΊΠΈΠ΅ манипуляции добавят Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

Π˜ΠΌΠΏΠΎΡ€Ρ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²

Π’ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ прилоТСния ΠΏΠΎΠ΄ Android Π²Π°ΠΆΠ½Π° интСграция с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ рСсурсами: изобраТСния, кастомныС ΡˆΡ€ΠΈΡ„Ρ‚Ρ‹, Π·Π²ΡƒΠΊΠΈ, Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΠΏΡ€. Π­Ρ‚ΠΈ рСсурсы ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Android Studio ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°ΠΏΠΊΠΈ, Ρ‡Ρ‚ΠΎ позволяСт ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС ΠΏΠΎΠ΄Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ рСсурсы для прилоТСния. Для нашСго прилоТСния Fortune Ball понадобится ΠΈΠΌΠΏΠΎΡ€Ρ‚ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΏΠ°ΠΏΠΊΠΈ drawable. Π’ этих ΠΏΠ°ΠΏΠΊΠ°Ρ… ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ изобраТСния ΠΈΠ»ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ XML drawables (Ρ‚. Π΅. Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ XML-ΠΊΠΎΠ΄Π° ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² своих ΠΌΠ°ΠΊΠ΅Ρ‚Π°Ρ…).

Π’ Android Studio ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΈΠ· Android Π² Project

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ res (app > src > main). Клик ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡ‹ΡˆΠΈ ΠΏΠΎ ΠΏΠ°ΠΏΠΊΠ΅ res, Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ New > Android resource directory.

ΠŸΠΎΡΠ²ΠΈΡ‚ΡΡ ΠΎΠΊΠ½ΠΎ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ New Resource Directory.

Из Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка Resource type Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΎΠΏΡ†ΠΈΡŽ drawable. Π’ спискС Available qualifiers Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Density, Π·Π°Ρ‚Π΅ΠΌ ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ, которая Π²Ρ‹Π΄Π΅Π»Π΅Π½Π° Π½Π° ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π΅.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΎΠΊΠ½Π΅ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ XX-High Density ΠΈΠ· списка Density. ΠšΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ OK.

ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ всС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΠΈ drawable-xhdpi, drawable-hdpi ΠΈ drawable-mdpi. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ X-High, high (Π²Ρ‹ΡΠΎΠΊΡƒΡŽ) ΠΈ medium (ΡΡ€Π΅Π΄Π½ΡŽΡŽ) ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ соотвСтствСнно ΠΈΠ· списка Density.

КаТдая ΠΏΠ°ΠΏΠΊΠ°, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΅ΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ плотности (i.e. xxhdpi, xhdpi, hdpi), содСрТит изобраТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ соотносятся с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ»ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΏΠ°ΠΏΠΊΠ° drawable-xxhdpi содСрТит ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ высокой плотности, это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Android-устройство с экраном высокого Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Ρ‚ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· этой ΠΏΠ°ΠΏΠΊΠΈ. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒΡΡ Π½Π° всСх устройствах Android, нСзависимо ΠΎΡ‚ качСства экрана. Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ плотности экранов содСрТится Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Android.

Π‘ΠΎΠ·Π΄Π°Π² всС «рисованныС» ΠΏΠ°ΠΏΠΊΠΈ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΊ нСраспакованному ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Ρƒ Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΈ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ (cmd + C) ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ ΠΈ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ (cmd + V) Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ Android Studio.

ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΠ² Ρ„Π°ΠΉΠ»Ρ‹, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΎΠΊΠ½ΠΎ Copy. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ OK.

XML View ΠΈ Dynamic Layout Previews

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°ΠΊΠ΅Ρ‚Π°, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ, - ваТная Ρ‡Π°ΡΡ‚ΡŒ процСсса. Π’ Android Studio это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΠΌΠ°ΠΊΠ΅Ρ‚Π°. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ content_main.xml ΠΈΠ· res/layout. Π’ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Design Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ элСмСнты интСрфСйса (ΠΊΠ½ΠΎΠΏΠΊΠΈ, тСкстовыС поля).

Π‘ΠΏΡ€Π°Π²Π° ΠΎΡ‚ Design Π΅ΡΡ‚ΡŒ Π²ΠΊΠ»Π°Π΄ΠΊΠ° Text, которая позволяСт Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ XML нСпосрСдствСнно Π² ΠΌΠ°ΠΊΠ΅Ρ‚Π΅.

ΠŸΠ΅Ρ€Π΅Π΄ созданиСм внСшнСго Π²ΠΈΠ΄Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ значСния. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ strings.xml Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ res/values ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Suggest the question, which you can answer β€œyes” or β€œno”, then click on the magic ball.

strings.xml содСрТит всС строки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ этих строк Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, Ρ‚.ΠΊ. Π½ΡƒΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„Π°ΠΉΠ» строк для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ языка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ трСбуСтся Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π”Π°ΠΆΠ΅ Ссли Π²Ρ‹ Π½Π΅ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» строк всСгда рСкомСндуСтся.

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ dimens.xml Π² res/values ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

15sp20sp

dimens.xml содСрТит Ρ€Π°Π·ΠΌΠ΅Ρ€Π½Ρ‹Π΅ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹, ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Ρ‹ для ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Ρ€Π°Π·ΠΌΠ΅Ρ€Π° тСкста ΠΈ ΠΏΡ€. РСкомСндуСтся ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ эти Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ„Π°ΠΉΠ»Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² дальнСйшСм.

Π’Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ Π² content_main.xml ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ всС содСрТимоС Ρ„Π°ΠΉΠ»Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ:

Π­Ρ‚ΠΎΡ‚ довольно большой ΠΊΠΎΠ΄ создаСт ΠΌΠ°ΠΊΠ΅Ρ‚ прилоТСния ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ FortuneBall. На Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ Π²Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ RelativeLayout (ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° опрСдСляСт ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°). RelativeLayout ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡ‚ΡΠ½ΡƒΡ‚ΡŒ, ΠΏΠΎΠ΄ΠΎΠ³Π½Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°.

Π’ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π΄Π²Π΅ части тСкста, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ°. ВсС эти Π΄Π΅Ρ‚Π°Π»ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΈΠ΄Π½Ρ‹ Π² порядкС добавлСния. Π˜Ρ… содСрТимоС ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² strings.xml (тСкст) ΠΈ Π² drawable (изобраТСния).

Обновляя content_main.xml, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΎΠΊΠ½ΠΎ Preview обновляСт UI:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Ссли Π½Π΅ Π²ΠΈΠ΄Π½ΠΎ ΠΎΠΊΠ½ΠΎ прСдпросмотра, Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Text ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Preview Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ справа.

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΈ запуститС.

И Π²ΠΎΡ‚ Π²Ρ‹ создали ΠΌΠ°ΠΊΠ΅Ρ‚ прилоТСния. Но Π½Π° Π΄Π°Π½Π½ΠΎΠΌ этапС это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ красивоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ - ΠΊΠ»ΠΈΠΊ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π½ΠΈ ΠΊ Ρ‡Π΅ΠΌΡƒ Π½Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚.

ОбъСдиняСм Activity и View

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ java-Ρ„Π°ΠΉΠ»Ρ‹, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹Π΅ Π² app / src / main / java Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ логичСскиС связи Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ MainActivity.java ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ эти Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ΄ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅:

Import java.util.Random;import android.view.View;import android.widget.Button;import android.widget.ImageView;import android.widget.TextView; import com.daimajia.androidanimations.library.Techniques;import com.daimajia.androidanimations.library.YoYo;

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ ΠΏΡΡ‚ΡŒ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΎΠ² ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ классы Π² вашСм ΠΊΠΎΠ΄Π΅: Random, View, Button, ImageView ΠΈ TextView. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π²Π° ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π²Π° класса ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Π² Ρ‚.Ρ‡. build.gradle для Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΉ. Π’ MainActivity.java Π² класс MainActivity Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅:

String fortuneList = {"Don’t count on it","Ask again later","You may rely on it","Without a doubt","Outlook not so good","It"s decidedly so","Signs point to yes","Yes definitely","Yes","My sources say NO"}; TextView mFortuneText;Button mGenerateFortuneButton;ImageView mFortuneBallImage;

Π’ этом нСбольшом ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ΅ ΠΊΠΎΠ΄Π° Π²Ρ‹ установили 4 ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… для активности. ΠŸΠ΅Ρ€Π²Π°Ρ - строки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ состояния, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚Ρ€ΠΈ - элСмСнты UI, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ создали Π² ΠΌΠ°ΠΊΠ΅Ρ‚Π΅/Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ΅.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ содСрТимоС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° onCreate() ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ:

// 1:super.onCreate(savedInstanceState);// 2:setContentView(R.layout.activity_main);Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);setSupportActionBar(toolbar);// 3:mFortuneText = (TextView) findViewById(R.id.fortuneText);mFortuneBallImage = (ImageView) findViewById(R.id.fortunateImage);mGenerateFortuneButton = (Button) findViewById(R.id.fortuneButton); // 4:mGenerateFortuneButton.setOnClickListener(new View .OnClickListener() {@Overridepublic void onClick(View view) {// 5:int index = new Random ().nextInt(fortuneList.length);mFortuneText.setText(fortuneList);// 6:YoYo.with(Techniques.Swing).duration(500).playOn(mFortuneBallImage);}});

  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Π° (рСализация супСркласса).
  • Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΌΠ°ΠΊΠ΅Ρ‚ для Π΄Π°Π½Π½ΠΎΠΉ активности прСдставлСн ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ создали Ρ€Π°Π½Π΅Π΅, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ панСль инструмСнтов.
  • Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ значСния Ρ‚Ρ€Π΅Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ создали ΠΏΡ€Π΅ΠΆΠ΄Π΅ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… views ΠΌΠ°ΠΊΠ΅Ρ‚Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° findViewById. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ id Ρ‚ΠΎ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ Π² ΠΌΠ°ΠΊΠ΅Ρ‚Π΅ XML.
  • Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ OnClickListener Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅. Π­Ρ‚ΠΎ простой класс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ инкапсулируСт (ΡƒΠΏΠ°ΠΊΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚) Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
  • Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° fortuneList для Π΄Π°Π½Π½ΠΎΠ³ΠΎ прилоТСния, ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ тСкст fortune text, Ρ‡Ρ‚ΠΎΠ±Ρ‹ это ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ.
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ сторонних Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ Π² Ρ„Π°ΠΉΠ» gradle, ΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

Π£ΠΆΠ΅ ΠΏΠΎΡ‡Ρ‚ΠΈ Π³ΠΎΡ‚ΠΎΠ²ΠΎ. Но Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΠ»Π°Π²Π°ΡŽΡ‰ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² res / layout ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ activity_main.xml.

Π’ этом Ρ„Π°ΠΉΠ»Π΅ ΠΌΠ°ΠΊΠ΅Ρ‚Π° содСрТится ссылка Π½Π° content_main.xml, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ. Он ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ опрСдСляСт ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ (Ρ‚ΡƒΠ»Π±Π°Ρ€ ΠΈ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° дСйствия). Однако Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ (Fortune Ball) ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π΅ Π½ΡƒΠΆΠ½Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΡƒΠ±Π΅Ρ€ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΈΠ· xml-Ρ„Π°ΠΉΠ»Π°:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΠ³Π»Ρƒ Π½Π΅Ρ‚ ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ.

Π—Π°Π΄Π°ΠΉΡ‚Π΅ вопрос (What’s my fortune?) - Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ прилоТСния.

Android Monitor

Π’ Android Studio содСрТится ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ мноТСство инструмСнтов. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Android Monitor Π² Π½ΠΈΠΆΠ½Π΅ΠΉ части ΠΎΠΊΠ½Π° Android Studio.

Π—Π΄Π΅ΡΡŒ Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ мноТСство ΠΎΠΏΡ†ΠΈΠΉ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.

  • ΠšΠ°ΠΌΠ΅Ρ€Π° ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° play слСва ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π΄Π΅Π»Π°Ρ‚ΡŒ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Ρ‹ ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π²ΠΈΠ΄Π΅ΠΎ.
  • Π£Π²Π΅Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ стСкло ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ряд Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΡ†ΠΈΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π°Π½Π°Π»ΠΈΠ· памяти прилоТСния.
  • Layout Inspector прСдоставляСт Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ интСрфСйс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт, ΠΏΠΎΡ‡Π΅ΠΌΡƒ интСрфСйс прилоТСния выглядит ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

LogCat прСдоставляСт Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±Π·ΠΎΡ€ систСмных сообщСний с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Π²Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π² Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ прилоТСния, ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ строку поиска, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ сообщСния, Ссли ΠΎΠ½ΠΈ Π½Π΅ содСрТат спСцифичСских символов.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ Show only selected application Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΠ³Π»Ρƒ, ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Π΅ Π²Ρ‹ΡˆΠ΅. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΈΠ΄Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сообщСния вашСго прилоТСния.

Π’ MainActivity.java Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΊ списку ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΎΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Import android.util.Log;

Π’ ΠΊΠΎΠ½Ρ†Π΅ onCreate() Π² MainActivity.java Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ линию:

Log.v("FORTUNE APP TAG","onCreateCalled");

Log.v Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π΄Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° - Ρ‚Π΅Π³ ΠΈ сообщСниС. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Ρ‚Π΅Π³ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΊΠ°ΠΊ β€œFORTUNE APP TAG”, Π° сообщСниС ΠΊΠ°ΠΊ β€œonCreateCalled”.

ЗапуститС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ сообщСниС Π»ΠΎΠ³Π° Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Logcat.

ΠžΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠΉΡ‚Π΅ содСрТимоС LogCat, Π²ΠΏΠΈΡˆΠΈΡ‚Π΅ onCreateCalled Π² ΠΏΠΎΠΈΡΠΊΠΎΠ²ΡƒΡŽ строку Π½Π°Π΄ консолью:

Π—Π°Ρ‚Π΅ΠΌ ΡƒΠ΄Π°Π»ΠΈΡ‚Π΅ поисковый тСкст, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ снова всС сообщСния Π»ΠΎΠ³Π°.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° полСзная функция - logcat, это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ сообщСния ΠΎΠ± ошибкС. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π±Π°Π³ Π² своС Π²ΠΏΠΎΠ»Π½Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ всС устроСно.

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ MainActivity.java ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ линию Π² onCreate():

//mFortuneText = (TextView) findViewById(R.id.fortuneText);

ЗапуститС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠšΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ What’s My Fortune? НС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚!

Как Π±Ρ‹ Π²Ρ‹ исправили ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ссли Π±Ρ‹ Π½Π΅ Π·Π½Π°Π»ΠΈ ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π±Π°Π³Π°? Π’ этом ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Logcat.

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ Logcat - ΠΎΠ½Π° выглядит ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

Π—Π΄Π΅ΡΡŒ ΠΌΠ½ΠΎΠ³ΠΎ красного тСкста. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Π»ΠΈΠ½ΠΈΠΈ 50 Π² Ρ„Π°ΠΉΠ»Π΅ MainActivity.java. LogCat ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΠ» эту ссылку Π² гипСрссылку синСго Ρ†Π²Π΅Ρ‚Π°. Если Π΅Π΅ Π½Π°ΠΆΠ°Ρ‚ΡŒ, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Π² Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.

ИзмСнив mFortuneText = (TextView) findViewById(R.id.fortuneText), Π²Ρ‹ Ρ‚Π΅ΠΌ самым создали ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Π½ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π»ΠΈ Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ - ΠΎΡ‚ΡΡŽΠ΄Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ указатСля. Π’Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ΄, запуститС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’ этот Ρ€Π°Π· всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π³Π»Π°Π΄ΠΊΠΎ. Logcat - ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ инструмСнт для поиска ошибок.

Share this article:

Related Articles

ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ. Но с Ρ‡Π΅Π³ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ? Какой язык ΡƒΡ‡ΠΈΡ‚ΡŒ? По ΠΊΠ°ΠΊΠΈΠΌ источникам? И Π³Π΄Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ Π½Π°Π²Ρ‹ΠΊΠΈ? Наша ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° эти вопросы.

Π‘ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ языком ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ связаны свои слоТности ΠΈ Π½ΡŽΠ°Π½ΡΡ‹, достоинства ΠΈ нСдостатки. Рассмотрим основныС языки для написания Android-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Java

ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык программирования, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ срСдой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Android Studio. По Π΄Π°Π½Π½Ρ‹ΠΌ Π΅ΠΆΠ΅Π³ΠΎΠ΄Π½ΠΎΠ³ΠΎ опроса рСсурса Stackoverflow , Π² 2018 Π³ΠΎΠ΄Ρƒ Java Π²ΠΎΡˆΡ‘Π» Π² пятёрку самых популярных языков программирования.

Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ шаг ΠΊ освоСнию Java β€” это ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Android Studio . Π­Ρ‚ΠΎ Ρ‚ΠΈΠΏ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ IDE β€” Integrated Development Environment, ΠΈΠ»ΠΈ встроСнная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅ с Android Studio ΠΈΠ΄Ρ‘Ρ‚ Android SDK β€” Π½Π°Π±ΠΎΡ€ инструмСнтов для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ Android ΠΈ всё, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ для Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΠ³ΠΎ старта.

На Java ссылаСтся Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Google, Π° Π½Π°ΠΉΡ‚ΠΈ ΠΏΠ»Π°Ρ‚Π½Ρ‹Π΅ ΠΈ бСсплатныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ руководства Π½Π΅ составит Ρ‚Ρ€ΡƒΠ΄Π° β€” ΠΈΡ… Π²Π΅Π»ΠΈΠΊΠΎΠ΅ мноТСство.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ PhoneGap для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Live Typing Π±Ρ‹Π»ΠΈ:

  • сокращСниС сроков ΠΈ стоимости Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ прилоТСния для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ сразу (ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для получСния Π°Π±ΠΎΠ½Π΅ΠΌΠ΅Π½Ρ‚Π° Π² спортивныС завСдСния Π³ΠΎΡ€ΠΎΠ΄Π° );
  • Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉΡΡ сайт ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ Π΅Π³ΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ (ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для ΠΎΠΏΠ»Π°Ρ‚Ρ‹ услуг ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΏΠΎΠΊΡƒΠΏΠΎΠΊ ).

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ Ρ†Π΅Π»ΠΎΠΌ, прилоТСния ΠΏΠΎΠ΄ Android ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ практичСски Π½Π° любом популярном языкС β€” Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ найдутся ΠΏΠΎΠ΄ всё. Однако Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ Android-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ всС возмоТности ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΈ ΠΈΠΌΠ΅Ρ‚ΡŒ доступ ΠΊ самым Π½ΠΎΠ²Ρ‹ΠΌ функциям Android, Ρ‚ΠΎ вашими Π²Π΅Ρ€Π½Ρ‹ΠΌΠΈ спутниками станут Java ΠΈΠ»ΠΈ Kotlin. Π”Π°ΠΆΠ΅ Ссли эти языки Π²Π°ΠΌ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹ ΠΈ каТутся слоТными, ΠΈΡ… стоит ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Π΅, красивыС ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ прилоТСния для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Android.

А Π½Π°Ρ‡Π°Ρ‚ΡŒ Π·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с тСорСтичСской стороной Android-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π½ΡƒΠΆΠ½ΠΎ с нашСй ΡΡ‚Π°Ρ‚ΡŒΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ собрали .

Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ описаны основныС трудности создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ Android.
Π Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ понятия программирования Android.
Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° описано созданиС ΠΈΠ³Ρ€Ρ‹ Sudoku ΠΈΠ· ΠΊΠ½ΠΈΠ³ΠΈ Hello, Android – Ed Burnette .
ΠžΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ΠΎΠ².

1. Врудности Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

Android это ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ опСрационная систСма. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°Ρ‚ΡŒ Π΅Π΅ особСнности ΠΈ Π½ΡŽΠ°Π½ΡΡ‹ для получСния Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ трудности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ (). ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌ ΠΈΡ… ΠΊΡ€Π°Ρ‚ΠΊΠΎ:
1) ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ для установки Π² Π΄Π²Π° Ρ€Π°Π·Π° (ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π² Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅) большС мСста Ρ‡Π΅ΠΌ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ прилоТСния.
2) Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π½Π° встроСнной Ρ„Π»ΡΡˆΠΊΠ΅ ΠΏΠ°Π΄Π°Π΅Ρ‚ Π² дСсятки Ρ€Π°Π· ΠΏΡ€ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠΈ свободного мСста.
3) ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ процСсс ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎ 16 Мб (ΠΈΠ½ΠΎΠ³Π΄Π° 24 Мб) ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти.

2. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ Android

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½ΡƒΠΆΠ΅Π½ Android SDK ΠΈ Eclipse. О Ρ‚ΠΎΠΌ ΠΊΠ°ΠΊ всС ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ написано .

Для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Eclipse Π½ΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дСйствий:
1) Π Π°Π·Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ пространствС Eclipse.
2) Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚ мСню File->New->Android Project.
3) Π’ Π΄ΠΈΠ°Π»ΠΎΠ³Π΅ New Android Project Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ Create project from existing source.
4) Π’ ΠΏΠΎΠ»Π΅ Location ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ. ΠΠ°ΠΆΠ°Ρ‚ΡŒ Next.

МСню ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π˜Π³Ρ€ΠΎΠ²ΠΎΠ΅ мСню описано Π² Ρ„Π°ΠΉΠ»Π΅ res/layout/main.xml. ОписаниС интСрфСйса ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ XML ΠΈΠ»ΠΈ Π² Π²ΠΈΠ΄Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ интСрфСйса. Для ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ слуТат Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Π²Π½ΠΈΠ·Ρƒ области отобраТСния содСрТимого.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ элСмСнты управлСния содСрТатся Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Π² нашСм случаС это LinearLayout. Он располагаСт всС элСмСнты Π² Π²ΠΈΠ΄Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ.

РСсурсы

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ всС тСкстовыС надписи (android:text) Π±Π΅Ρ€ΡƒΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· рСсурсов. НапримСр, запись android:text="@string/main_title" ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ тСкст Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π² Ρ„Π°ΠΉΠ»Π΅ res/values/string.xml Π² ΡƒΠ·Π»Π΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ main_title (Android Sudoku). Π¦Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° Ρ‚Π°ΠΊΠΆΠ΅ содСрТится Π² рСсурсах (android:background="@color/background") Π½ΠΎ Π² Ρ„Π°ΠΉΠ»Π΅ color.xml (#3500ffff). ΠŸΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² рСсурсов Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ошибка. Но всСгда ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ XML.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ управлСния ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΈΠ· ΠΊΠΎΠ΄Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ id. Π£ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π΅ΡΡ‚ΡŒ id (android:id="@+id/continue_button") для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π±Ρ‹Π»ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ наТатия. Π—Π½Π°ΠΊ плюс ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ для ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π² Ρ„Π°ΠΉΠ»Π΅ /gen/org.example.sudoku/R.java (public static final int continue_button=0x7f0b000b;). Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» гСнСрируСтся автоматичСски ΠΈ Π½Π΅ рСкомСндуСтся Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ. Π€Π°ΠΉΠ» содСрТит класс R Ρ‡Π΅Ρ€Π΅Π· Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ элСмСнту интСрфСйса ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ рСсурсам.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠΊΠΎΠ½

Рассмотрим созданиС ΠΎΠΊΠ½Π° с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Π Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° этого ΠΎΠΊΠ½Π° находится Π² Ρ„Π°ΠΉΠ»Π΅ /res/layout/about.xml. Activity класс описан Π² Ρ„Π°ΠΉΠ»Π΅ /src/org.example.sudoku/About.java. Activity связана с Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ Π² Ρ„Π°ΠΉΠ»Π΅ AndroidManifest.xml. Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΈΠ»ΠΈ Π² Π²ΠΈΠ΄Π΅ XML. На Ρ€Π°Π·Π½Ρ‹Ρ… Π²ΠΊΠ»Π°Π΄ΠΊΠ°Ρ… Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ Ρ„Π°ΠΉΠ»Π°. Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ Application находятся ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Activity. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Theme ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ :style/Theme.Dialog. Благодаря этому ΡΡ‚ΠΈΠ»ΡŒ ΠΎΠΊΠ½Π° большС ΠΏΠΎΡ…ΠΎΠΆ Π½Π° ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΈΠ°Π»ΠΎΠ³.

Π’Ρ‹Π·ΠΎΠ² ΠΎΠΊΠ½Π° с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ осущСствляСтся ΠΈΠ· класса Sudoku ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ About. Класс Sudoku написан Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ сам ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ событиС Click (public class Sudoku extends Activity implements OnClickListener). Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ public void onClick(View v) опрСдСляСтся какая ΠΊΠ½ΠΎΠΏΠΊΠ° Π²Ρ‹Π·Π²Π°Π»Π° событиС ΠΈ выполняСтся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄. Для ΠΏΠΎΠΊΠ°Π·Π° ΠΎΠΊΠ½Π° About вызываСтся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Intent.
case R.id.about_button:
Intent i = new Intent(this, About.class);
startActivity(i);
break;

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ элСмСнты управлСния. НапримСр Π² классС Keypad ΠΏΡ€ΠΈ создании класса Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ setListeners() ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ½ΠΎΠΏΠΎΠΊ.

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ Π΄ΠΈΠ°Π»ΠΎΠ³

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½ΡƒΠΆΠ½ΠΎ Π΄Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ слоТности. Π­Ρ‚ΠΎ малСнький Π΄ΠΈΠ°Π»ΠΎΠ³, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ². ΠžΡ‡Π΅Π½ΡŒ Ρ€Π°Π΄ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ для этого Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Intent, Π° достаточно Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ классом AlertDialog.
Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ процСс старта Π½ΠΎΠ²ΠΎΠΉ ΠΈΠ³Ρ€Ρ‹. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ New Game. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ наТатия это ΠΌΠ΅Ρ‚ΠΎΠ΄ класса Sudoku – onClick. Π”Π°Π»Π΅Π΅ вызываСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ openNewGameDialog, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π΄ΠΈΠ°Π»ΠΎΠ³ Π²Ρ‹Π±ΠΎΡ€Π° слоТности ΠΈ стартуСт ΠΈΠ³Ρ€Ρƒ с Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ слоТности. Π­Ρ‚ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³ строится с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ класса AlertDialog.

Private void openNewGameDialog() { new AlertDialog.Builder(this) .setTitle(R.string.new_game_title) .setItems(R.array.difficulty, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialoginterface, int i) { startGame(i); } }) .show(); }

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ содСрТимоС Π΄ΠΈΠ°Π»ΠΎΠ³Π° (Π½Π°Π±ΠΎΡ€ ΠΊΠ½ΠΎΠΏΠΎΠΊ) строится ΠΈΠ· массива строк R.array.difficulty. Π’ΡƒΡ‚ ΠΆΠ΅ назначаСтся ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ запускаСт Π½ΠΎΠ²ΡƒΡŽ ΠΈΠ³Ρ€Ρƒ с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ слоТности, вызывая ΠΌΠ΅Ρ‚ΠΎΠ΄ startGame.

Π“Ρ€Π°Ρ„ΠΈΠΊΠ°

Π—Π° ΠΈΠ³Ρ€ΠΎΠ²ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ класс Game. Π’ΡƒΡ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ задания, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ условия Π²Ρ‹ΠΈΠ³Ρ€Ρ‹ΡˆΠ°. Класс Game Π΅ΡΡ‚ΡŒ Activity Π½ΠΎ интСрфСйс описан Π½Π΅ Π² XML, Π° создаСтся ΠΊΠΎΠ΄ΠΎΠΌ. Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ onCreate создаСтся View:

PuzzleView = new PuzzleView(this);
setContentView(puzzleView);
puzzleView.requestFocus();

PazzleView это класс ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹ΠΉ ΠΎΡ‚ View, Π² Π½Π΅ΠΌ рисуСтся ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΠΈ происходит ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° событий касания экрана (ΠΌΠ΅Ρ‚ΠΎΠ΄ onTouchEvent) ΠΈ наТатия клавиш (ΠΌΠ΅Ρ‚ΠΎΠ΄ onKeyDown).

Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ процСсс рисования Π² Android. Для рисования Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ onDraw. ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Canvas Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ осущСствляСтся рисованиС. Для задания Ρ†Π²Π΅Ρ‚ΠΎΠ² ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΎΠ±ΡŒΠ΅ΠΊΡ‚Ρ‹ класса Paint. Π¦Π²Π΅Ρ‚ задаСтся Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ARGB. Π¦Π²Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ рСсурсов (Ρ„Π°ΠΉΠ» colors.xml). Paint это Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ класс для хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ†Π²Π΅Ρ‚Π΅. НапримСр ΠΏΡ€ΠΈ рисовании тСкста ΠΎΠ½ содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ способС Π·Π°ΠΊΡ€Π°ΡˆΠΈΠ²Π°Π½ΠΈΡ, ΡˆΡ€ΠΈΡ„Ρ‚Π΅ ΠΈ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠΈ тСкста.

Canvas содСрТит Π½Π°Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для рисования Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ (drawRect, drawLine, drawPath, drawText ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅).

Для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, Π»ΡƒΡ‡ΡˆΠ΅ Π²ΠΎΠ·Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ ΠΎΡ‚ создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Π»ΠΈΡˆΠ½ΠΈΡ… вычислСний Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° onDraw (рассматриваСмый ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Π½Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π΅Π½).

ΠœΡƒΠ·Ρ‹ΠΊΠ°

Для воспроизвСдСния ΠΌΡƒΠ·Ρ‹ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ класс MediaPlayer. ΠœΡƒΠ·Ρ‹ΠΊΠ° для ΠΈΠ³Ρ€Ρ‹ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π² рСсурсы. НуТно просто ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΏΠ°ΠΏΠΊΡƒ /res/raw (Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ WAV, AAC, MP3, WMA, AMR, OGG, MIDI).
Для Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ экзСмпляр класса MediaPlayer:
mp = MediaPlayer.create(context, resource);
Ρ‚ΡƒΡ‚ context это ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ класс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅Ρ‚ запуск ΠΌΡƒΠ·Ρ‹ΠΊΠΈ, resource – ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ рСсурса с ΠΌΡƒΠ·Ρ‹ΠΊΠΎΠΉ. Для управлСния воспроизвСдСниСм ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ start, stop ΠΈ release.

Π’ ΠΈΠ³Ρ€Π΅ ΠΌΡƒΠ·Ρ‹ΠΊΠ° воспроизводится Π² Π³Π»Π°Π²Π½ΠΎΠΌ мСню (запуск ΠΈΠ· класса Sudoku) ΠΈ Π² ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΌ процСссС (запуск ΠΈΠ· класса Game). Для управлСния воспроизвСдСниСм создан класс Music. Класс содСрТит статичСский экзСмпляр MediaPlayer, Ρ‡Ρ‚ΠΎ позволяСт Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ запуска Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠ³ΠΎ рСсурса.

Π’ классах Sudoku ΠΈ Game ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ onResume ΠΈ onPause, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… запускаСтся ΠΌΡƒΠ·Ρ‹ΠΊΠ° ΠΏΡ€ΠΈ стартС Activity ΠΈ останавливаСтся ΠΏΡ€ΠΈ Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ.

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ рассматриваСтся Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π½Π΅ слишком слоТный, Ρ‡Ρ‚ΠΎ позволяСт Π² Π½Π΅ΠΌ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π±Π΅Π· особых усилий. ΠŸΡ€ΠΈ этом ΠΎΠ½ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ аспСкты Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ Android.

P.S. Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅ спасибо ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ