ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python

Kivy β€” Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Python

ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python

ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python

Π’ наши Π΄Π½ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ»ΠΈ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π° Python. Π’ Python Π½Π΅Ρ‚ встроСнных инструмСнтов для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ Kivy, PyQt ΠΈ Π΄Π°ΠΆΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Toga ΠΎΡ‚ Beeware.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ основными элСмСнтами мобильного ΠΌΠΈΡ€Π° Python. Однако, говоря ΠΎ Kivy, нСльзя ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ прСимущСства Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ прилоТСниями. Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Π²ΠΈΠ΄ прилоТСния автоматичСски подстраиваСтся ΠΏΠΎΠ΄ всС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ ΠΏΡ€ΠΈ этом Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ послС ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΠΏΡ€Π°Π²ΠΊΠΈ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, здСсь для создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ чистый синтаксис Python.

Π’ руководствС Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Π΅ΠΌΡ‹:

Π Π°Π·Π±ΠΎΡ€ Π΄Π°Π½Π½ΠΎΠ³ΠΎ руководства ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ Π·Π½Π°ΠΊΠΎΠΌ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Для ввСдСния Π² курс Π΄Π΅Π»Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΎΠ± ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ (ООП) Π² Python 3.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Kivy Python

Kivy Π±Ρ‹Π» создан Π² 2011 Π³ΠΎΠ΄Ρƒ. Π”Π°Π½Π½Ρ‹ΠΉ кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹ΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Python Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Windows, Mac, Linux ΠΈ Raspberry Pi. Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ стандартному Π²Π²ΠΎΠ΄Ρƒ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρƒ ΠΈ ΠΌΡ‹ΡˆΡŒ ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΡ‚Π°Ρ‡. Kivy Π΄Π°ΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ускорСниС GPU своСй Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, Ρ‡Ρ‚ΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ являСтся слСдствиСм использования OpenGL ES2. Π£ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΅ΡΡ‚ΡŒ лицСнзия MIT, поэтому Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ бСсплатно ΠΈ Π²ΠΊΡƒΠΏΠ΅ с коммСрчСским ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ обСспСчСниСм.

Π’ΠΎ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ прилоТСния Ρ‡Π΅Ρ€Π΅Π· Kivy создаСтся ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятный интСрфСйс (Natural user Interface), ΠΈΠ»ΠΈ NUI. Π•Π³ΠΎ главная идСя Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠ³ Π»Π΅Π³ΠΊΠΎ ΠΈ быстро ΠΏΡ€ΠΈΡΠΏΠΎΡΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌΡƒ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΡŽ Π±Π΅Π· чтСния инструкций.

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

Установка Kivy

Π£ Kivy Π΅ΡΡ‚ΡŒ мноТСство зависимостСй, поэтому Π»ΡƒΡ‡ΡˆΠ΅ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ срСду Python. МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Python venv ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ virtualenv.

Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ срСда Python создаСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ³Ρ€Ρ‹ ΠΏΠΎΠ΄ Android Π½Π° Python Π½Π° Π±Π°Π·Π΅ Kivy. ΠžΡ‚ А Π΄ΠΎ Π―: ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ ΠΈ Π½Π΅ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Π§Π°ΡΡ‚ΡŒ 1

НСкотороС врСмя Ρ‚ΠΎΠΌΡƒ Π½Π°Π·Π°Π΄ я Ρ€Π΅ΡˆΠΈΠ» ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π° Python ΠΏΠΎΠ΄ Android. Π’Π°ΠΊΠΎΠΉ странный для ΠΌΠ½ΠΎΠ³ΠΈΡ… Π²Ρ‹Π±ΠΎΡ€ обусловлСн Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ я люблю Python ΠΈ люблю Android, Π° Π΅Ρ‰Ρ‘ люблю Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ (Π½Ρƒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π½Π΅ самоС ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅). Π’ качСствС Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½ Kivy β€” фактичСски, Π±Π΅Π·Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Π½ΠΎ ΠΎΠ½ ΠΌΠ½Π΅ ΠΎΡ‡Π΅Π½ΡŒ понравился. Однако, ΠΏΠΎ Π½Π΅ΠΌΡƒ Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠΆ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ (Π½Π΅Ρ‚, докумСнтация отличная, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π΅Ρ‘ нСдостаточно), особСнно Π½Π° русском языкС, Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ Ρ…ΠΎΡ‚ΡŒ ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Π½ΠΎ ΠΈΡ… Ρ‚ΠΎ Π»ΠΈ Π½ΠΈΠΊΡ‚ΠΎ Ρ€Π°Π½ΡŒΡˆΠ΅ Π½Π΅ Π΄Π΅Π»Π°Π», Ρ‚ΠΎ Π»ΠΈ Π½Π΅ счёл Π½ΡƒΠΆΠ½Ρ‹ΠΌ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ. Ну Π° я счёл πŸ™‚ И этот пост Ρ‚ΠΎΠΌΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ.

Под ΠΊΠ°Ρ‚ΠΎΠΌ я расскаТу ΠΎΠ±ΠΎ всСх этапах Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ€Π°Π·Π²ΠΈΠ²Π°Π»Π°ΡΡŒ простая идСя ΠΈ ΠΊΠ°ΠΊ для этого ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ возмоТности, ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΡˆΠΈΡ… ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Ρ… камнях ΠΈ Π±Π°Π³Π°Ρ…, ΠΎ Π½Π΅ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ… ΠΈ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ πŸ™‚ ЦСль β€” ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎΠΌ тСкстС основныС ΠΏΡƒΠ½ΠΊΡ‚Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ, Ρ€Π΅ΡˆΠΈΠ²ΡˆΠ΅ΠΌΡƒ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ слоТнСС ΠΈΠ³Ρ€Ρ‹ Pong ΠΈΠ· ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»Π°, Π½Π΅ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„ΠΎΡ€ΡƒΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈ StackOverflow ΠΈ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ часы Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ дСлаСтся Π·Π° ΠΏΠ°Ρ€Ρƒ ΠΌΠΈΠ½ΡƒΡ‚, Ссли знаСшь, ΠΊΠ°ΠΊ.

0. Если Π²Ρ‹ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΡΠ»Ρ‹ΡˆΠΈΡ‚Π΅ ΠΎ Kivy.

… Ρ‚ΠΎ всё зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π»ΡŽΠ±ΠΈΡ‚Π΅ Π»ΠΈ Π²Ρ‹ Python ΠΈ Android, ΠΈ интСрСсно Π»ΠΈ Π²Π°ΠΌ Π² этом Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ. Если Π½Π΅Ρ‚ β€” ΠΏΡ€ΠΎΡ‰Π΅ Π·Π°Π±ΠΈΡ‚ΡŒ πŸ™‚ А Ссли Π΄Π°, Ρ‚ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎ с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, Π³Π°ΠΉΠ΄ΠΎΠ², ΠΈ ΡƒΠΆΠ΅ упомянутого ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»Π° ΠΏΠΎ ΠΈΠ³Ρ€Π΅ Pong β€” это даст Π±Π°Π·ΠΎΠ²ΠΎΠ΅ прСдставлСниС ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅ ΠΈ Π΅Π³ΠΎ возмоТностях. Π― ΠΆΠ΅ Π½Π΅ Π±ΡƒΠ΄Ρƒ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° ΡΡ‚ΠΎΠ»ΡŒ Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π²Π΅Ρ‰Π°Ρ… (Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅, для понимания Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π» ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚) ΠΈ сразу ΠΏΠΎΠΉΠ΄Ρƒ дальшС. Π‘ΡƒΠ΄Π΅ΠΌ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ это Π±Ρ‹Π»ΠΎ вступлСниС πŸ™‚

1. НСмного ΠΎ ΠΌΠΎΠ΅ΠΉ ΠΈΠ³Ρ€Π΅

Для Π½Π°Ρ‡Π°Π»Π° Π½ΡƒΠΆΠ½Π° Π±Ρ‹Π»Π° идСя. МнС Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ достаточно простоС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ возмоТности Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°, Π½ΠΎ ΠΈ достаточно интСрСсноС ΠΈ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π΄ΠΈ программирования (это Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎ, Π½ΠΎ ΠΊΠΎΠ³Π΄Π° это Π½Π΅ СдинствСнная Ρ†Π΅Π»ΡŒ β€” это Π΅Ρ‰Ρ‘ Π»ΡƒΡ‡ΡˆΠ΅). Π― Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽ интСрфСйсы, Π½ΠΎ Π½Π΅ ΡƒΠΌΠ΅ΡŽ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ, поэтому ΠΈΠ³Ρ€Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Π»Π° Π±Ρ‹Ρ‚ΡŒ простая графичСски, ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ тСкстовая. И Ρ‚ΡƒΡ‚ Ρ‚Π°ΠΊ ΡƒΠΆ слоТилось, Ρ‡Ρ‚ΠΎ Ρƒ мСня Π΅ΡΡ‚ΡŒ Π·Π°Π±Ρ€ΠΎΡˆΠ΅Π½Π½Ρ‹ΠΉ сайт с Ρ†ΠΈΡ‚Π°Ρ‚Π°ΠΌΠΈ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ я ΠΊΠΎΠ³Π΄Π°-Ρ‚ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π» свой ΠΏΡƒΡ‚ΡŒ Π² web-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ (я ΠΎ Π½Ρ‘ΠΌ Π΄Π°ΠΆΠ΅ писал Π½Π° Π₯Π°Π±Ρ€Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄). ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ идСя Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° такая: ΠΈΠ³Ρ€Π°-Π²ΠΈΠΊΡ‚ΠΎΡ€ΠΈΠ½Π° Β«Π£Π³Π°Π΄Π°ΠΉ Ρ†ΠΈΡ‚Π°Ρ‚ΡƒΒ». Π’ русскоязычном Google Play Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΎ, Π° Π² англоязычном Π±Ρ‹Π»Π° ΠΏΠ°Ρ€Π° ΠΏΠΎΠ΄Π΅Π»ΠΎΠΊ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ качСства с сотнСй скачиваний.

ΠŸΠΎΡ‡Ρ‚ΠΈ сразу ΠΆΠ΅ стало понятно, Ρ‡Ρ‚ΠΎ просто Ρ‚Π°ΠΊ ΠΎΡ‚Π³Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ Ρ†ΠΈΡ‚Π°Ρ‚Ρƒ Π·Π° Ρ†ΠΈΡ‚Π°Ρ‚ΠΎΠΉ β€” скучно. Π’Π°ΠΊ появились ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Β«Ρ„ΠΈΡˆΠΊΠΈΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, Π² ΠΈΡ‚ΠΎΠ³Π΅, ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΡƒΡŽ ΠΈΠ³Ρ€Ρƒ. Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ это Π±Ρ‹Π»ΠΈ тСматичСскиС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Ρ†ΠΈΡ‚Π°Ρ‚, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Ρ‘Π½Π½Ρ‹Π΅ ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠΎΠΉ ΠΈΠ»ΠΈ Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ) ΠΈ Π±Π°Π»Π»Ρ‹ (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ Π·Π° ΠΎΡ‚Π³Π°Π΄Ρ‹Π²Π°Π½ΠΈΠ΅ Ρ†ΠΈΡ‚Π°Ρ‚ ΠΈ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΈ тратятся Π½Π° подсказки ΠΈ Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ Π½ΠΎΠ²Ρ‹Ρ… Ρ‚Π΅ΠΌ), Π° Ρ‚Π°ΠΊΠΆΠ΅ статистика, достиТСния ΠΈ ΠΈΠ·Π±Ρ€Π°Π½Π½ΠΎΠ΅.

Π’Π°ΠΊ всё Π½Π°Ρ‡ΠΈΠ½Π°Π»ΠΎΡΡŒ (кликабСльно):
ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python

Ну Π»Π°Π΄Π½ΠΎ, Π»Π°Π΄Π½ΠΎ, большС Π½Π΅ Π±ΡƒΠ΄Ρƒ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ уТас πŸ™‚ ΠšΡΡ‚Π°Ρ‚ΠΈ, Π²ΠΎΡ‚ Ρ‚Π°ΠΊ ΠΎΠ½ΠΎ выглядит сСйчас (Ρ‚ΠΎΠΆΠ΅ кликабСльно, скрины взяты с Google Play):
ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python

ΠŸΠ΅Ρ€Π²Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π°Ρ‡Π°Π»ΠΈΡΡŒ с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΆΠ΅ экрана…

2. Kivy Ρ‚ΠΎΡ€ΠΌΠΎΠ· ΠΈΠ»ΠΈ я Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ дСлаю Π½Π΅ Ρ‚Π°ΠΊ?

Один ΠΌΠΎΠΉ Π΄Ρ€ΡƒΠ³ Π»ΡŽΠ±ΠΈΡ‚ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ вопросы Β«Π΄Π°Β» πŸ™‚ На самом Π΄Π΅Π»Π΅, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ Π² Kivy Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, созданиС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ². Но это Π½Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ это Π΄Π΅Π»ΠΎ нСльзя ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Об этом я ΠΈ расскаТу.

Π’Π°ΠΊ ΠΊΠ°ΠΊ Ρ†ΠΈΡ‚Π°Ρ‚Ρ‹ ΠΈ Ρ‚Π΅ΠΌΡ‹ хранятся Π² Π‘Π”, Ρ‚ΠΎ, само собой, ΠΊΠ½ΠΎΠΏΠΊΠΈ с ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ динамичСски. И Π²ΠΎΡ‚ Ρ‚ΡƒΡ‚-Ρ‚ΠΎ я ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ», Ρ‡Ρ‚ΠΎ происходит это ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ: ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ полсСкунды Π½Π° список ΠΈΠ· 20 ΠΊΠ½ΠΎΠΏΠΎΠΊ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, это ΠΈ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ прилоТСния, Π½ΠΎ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ Π½Π° Π³Π»Π°Π²Π½Ρ‹ΠΉ экран ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… экранов прилоТСния β€” Π½Π΅ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ. Π—Π΄Π΅ΡΡŒ стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ ΡƒΠΆΠ΅ прСдставляла собой, Π½Π° самом Π΄Π΅Π»Π΅, Π½Π°Π±ΠΎΡ€ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… элСмСнтов, Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΎΠ΄Π½Ρƒ ΠΊΠ½ΠΎΠΏΠΊΡƒ:

ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ ΠΌΠΎΠΈΠΌ ΠΏΠΎΠ±ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ Π±Ρ‹Π»ΠΎ Ρ‚Π΅ΠΌ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π·Π°ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ…, ΠΈ, Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΎΠΏΡ‹Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π», Ρ‡Ρ‚ΠΎ Ссли ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ всС Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Π·Π°Ρ€Π°Π½Π΅Π΅, ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΡ… ΠΊΠ°ΠΊ свойство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° StartScreen, Ρ‚ΠΎ всё (ΠΊΡ€ΠΎΠΌΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ) Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ достаточно быстро. Однако ΠΆΠ΅, Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΊΠ½ΠΎΠΏΠΊΠ°Ρ… Π½ΡƒΠΆΠ½ΠΎ пСриодичСски ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ (хотя Π±Ρ‹ Ρ‚ΠΎ ΠΆΠ΅ количСство ΠΎΡ‚Π³Π°Π΄Π°Π½Π½Ρ‹Ρ… Ρ†ΠΈΡ‚Π°Ρ‚). Π”Π° ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½ΠΎΠ²Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² я ΡƒΠΆΠ΅ Ρ‚ΠΎΠ³Π΄Π° ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π». ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ это, Π½ΠΎ я Ρ€Π΅ΡˆΠΈΠ» Π½Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚ΡŒ вСлосипСд ΠΈ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ.

Π‘Π½Π°Ρ‡Π°Π»Π° стоило ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΈΠΌΠ΅Π½Π½ΠΎ Π² создании Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ², поэтому я Π·Π° нСсколько ΠΌΠΈΠ½ΡƒΡ‚ набросал ΠΏΡ€ΠΎΡΡ‚Π΅Π½ΡŒΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π΄Π²Π° экрана, Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… гСнСрировался Π½Π°Π±ΠΎΡ€ строк ΠΈΠ· Π»Π΅ΠΉΠ±Π»Π° ΠΈ чСкбокса количСством 50 ΡˆΡ‚. πŸ™‚

Запустил Π½Π° своём ΡΡ‚Π°Ρ€Π΅Π½ΡŒΠΊΠΎΠΌ Moto G (gen3) ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»:

И Π΄Π°Π»Π΅Π΅ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ Π΄ΡƒΡ…Π΅. Поиск ΠΏΠΎ этому вопросу Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π°Π», поэтому я обратился ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ. И ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΠΎΡ‚Π²Π΅Ρ‚: Β«Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ΅, особСнно Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ содСрТат. Для создания Π±ΠΎΠ»ΡŒΡˆΠΈΡ… списков Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ RecycleViewΒ». Π—Π΄Π΅ΡΡŒ Ρ…ΠΎΡ‡Ρƒ ΠΏΠΎΡΡΠ½ΠΈΡ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ я Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽ этот ΠΌΠΎΠΌΠ΅Π½Ρ‚, вСдь описаниС RecycleView Π΅ΡΡ‚ΡŒ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. Π”Π°, Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π΅ΡΡ‚ΡŒ, Π½ΠΎ ΠΌΠ°Π»ΠΎ ΠΊΡ‚ΠΎ способСн ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ всю Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π½Π°Ρ‡Π½Ρ‘Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, ΠΈ Π½Π°ΠΉΡ‚ΠΈ Π½ΡƒΠΆΠ½Ρ‹ΠΉ инструмСнт Π±Ρ‹Π²Π°Π΅Ρ‚ нСпросто, особСнно Ссли ΠΎΠ½ Π½ΠΈΠ³Π΄Π΅ Π½Π΅ описан Π² контСкстС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΆΠ΅ ΠΎΠ½ описан πŸ™‚

Π‘ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π² 100 Ρ€Π°Π· быстрСС. ВпСчатляСт, Π½Π΅ ΠΏΡ€Π°Π²Π΄Π° Π»ΠΈ?

Π’ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ слСдуСт ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ RecycleView β€” Π½Π΅ панацСя. Он Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚, Ссли Ρ€Π°Π·ΠΌΠ΅Ρ€ элСмСнта зависит ΠΎΡ‚ содСрТимого (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Label, Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ мСняСтся Π² зависимости ΠΎΡ‚ количСства тСкста).

3. БСрвисы. Автозапуск ΠΈ пСрСзапуск

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ я столкнулся, Π½Π΅ поддавалась Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ Ρ‚Π°ΠΊ Π΄ΠΎΠ»Π³ΠΎ, Ρ‡Ρ‚ΠΎ я ΡƒΠΆΠ΅ ΠΌΠ°Π»ΠΎΠ΄ΡƒΡˆΠ½ΠΎ ΠΏΠΎΠ΄ΡƒΠΌΡ‹Π²Π°Π» ΡΡ‡Π΅ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Π½Π΅ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹ΠΌ ΠΈ Π·Π°Π±ΠΈΡ‚ΡŒ πŸ™‚ ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π±Ρ‹Π»Π° с сСрвисами (Π² Android Ρ‚Π°ΠΊ называСтся процСссы, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠ΅ΡΡ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅). Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ сСрвис Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠΆ ΠΈ слоТно β€” Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ сбиваСт с Ρ‚ΠΎΠ»ΠΊΡƒ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ°Ρ докумСнтация, Π½ΠΎ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ. Однако, Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв, ΠΌΠ½ΠΎΠ³ΠΎ Π»ΠΈ Ρ‚ΠΎΠ»ΠΊΡƒ ΠΎΡ‚ сСрвиса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Π½Π΅ запускаСтся автоматичСски ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, Π° Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Π½Π΅ пСрСзапускаСтся, Ссли Β«Π²Ρ‹Π±Ρ€ΠΎΡΠΈΡ‚ΡŒΒ» ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ свайпом ΠΈΠ· диспСтчСра Π·Π°Π΄Π°Ρ‡? По-ΠΌΠΎΠ΅ΠΌΡƒ, Π½Π΅Ρ‚.

На Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΠΎ этой Ρ‚Π΅ΠΌΠ΅ Π±Ρ‹Π»Π° всСго лишь ΠΎΠ΄Π½Π° ΡΡ‚Π°Ρ‚ΡŒΡ Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ wiki, Π½ΠΎ ΠΎΠ½Π°, Ρ…ΠΎΡ‚ΡŒ ΠΈ Π½Π°Π·Ρ‹Π²Π°Π»Π°ΡΡŒ Β«Starting Kivy service on bootupΒ», Π½Π° самом Π΄Π΅Π»Π΅ всСго лишь рассказывала, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π° Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½ΠΎ Π½Π΅ Π΅Π³ΠΎ сСрвис (Π΄Π°, Ρ‚Π°ΠΊΠΎΠ΅ Ρ‚ΠΎΠΆΠ΅ Π±Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π½ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΏΠΎ ΠΌΠ½Π΅). Π’Ρƒ ΡΡ‚Π°Ρ‚ΡŒΡŽ я, Π² ΠΈΡ‚ΠΎΠ³Π΅, пСрСписал, Π° здСсь расскаТу подробности.

Допустим, Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ сСрвис, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ всСго-Ρ‚ΠΎ ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ пСриодичСски Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π² Π»ΠΎΠ³ строку (этим ΠΌΡ‹ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π±Π°Π³ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ ΠΈΠ·-Π·Π° особСнностСй самого сСрвиса).

Из прилоТСния ΠΌΡ‹ запускаСм Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ основного класса ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ PyJnius:

Если APK собран ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, ΠΏΡ€ΠΈ запускС прилоТСния сСрвис Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‚Π°Ρ€Ρ‚ΠΎΠ²Π°Ρ‚ΡŒ, Π½ΠΎ этого нСдостаточно.

Для Π½Π°Ρ‡Π°Π»Π°, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ пСрСзапускался ΠΏΡ€ΠΈ остановкС прилоТСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ снятии Π΅Π³ΠΎ ΠΈΠ· диспСтчСра Π·Π°Π΄Π°Ρ‡). ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ startForeground, Π½ΠΎ это ΡƒΠΆΠ΅ Π½Π΅ совсСм Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ πŸ™‚ Для Π½Π΅Π³ΠΎ потрСбуСтся, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ, ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ β€” это Π½Π΅ всСгда ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Ρ„Π»Π°Π³ START_STICKY, Π½ΠΎ ΠΌΡ‹ ΠΆΠ΅ пишСм Π½Π° Python, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π·Π°Π΄Π°Ρ‡Ρƒ Π½Π΅ ΡΡ‚ΠΎΠ»ΡŒ Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ β€” ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ PyJnius ΠΎΠ½Π° ΡƒΠΆΠ΅ Π½Π΅ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ.

Π£Ρ€Π°, сСрвис рСстартится. Всё? ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½Π΅Ρ‚ πŸ™‚ ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ‚ΡƒΡ‚ ΠΆΠ΅ валится с ошибкой:

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ onStartCommand(Intent intent, int flags, int startId), ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ послС пСрСзапуска intent Ρƒ нас null. Π§Ρ‚ΠΎ ΠΆ, ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡˆΠ΅ΠΌ ΠΈ Π΅Ρ‘:

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ функция nativeStart() Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½ΡƒΠΆΠ½Ρ‹Ρ… Extras. К соТалСнию, Π΄Π²Π° ΠΈΠ· Π½ΠΈΡ… ΠΌΠ½Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π·Π°Ρ…Π°Ρ€Π΄ΠΊΠΎΠ΄ΠΈΡ‚ΡŒ. Π’ ΠΈΡ‚ΠΎΠ³Π΅ выглядит это Ρ‚Π°ΠΊ:

ΠŸΠ΅Ρ€Π΅ΠΉΠ΄Ρ‘ΠΌ ΠΊ автозапуску сСрвиса ΠΏΡ€ΠΈ запускС Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°. ПослС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ это Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΆΠ΅ ΠΏΡ€ΠΎΡ‰Π΅. (На самом Π΄Π΅Π»Π΅ ΠΆΠ΅ всё Π±Ρ‹Π»ΠΎ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚ β€” я ΠΎΡ‡Π΅Π½ΡŒ Π΄ΠΎΠ»Π³ΠΎ Π½Π΅ ΠΌΠΎΠ³ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± этом Π½Π΅ Π±Ρ‹Π»ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΠΈΠ³Π΄Π΅, ΠΈ сами Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Ρ‚ΠΎΠΆΠ΅ Π½Π΅ Π·Π½Π°Π»ΠΈ, ΠΊΠ°ΠΊ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π΄Π°Π½Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ. И Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π²ΡˆΠΈΡΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ с вопросом пСрСзапуска, я понял, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.)

Для Π½Π°Ρ‡Π°Π»Π° понадобится Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ RECEIVE_BOOT_COMPLETED β€” это просто. А Π·Π°Ρ‚Π΅ΠΌ β€” BroadcastReceiver, Π΅Π³ΠΎ придётся Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² AndroidManifest Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, Π½ΠΎ это Ρ‚ΠΎΠΆΠ΅ Π½Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² Π½Ρ‘ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ πŸ™‚

РСшСниС для запуска прилоТСния (Π½Π΅ сСрвиса) выглядит Ρ‚Π°ΠΊ:

Π‘Π½Π°Ρ‡Π°Π»Π° я попытался просто ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Π³ΠΎ для сСрвиса:

Π”ΡƒΠΌΠ°ΡŽ, Π²Π°ΠΌ ΡƒΠΆΠ΅ понятно, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ‚Π΅Ρ… самых Extras. МнС ΠΆΠ΅ Ρ‚ΠΎΠ³Π΄Π° ΠΎΠ± этом Π±Ρ‹Π»ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π½Π΅ΠΎΡ‚ΠΊΡƒΠ΄Π°. Но Π½Π΅ Π±ΡƒΠ΄Ρƒ Ρ‚ΡΠ½ΡƒΡ‚ΡŒ, Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠΎΠ΄ выглядит Ρ‚Π°ΠΊ:

Локализация ΠΈ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΡΠ·Ρ‹Ρ‡Π½ΠΎΡΡ‚ΡŒ

Π’ Ρ†Π΅Π»ΠΎΠΌ, для Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ gettext, ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΏΡ€ΠΎΡ‰Π΅ β€” ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ lang, Π² Π½Π΅ΠΉ ΠΏΠΎ Ρ„Π°ΠΉΠ»Ρƒ Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ язык (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, en.py ΠΈ ru.py), ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚Π°ΠΌ всС слова ΠΈ Ρ„Ρ€Π°Π·Ρ‹ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…/констант, ΠΈ Π΄Π°Π»Π΅Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

БтатичСская пСрСмСнная использована для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ языковыС константы Π±Ρ‹Π»ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² kv-Ρ„Π°ΠΉΠ»Π΅:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° Python ΠΏΠΎΠ΄ Android

ΠΠ²Ρ‚ΠΎΡ€ΠΈΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ

Как Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° Python ΠΏΠΎΠ΄ Android

ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python

РассказываСт АлСксандр Π’Π΅ΠΉΠ»ΠΎΡ€, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Kivy

Π’ послСднСС врСмя появляСтся большоС количСство рСсурсов ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π° Python ΠΏΠΎΠ΄ Android. ВсС Ρ‡Π°Ρ‰Π΅ упоминаСтся ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для этой Π·Π°Π΄Π°Ρ‡ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Kivy (ΠΈ Π΅Π³ΠΎ отвСтвлСния), вСдь ΠΎΠ½ являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· самых ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Ρ… Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π² этой области. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΎΠ΄Π½Ρƒ Π²Π°ΠΆΠ½ΡƒΡŽ Π΄Π΅Ρ‚Π°Π»ΡŒ нСзаслуТСнно ΠΎΠ±Π΄Π΅Π»ΡΡŽΡ‚ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ β€” Ρ‡Ρ‚ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΌΡ‹ смоТСм Π΄Π΅Π»Π°Ρ‚ΡŒ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Python станСт Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Π½Π° устройствС? Π•ΡΡ‚ΡŒ Π»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ ограничСния? ВсС Π»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ? Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ всС Ρ‚ΠΎ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ ΠΏΡ€ΠΈ написании прилоТСния Π½Π° Java? Π”Π°Π½Π½Ρ‹Π΅ вопросы Π²ΠΎΠ»Π½ΡƒΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΈΡ…, ΠΈ ΠΎΠ½ΠΈ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΈ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Kivy. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я ΠΏΠΎΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ интСрСсныС ΠΈ Π²Π°ΠΆΠ½Ρ‹Π΅ Π΄Π΅Ρ‚Π°Π»ΠΈ.

Python-for-android

ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго Π΄Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° Ρ‚ΠΎ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‡Π΅Π³ΠΎ Python ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ Android β€” инструмСнт, Π½Π°Π·Π²Π°Π½Π½Ρ‹ΠΉ, ΠΊΠ°ΠΊ Π½ΠΈ странно, python-for-android. Π•Π³ΠΎ основная функция состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ дистрибутив β€” ΠΏΠ°ΠΏΠΊΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для запуска вашСго прилоТСния. А Ρ‚ΠΎΡ‡Π½Π΅Π΅, сам ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€, Kivy ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½ зависит: Pygame, SDL ΠΈ нСсколько Π΄Ρ€ΡƒΠ³ΠΈΡ…. Π’Π°ΠΊΠΆΠ΅ дистрибутив Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊ Java, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠΉ OpenGL ΠΈ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΠΉ Π² качСствС посрСдника ΠΌΠ΅ΠΆΠ΄Ρƒ Kivy ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой. Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ добавляСтС ΠΊΠΎ всСму этому свои скрипты, настройки Π²Ρ€ΠΎΠ΄Π΅ ΠΈΠΊΠΎΠ½ΠΊΠΈ ΠΈ ΠΈΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Android NDK ΠΈ вуаля β€” APK с вашим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π³ΠΎΡ‚ΠΎΠ²!

И это всСго лишь базовая ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°, Π½Π° самом Π΄Π΅Π»Π΅ сгСнСрированный ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ (ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚) Π² сСбя Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС. ВмСстС со всСм ΠΏΡ€ΠΎΡ‡ΠΈΠΌ Π² APK Π²ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ большая Ρ‡Π°ΡΡ‚ΡŒ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Π° любой сторонний ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, написанный Π½Π° Python, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ β€” всС Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ дСсктоп-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π”ΠΎΠ±Π°Π²ΠΊΠ° ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ с ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ Ρ‚ΠΎΠΆΠ΅ Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ трудностСй, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ лишь ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, это Π½Π΅ прСдставляСт собой Π½ΠΈΡ‡Π΅Π³ΠΎ слоТного, достаточно лишь ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Ρƒ Π³Π°Π»ΠΎΡ‡Π΅ΠΊ ΠΏΠ΅Ρ€Π΅Π΄ запуском ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ сборки, хотя Π² Ρ€Π΅Π΄ΠΊΠΈΡ… ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… случаях ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ дСйствия. Python-for-android ΡƒΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя указания для компиляции Ρ‚Π°ΠΊΠΈΡ… популярных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΊΠ°ΠΊ: numpy, sqlite3, twisted ΠΈ Π΄Π°ΠΆΠ΅ django!

Π’Ρ‹ΡˆΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ лишь Π² ΠΎΠ±Ρ‰ΠΈΡ… словах ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‚, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ python-for-android. Π’ любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ большС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° Π΄Π°Π½Π½ΡƒΡŽ Ρ‚Π΅ΠΌΡƒ, заглянув Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ Kivy. Π― Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Π²Π°ΠΌ Buildozer β€” надстройку для python-for-android, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΡƒΡŽ собой ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ интСрфСйс ΠΈ автоматичСскоС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… зависимостСй. ΠœΡ‹ стараСмся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ написанная Π²Ρ‹ΡˆΠ΅ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ° дСйствий использовалась Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Kivy, Π½ΠΎ ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…. Основной процСсс сборки останСтся Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅, Π½ΠΎ Π½ΡƒΠΆΠ΄Π° Π² Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ΅ Java ΠΎΡ‚ΠΏΠ°Π΄Π΅Ρ‚, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… спСцифичных Π½ΡƒΠΆΠ΄ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°.

ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Android API с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ PyJNIus

ВзаимодСйствиС с Android API: ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ с сСнсоров, созданиС ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ, вибрация, ΠΏΠ°ΡƒΠ·Π° ΠΈ пСрСзапуск, Π΄Π° Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ β€” ваТная Ρ‡Π°ΡΡ‚ΡŒ вашСго прилоТСния. Kivy Π·Π° вас позаботится ΠΎΠ± основном, Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π²Π΅Ρ‰Π°ΠΌΠΈ Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ сами. Для этого создан PyJNIus β€” инструмСнт, автоматичСски ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π½Π° Java Π² интСрфСйс Python.

17 ноября, Онлайн, Π‘Π΅cΠΏΠ»Π°Ρ‚Π½ΠΎ

Π’ качСствС простого ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая заставит Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ Π²ΠΈΠ±Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° протяТСнии 10 сСкунд:

Если Π²Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с Android API, Ρ‚ΠΎ Π±Π΅Π· Ρ‚Ρ€ΡƒΠ΄Π° Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Π²Ρ‹ΡˆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ Π½Π° Java β€” PyJNIus просто позволяСт Π½Π°ΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ API, Π½ΠΎ прямо ΠΈΠ· Python. Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ Android API ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ позволяСт Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π°, Ρ‡Ρ‚ΠΎ ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π° Java.

Π“Π»Π°Π²Π½Ρ‹ΠΉ минус PyJNIus Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ понимания структуры Android API, Π° ΠΊΠΎΠ΄ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΌ, хотя Π΅Π³ΠΎ эквивалСнт Π½Π° Java выглядит Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅. Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Kivy Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Plyer.

Plyer: кроссплатформСнноС API для платформоспСцифичных Π·Π°Π΄Π°Ρ‡

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Plyer ставит сСбС Ρ†Π΅Π»ΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ простой Β«ΠΏΠΈΡ‚ΠΎΠ½ΠΈΡ‡Π½Ρ‹ΠΉΒ» интСрфСйс для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ. НапримСр, ΠΊΠΎΠ΄ Π²Ρ‹ΡˆΠ΅ Π»Π΅Π³ΠΊΠΈΠΌ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΌ Ρ€ΡƒΠΊΠΈ прСвращаСтся в…

Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, написанный ΠΊΠΎΠ΄ попытаСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ свою Π·Π°Π΄Π°Ρ‡Ρƒ Π½Π° всСх ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Plyer ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… β€” Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ это: Android, iOS, Linux, Windows ΠΈ OS X (для iOS Ρ‚Π°ΠΊΠΆΠ΅ сущСствуСт Π°Π½Π°Π»ΠΎΠ³ PyJNIus, называСмая PyOBJus). На самом Π΄Π΅Π»Π΅, вибрация β€” Π½Π΅ самый Π»ΡƒΡ‡ΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ сСйчас ΠΎΠ½Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Android, Π½ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° уровня заряда Π±Π°Ρ‚Π°Ρ€Π΅ΠΈ:

β€” Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΊΠ°ΠΊ Π² дСсктопных, Ρ‚Π°ΠΊ ΠΈ Π² ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… прилоТСниях, Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… с компаса/гироскопа ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° SMS Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ Π½Π° Android ΠΈ iOS.

Plyer находится Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ стадии развития, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ любая ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ привСтствуСтся. Π’Π°ΠΊΠΆΠ΅, ΠΌΡ‹ участвуСм с Π½ΠΈΠΌ Π² Google Summer of Code Π² этом Π³ΠΎΠ΄Ρƒ.

НС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π΄ΠΈ Kivy

ВсС Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ инструмСнты Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ для нашСго Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°, Π½ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ ΠΎΠ½ΠΈ большС ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ Python Π² Ρ†Π΅Π»ΠΎΠΌ. Π’ Plyer ΠΌΡ‹ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΈΠ·Π±Π΅Π³Π°Π΅ΠΌ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ зависимости ΠΎΡ‚ Kivy, Π° PyJNIus Π½ΡƒΠΆΠ΅Π½ лишь для доступа ΠΊ Android JNI. Π˜ΡΠΊΡ€Π΅Π½Π½Π΅ надССмся, Ρ‡Ρ‚ΠΎ эти инструмСнты станут ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ для любого, ΠΊΡ‚ΠΎ ΠΏΠΈΡˆΠ΅Ρ‚ Π½Π° Python ΠΏΠΎΠ΄ Android. Π’Ρ‹ ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ PyJNIus, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ QPython. Python-for-android большС завязан Π½Π° взаимодСйствии с Kivy, Π½ΠΎ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π΄Ρ‹ ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ этот вопрос.

МногоС ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π° Android с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python, нСсмотря Π½Π° всС различия с Java, которая ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для этого, Π½ΠΎ эти возмоТности ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ Π΅Ρ‰Π΅ большС Π² блиТайшСм Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ. И Ссли Π²Ρ‹ Π·Π°ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΠΎΠ²Π°Π»ΠΈΡΡŒ описанными Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Ρ‚ΠΎ самоС врСмя ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΡΡ ΠΊ нашСй ΠΊΠΎΠΌΠ°Π½Π΄Π΅!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Python для Android: Как Π½Π°Ρ‡Π°Ρ‚ΡŒ Π΄Π΅Π»Π°Ρ‚ΡŒ кроссплатформСнныС прилоТСния с Kivy. Π§Π°ΡΡ‚ΡŒ пСрвая

ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python

Jul 19, 2018 Β· 4 min read

Π’ этом руководствС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ шаги, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для создания кроссплатформСнного прилоТСния для Android с использованиСм Python-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Kivy ΠΈ Linux Ubuntu. ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ установки ΠΈ запуском Kivy Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ зависимости. Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΡƒΠΉΠ΄Ρ‘Ρ‚ Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΡƒ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ срСды Kivy ΠΏΡƒΡ‚Π΅ΠΌ установки Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ Kivy Π±ΡƒΠ΄Π΅Ρ‚ установлСн Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСдС.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Linu x Ubuntu 18.04 с Python 3.6.5. ΠŸΡ€ΠΈ запускС Kivy Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ различия. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌ ОБ, ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ/ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ/ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ скрипты Python, Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ прСдставлСниС ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° Linux ΠΈ Python.

Π­Ρ‚ΠΎ руководство ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹:

1. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Kivy ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания СстСствСнных ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… интСрфСйсов с прСимущСствами абстракции ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Он отдСляСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΎΡ‚ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΈ слоТных Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ ΠΈ просто прСдоставляСт простыС API для выполнСния слоТных Π·Π°Π΄Π°Ρ‡. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ бэкСнд Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Kivy Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для выполнСния своих Π·Π°Π΄Π°Ρ‡. ΠœΡ‹ собираСмся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ SDL ( Simple DirectMedia Layer) β€” ΠΊΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ для Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ доступа ΠΊ графичСскому ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΡŽ Ρ‡Π΅Ρ€Π΅Π· OpenGL. Помимо SDL, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ GStreamer, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π°ΡƒΠ΄ΠΈΠΎ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚Π°ΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ написаны Π½Π° C, Π½Π°ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ потрСбуСтся Cython.

2. Установка зависимостСй Kivy

ΠžΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° инструкциях ΠΏΠΎ установкС Kivy Π½Π° Linux (https://kivy.org/docs/installation/installation-linux.html), здСсь пСрСчислСны Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для установки SDL2 ΠΈ GStreamer. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ Python для использования Π² Kivy с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ python ΠΈ python-dev для Python 2 ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ python3 ΠΈ python3-dev для Python 3. Pip Ρ‚Π°ΠΊΠΆΠ΅ находится Π² пСрСчислСнном Π½ΠΈΠΆΠ΅ спискС для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ использования Π² ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСды Kivy.

3. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСды для установки Kivy

ПослС ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ зависимостСй Kivy ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ установку самого Kivy, создав Π΅Π³ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ срСду. НСт нСобходимости ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ срСду для запуска Kivy, Π½ΠΎ Π΅ΡΡ‚ΡŒ рСкомСндация ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒ Kivy ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ создания Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСды ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ инструмСнты, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Π΅Π΅ создания, ΡƒΠΆΠ΅ установлСны ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‚, Ρ‡Ρ‚ΠΎ инструмСнты virtualenv ΠΈ setuptools ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹.

virtualenv ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ срСды Python. Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ прСимущСствах Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСды Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠ΅Ρ‚ΠΈΡ‚ΡŒ страницу https://virtualenv.pypa.io/en/stable/. setuptools ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Python.

ПослС этого ΠΌΡ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ срСду Kivy. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° создаСт срСду с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ mykivyinstall.

ПослС ввСдСния этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΡ‹ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, Π½Π°Π·Π²Π°Π½Π½ΡƒΡŽ Π² соотвСтствии с ΠΈΠΌΠ΅Π½Π΅ΠΌ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСды, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° рисункС 1.

ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python

ПослС создания Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСды ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ установку Kivy. Она ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ.

Π’ΠΎΡ‡ΠΊΠ° (.) Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ прСдставляСт собой Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, которая выполняСт содСрТимоС Ρ„Π°ΠΉΠ»Π°, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°. Π­Ρ‚ΠΎ синоним источника ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ прСдыдущая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Π° этой ΠΊΠΎΠΌΠ°Π½Π΄Π΅:

Командная строка Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ послС Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСды ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

4. Установка Cython

ΠŸΠ΅Ρ€Π΅Π΄ установкой Kivy Cython Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ установлСн Π² Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ срСдС Π² соотвСтствии со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ вСрсия Cython зависит ΠΎΡ‚ вСрсии Kivy, которая Π±ΡƒΠ΄Π΅Ρ‚ установлСна. Π’ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ послСдняя вСрсия Kivy β€” 1.10.0, ΠΈ для Π½Π΅Π΅ трСбуСтся Cython 0.25.2, ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ поэтому ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π΅. ПослС этого ΠΌΡ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ установкС Kivy.

5. Установка Kivy

Kivy ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ pip Π² соотвСтствии со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

ПослС этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ оТидаСтся, Ρ‡Ρ‚ΠΎ Kivy Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ ΠΈ установлСн автоматичСски. Но ΡƒΡ‡Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ установка Kivy β€” это трудная Ρ‡Π°ΡΡ‚ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ сущСствуСт мноТСство зависимостСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²Π°Ρ€ΡŒΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² зависимости ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρƒ вас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅Ρ‚Ρƒ. ΠŸΡ€ΠΎΡ†Π΅ΡΡ Π½Π΅ являСтся простым ΠΈ прямолинСйным, поэтому Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ способы Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ошибок установки. НапримСр, Kivy ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ wheel-Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΏΡƒΡ‚Π΅ΠΌ клонирования Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° github Π² соотвСтствии со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

6. Π˜ΠΌΠΏΠΎΡ€Ρ‚ Kivy

ΠŸΡ€ΠΈ достиТСнии этого этапа, оТидаСтся, Ρ‡Ρ‚ΠΎ Kivy ΡƒΠΆΠ΅ установлСн ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эту срСду, ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π² Kivy, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° рисункС 2. Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ срСда Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½Π°, Python Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½ ΠΈ Kivy ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½.

ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python

УбСдившись, Ρ‡Ρ‚ΠΎ Kivy Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, ΠΌΡ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ нашС ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Kivy.

На этом ΠΊΠΎΠ½Π΅Ρ† ΠΏΠ΅Ρ€Π²ΠΎΠΉ части. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ части ΠΌΡ‹ приступим нСпосрСдствСнно ΠΊ написанию прилоТСния ΠΈ пСрСносу Π΅Π³ΠΎ Π½Π° Android-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Python для Android: Как Π½Π°Ρ‡Π°Ρ‚ΡŒ Π΄Π΅Π»Π°Ρ‚ΡŒ кроссплатформСнныС прилоТСния с Kivy

ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python

Π’ этом руководствС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ шаги, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для создания кроссплатформСнного прилоТСния для Android с использованиСм Python-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Kivy ΠΈ Linux Ubuntu. ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ установки ΠΈ запуском Kivy Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ зависимости. Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΡƒΠΉΠ΄Ρ‘Ρ‚ Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΡƒ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ срСды Kivy ΠΏΡƒΡ‚Π΅ΠΌ установки Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ Kivy Π±ΡƒΠ΄Π΅Ρ‚ установлСн Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСдС.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Linux Ubuntu 18.04 с Python 3.6.5. ΠŸΡ€ΠΈ запускС Kivy Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ различия. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌ ОБ, ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ/ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ/ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ скрипты Python, Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ прСдставлСниС ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° Linux ΠΈ Python.

1. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Kivy ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания СстСствСнных ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… интСрфСйсов с прСимущСствами абстракции ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Он отдСляСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΎΡ‚ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΈ слоТных Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ ΠΈ просто прСдоставляСт простыС API для выполнСния слоТных Π·Π°Π΄Π°Ρ‡. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ бэкСнд Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Kivy Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для выполнСния своих Π·Π°Π΄Π°Ρ‡. ΠœΡ‹ собираСмся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ SDL ( Simple DirectMedia Layer) β€” ΠΊΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ для Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ доступа ΠΊ графичСскому ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΡŽ Ρ‡Π΅Ρ€Π΅Π· OpenGL. Помимо SDL, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ GStreamer, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π°ΡƒΠ΄ΠΈΠΎ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚Π°ΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ написаны Π½Π° C, Π½Π°ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ потрСбуСтся Cython.

2. Установка зависимостСй Kivy

ΠžΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° инструкциях ΠΏΠΎ установкС Kivy Π½Π° Linux (https://kivy.org/docs/installation/installation-linux.html), здСсь пСрСчислСны Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для установки SDL2 ΠΈ GStreamer. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ Python для использования Π² Kivy с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ python ΠΈ python-dev для Python 2 ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ python3 ΠΈ python3-dev для Python 3. Pip Ρ‚Π°ΠΊΠΆΠ΅ находится Π² пСрСчислСнном Π½ΠΈΠΆΠ΅ спискС для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ использования Π² ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСды Kivy.

3. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСды для установки Kivy

ПослС ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ зависимостСй Kivy ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ установку самого Kivy, создав Π΅Π³ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ срСду. НСт нСобходимости ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ срСду для запуска Kivy, Π½ΠΎ Π΅ΡΡ‚ΡŒ рСкомСндация ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒ Kivy ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ создания Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСды ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ инструмСнты, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Π΅Π΅ создания, ΡƒΠΆΠ΅ установлСны ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‚, Ρ‡Ρ‚ΠΎ инструмСнты virtualenv ΠΈ setuptoolsΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹.

virtualenv ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ срСды Python. Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ прСимущСствах Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСды Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠ΅Ρ‚ΠΈΡ‚ΡŒ страницу https://virtualenv.pypa.io/en/stable/. setuptools ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Python.

ПослС этого ΠΌΡ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ срСду Kivy. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° создаСт срСду с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ mykivyinstall.

АргумСнт β€”no-site-packages ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для изоляции срСды ΠΎΡ‚ основной установки Python. Π­Ρ‚ΠΎ дСлаСтся для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ свободно Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с этим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, Π½Π΅ Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΠ² Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

ПослС ввСдСния этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΡ‹ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, Π½Π°Π·Π²Π°Π½Π½ΡƒΡŽ Π² соотвСтствии с ΠΈΠΌΠ΅Π½Π΅ΠΌ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСды, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° рисункС 1.

ПослС создания Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСды ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ установку Kivy. Она ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ.

Π’ΠΎΡ‡ΠΊΠ° (.) Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ прСдставляСт собой Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, которая выполняСт содСрТимоС Ρ„Π°ΠΉΠ»Π°, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°. Π­Ρ‚ΠΎ синоним источника ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ прСдыдущая ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Π° этой ΠΊΠΎΠΌΠ°Π½Π΄Π΅:

Командная строка Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ послС Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСды ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

4. Установка Cython

ΠŸΠ΅Ρ€Π΅Π΄ установкой Kivy Cython Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ установлСн Π² Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ срСдС Π² соотвСтствии со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ вСрсия Cython зависит ΠΎΡ‚ вСрсии Kivy, которая Π±ΡƒΠ΄Π΅Ρ‚ установлСна. Π’ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ послСдняя вСрсия Kivy β€” 1.10.0, ΠΈ для Π½Π΅Π΅ трСбуСтся Cython 0.25.2, ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ поэтому ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π΅. ПослС этого ΠΌΡ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ установкС Kivy.

5. Установка Kivy

Kivy ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ pip Π² соотвСтствии со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

ПослС этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ оТидаСтся, Ρ‡Ρ‚ΠΎ Kivy Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ ΠΈ установлСн автоматичСски. Но ΡƒΡ‡Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ установка Kivy β€” это трудная Ρ‡Π°ΡΡ‚ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ сущСствуСт мноТСство зависимостСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²Π°Ρ€ΡŒΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² зависимости ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρƒ вас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅Ρ‚Ρƒ. ΠŸΡ€ΠΎΡ†Π΅ΡΡ Π½Π΅ являСтся простым ΠΈ прямолинСйным, поэтому Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ способы Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ошибок установки. НапримСр, Kivy ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ wheel-Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΏΡƒΡ‚Π΅ΠΌ клонирования Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° github Π² соотвСтствии со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

6. Π˜ΠΌΠΏΠΎΡ€Ρ‚ Kivy

ΠŸΡ€ΠΈ достиТСнии этого этапа, оТидаСтся, Ρ‡Ρ‚ΠΎ Kivy ΡƒΠΆΠ΅ установлСн ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эту срСду, ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π² Kivy, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° рисункС 2. Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ срСда Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½Π°, Python Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½ ΠΈ Kivy ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½.

7. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ простого прилоТСния Kivy

УбСдившись, Ρ‡Ρ‚ΠΎ Kivy Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, ΠΌΡ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ нашС ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Kivy.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Kivy прСдставляСт ΠΈΠ· сСбя простой Ρ„Π°ΠΉΠ» Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит ΠΊΠΎΠ΄ Kivy. Π€Π°ΠΉΠ» Π² нашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Β« main.pyΒ». ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ создании мобильного прилоТСния Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β« main.pyΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Π²Ρ…ΠΎΠ΄ΠΎΠΌ прилоТСния. Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ создано, Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Ρ€ΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° Kivy, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π²Π²ΠΎΠ΄ тСкста (text input), ярлык (label) ΠΈ ΠΊΠ½ΠΎΠΏΠΊΡƒ (button). Π­Ρ‚ΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ Π² ΠΎΠΊΠ½Π΅ ΠΏΡ€ΠΈ использовании ΠΊΠΎΡ€ΠΎΠ±ΠΎΡ‡Π½ΠΎΠΉ схСмы располоТСния инструмСнтов. Они появятся Π² соотвСтствии с Ρ‚Π΅ΠΌ порядком, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² ΠΊΠΎΡ€ΠΎΠ±ΠΎΡ‡Π½ΡƒΡŽ схСму располоТСния. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, тСкстовый Π²Π²ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠΌ, ярлык Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° Π² самом Π½ΠΈΠ·Ρƒ. Когда ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π°ΠΆΠ°Ρ‚Π°, тСкст, Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π² тСкстовый Π²Π²ΠΎΠ΄, Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π² ярлыкС. Π’ΠΎΡ‚ ΠΊΠΎΠ΄ Kivy этого прилоТСния.

На рисункС 4 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΎΠΊΠ½ΠΎ с трСмя созданными Ρ€Π°Π½Π΅Π΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°ΠΌΠΈ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ высота ΠΎΠΊΠ½Π° дСлится ΠΏΠΎΡ€ΠΎΠ²Π½Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ трСмя Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°ΠΌΠ° Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Π» ΠΎΠ΄Π½Ρƒ Ρ‚Ρ€Π΅Ρ‚ΡŒΡŽ высоты ΠΎΠΊΠ½Π°. Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ сообщСниС Β« Hello KivyΒ» вводится Π² ΠΏΠΎΠ»Π΅ тСкстового Π²Π²ΠΎΠ΄. Когда ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π°ΠΆΠ°Ρ‚Π°, сообщСниС появится Π² ярлыкС.

На этом этапС ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Kivy для Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ создано. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΡƒ этого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΊΠ°ΠΊ прилоТСния для Android.

8. Установка Buildozer

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ Buildozer ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² качСствС прилоТСния для Android. ПослС установки Buildozer Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ процСсс создания прилоТСния для Android. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Buildozer, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ зависимости. Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ установлСнным Ρ€Π°Π½Π΅Π΅ Cython ΠΈ git, Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ установлСны. На основС инструкций ΠΏΠΎ установкС взятых с http://buildozer.readthedocs.io/en/latest/installation.html, всС зависимости ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ Ubuntu:

Buildozer ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ установлСн с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Buildozer Π±ΡƒΠ΄Π΅Ρ‚ установлСн ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½.

ПослС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ установки Buildozer, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠΌ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Android.

9. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° buildozer.spec

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° нашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° рисункС 5. Π’ ΠΏΠ°ΠΏΠΊΠ΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ simpleapp Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ Ρ„Π°ΠΉΠ» main.py, созданный Ρ€Π°Π½Π΅Π΅. ΠšΡ€Π°ΡΠΎΡ‚Π° Kivy Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ этот ΠΆΠ΅ Ρ„Π°ΠΉΠ» Python Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ для Android. Но Π΅ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ buildozer.spec, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для создания прилоТСния. Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± Android-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠ°ΠΊ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ вСрсия. Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ этот Ρ„Π°ΠΉΠ»?

ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python

Π€Π°ΠΉΠ» buildozer.spec ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сгСнСрирован с использованиСм инструмСнта Buildozer. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π½Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ‰Ρ‘Π½ Ρ„Π°ΠΉΠ» прилоТСния main.py, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

ΠŸΠΎΡΠ²ΠΈΡ‚ΡΡ сообщСниС, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π» создан Ρ„Π°ΠΉΠ» buildozer.spec, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° рисункС 6.

ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для android с нуля Π½Π° python

Π”Π°Π»Π΅Π΅ пСрСчислСны Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π²Π°ΠΆΠ½Ρ‹Ρ… свойств прилоТСния Android Π² Ρ„Π°ΠΉΠ»Π΅ buildozer.spec:

НапримСр, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ (title) содСрТит Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ прилоТСния, исходный ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ (source directory) ссылаСтся Π½Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ устанавливаСтся Π² этом случаС ΠΊΠ°ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, вСрсия прилоТСния, вСрсии Python ΠΈ Kivy ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π΅. Π­Ρ‚ΠΈ поля находятся Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ€Π°Π·Π΄Π΅Π»Π° [ app] Ρ„Π°ΠΉΠ»Π° спСцификации. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ спСцификации прилоТСния пройдя ΠΏΠΎ этой ссылкС http://buildozer.readthedocs.io/en/latest/specifications.html. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» спСцификации, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ всС поля, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, ΠΏΠΎ Π²Π°ΡˆΠ΅ΠΌΡƒ мнСнию, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ рСдактирования.

ПослС ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ всСх Ρ„Π°ΠΉΠ»ΠΎΠ², Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для создания Android прилоТСния, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°ΠΊΠΎΠ½Π΅Ρ† Π΅Π³ΠΎ создадим.

10. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ прилоТСния для Android с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Buildozer

Buildozer β€” Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ инструмСнт для создания прилоТСния для Android, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ срСду Π² соотвСтствии со всСми трСбованиям ΠΏΠΎ созданию ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ прилоТСния. Π­Ρ‚ΠΈ Ρ‚Π°ΠΊΠΈΠ΅ трСбования Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ python-for-android, Android SDK, NDK ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° прилоТСния Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

На рисункС 7 ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΎΡ‚Π²Π΅Ρ‚ ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. ΠŸΡ€ΠΈ создании прилоТСния Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π·, Buildozer Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ всС эти зависимости. Π­Ρ‚ΠΎ Π·Π°ΠΉΠΌΠ΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ загрузятся ΠΈ установятся. ΠŸΠΎΡ‚Π΅Ρ€ΠΏΠΈΡ‚Π΅.

ПослС выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ„Π°ΠΉΠ» APK Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΠ΄Π΅Π½ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°: /simpleapp/.buildozer/android/platform/build/dists/simpleapp/bin. Π€Π°ΠΉΠ» APK ΠΌΠΎΠΆΠ½ΠΎ пСрСнСсти Π½Π° устройство Android для Π΅Π³ΠΎ запуска. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ устройство Android ΠΊ машинС, ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ, Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ΄Π½Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, которая выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

На рисункС 8 ΠΏΠΎΠΊΠ°Π·Π°Π½ запуск прилоТСния для Android.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *