Добавить в корзинуПозвонить
Найти в Дзене
Программы от меня

СОЗДАЕМ АНДРОИД-ПРИЛОЖЕНИЕ НА PYTHON: ИЛИ КАК Я ПЕРЕСТАЛ БОЯТЬСЯ И ЗАПУСТИЛ «HELLO WORLD» СПУСТЯ 6 ЧАСОВ

Интро (кролики это не только ценный мех):
Привет, дорогой читатель! Если ты думаешь, что Python — это только для написания скриптов по сбору мемов с котиками, то я спешу тебя обрадовать (или огорчить). На этом змееподобном языке можно строить мобильные приложения. Да-да, те самые, которые потом будут виснуть на твоем старом Samsung. Я прошел этот путь, чтобы ты не наступал на те же грабли. Пристегнись, будет больно, смешно и познавательно. Когда я загуглил «Python for Android», мне выпало три варианта. Два из них требуют знания Java (фу, это же взрослая жизнь), а третий — Kivy. Что такое Kivy? Это такая библиотека, которая позволяет вашему красивому коду превратиться в уродливое, но работающее приложение. Интерфейс там рисуется не стандартными кнопочками Android, а своими собственными. Это выглядит так, будто вы перенесли игру 2005 года на сенсорный экран. Но нас это не остановит! Мы же программисты, а не дизайнеры. Установка:
Открываем консоль. Пишем магическое заклинание:
pip insta
Оглавление



Интро (кролики это не только ценный мех):
Привет, дорогой читатель! Если ты думаешь, что Python — это только для написания скриптов по сбору мемов с котиками, то я спешу тебя обрадовать (или огорчить). На этом змееподобном языке можно строить мобильные приложения. Да-да, те самые, которые потом будут виснуть на твоем старом Samsung.

Я прошел этот путь, чтобы ты не наступал на те же грабли. Пристегнись, будет больно, смешно и познавательно.

Шаг 1. Выбор фреймворка: ложь, наглый обман и Kivy

Когда я загуглил «Python for Android», мне выпало три варианта. Два из них требуют знания Java (фу, это же взрослая жизнь), а третий — Kivy.

-2

Что такое Kivy? Это такая библиотека, которая позволяет вашему красивому коду превратиться в уродливое, но работающее приложение. Интерфейс там рисуется не стандартными кнопочками Android, а своими собственными. Это выглядит так, будто вы перенесли игру 2005 года на сенсорный экран.

Но нас это не остановит! Мы же программисты, а не дизайнеры.

Установка:
Открываем консоль. Пишем магическое заклинание:
pip install kivy
Если у вас посыпались ошибки — выпейте чаю. Если ошибки исчезли — значит, вы не туда смотрели. На самом деле Kivy ставится просто, если у вас не Windows. Владельцам Windows придется потупить пару минут, но мы справимся.

Шаг 2. Пишем код (минута славы)

-3

Открываем блокнот (ну или нормальную IDE, если вы задрот). Пишем «шедевр»:

from kivy.app import App
from kivy.uix.button import Button

class MyApp(App):
def build(self):
return Button(text='Я создал приложение!',
size_hint=(0.5, 0.2),
pos_hint={'center_x': 0.5, 'center_y': 0.5})

if __name__ == '__main__':
MyApp().run()

Что мы сделали? Мы создали кнопку на весь экран (нет, она маленькая) с надписью «Я создал приложение!».
Запускаем на компьютере — работает! Ура! Мы почти андроид-разработчики. Осталось запихнуть это в телефон.

Шаг 3. Сборка APK (АД И ИЗРАИЛЬ)

Вот тут начинается самое веселое. Чтобы превратить этот питоновский код в файлик .apk, который можно кинуть другу, используется Buildozer.

-4

Buildozer — это программа, которая скачивает кучу мусора в вашу систему, матерится на вашу версию Linux и через час выдает вам заветный APK-шник.

Инструкция (спойлер: сработает только на Linux/Mac):

  1. Устанавливаем Buildozer: pip install buildozer
  2. Инициализируем: buildozer init
  3. В открывшемся файле buildozer.spec меняем название иконки (или не меняем, иконка будет стандартный робот).
  4. Запускаем команду, которая сожрет весь ваш трафик: buildozer android debug deploy run

Идем пить кофе. Если через 40 минут Buildozer не выдал ошибку «failed to install APK», значит, вы счастливый обладатель кривого APK.

Шаг 4. Запуск на телефоне (финал)

Кидаем файл на телефон. Устанавливаем. Запускаем.
Приложение весит
аж 18 мегабайт (потому что Kivy тащит с собой интерпретатор Python целиком).

Телефон подвисает на секунду. Загрузка... И... ОПА! Вы видите свою кнопку!

Поздравляю! Ваше приложение делает ровно одно действие: показывает кнопку, которая никуда не ведет. Но вы это сделали! Вы — бог.

Бонус: Правда, которую не пишут в умных книжках

  1. Скорость работы. Если вы сделаете сложное приложение, ваш телефон будет греться как утюг. Python на Android — это не нативно, ребята.
  2. Дизайн. Забудьте про красивые Material Design. Ваше приложение будет выглядеть как интерфейс стиральной машины из 90-х. Чтобы сделать красиво, нужно ставить KivyMD, но это уже совсем другая боль.
  3. Зачем это всё? А чтобы похвастаться перед коллегами и сказать: «Я пишу под мобилки на Python». Звучит гордо, даже если приложение вылетает при повороте экрана.

Итог или «Зачем я это прочитал?»

Создание Android-приложений на Python возможно. Это как приготовить борщ в микроволновке: вроде и съедобно, и быстро, но профи (андроид-разработчики на Java/Kotlin) будут на вас смотреть с жалостью.

Но если вы новичок и хотите пощупать мобильную разработку без изучения джавы — Kivy ваш выбор.

Полезные ссылки для поиска инфы в Дзене:

  • Гуглите «KivyMD уроки» — там научат делать красиво.
  • Гуглите «Buildozer ошибки» — там вы найдете сочувствие.

А теперь идите и создавайте! Или не создавайте. Просто поставьте лайк этой статье, чтобы я знал, что вы дочитали до конца. 🙃