как сделать android приложение на python

Разработка мобильных приложений на Python. Библиотека KivyMD

как сделать android приложение на python. Смотреть фото как сделать android приложение на python. Смотреть картинку как сделать android приложение на python. Картинка про как сделать android приложение на python. Фото как сделать android приложение на python

Приветствую! Сегодня речь снова пойдет о библиотеке KivyMD — наборе виджетов для кроссплатформенной разработки на Python в стиле Material Design. В этой статье я сделаю не обзор виджетов KivyMD, как в недавней статье, а, скорее, это будет материал больше о позиционировании виджетов. Что-то похожего на туториал по разработке мобильных приложений на Python для новичков здесь не будет, так что если впервые слышите о фреймворке Kivy, вряд ли вам будет все это интересно. Ну, а мы погнали под кат!

На днях скачал из Google Play демонстрационное приложение Flutter UIKit:

как сделать 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

Некоторые элементы UI отличаются, не в силу каких-то технических особенностей, из-за которых нельзя было получить идентичный результат, а просто я посчитал, что так будет более органичней (например, черный Toolbar, по моему мнению, совсем не смотрится).

Итак! Что бросается в глаза, глядя на экран, который мы будем воспроизводить? Прозрачный фон переднего layout. В Kivy такую возможность предоставляет FloatLayout, который позволяет размещать в себе виджеты и контроллы один над другим следующим образом:

как сделать 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

Почему я говорю о FloatLayout, если наш экран унаследован от Screen?

Все виджеты во FloatLayout позиционируются от нижнего левого угла, то есть, на экране им автоматически присваивается позиция (0, 0). В разметке не сложно проследить порядок добавления элементов на экран сверху вниз:

как сделать 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

как сделать android приложение на python. Смотреть фото как сделать android приложение на python. Смотреть картинку как сделать android приложение на python. Картинка про как сделать android приложение на python. Фото как сделать android приложение на python

Если кто-то обратил внимание, то позицию мы указали только одному виджету:

Каждому виджету в Kivy помимо конкретных координат (x, y) можно указать подсказку позиции:

Так вот, нижнее фоновое изображение…

… благодаря виджету FitImage (библиотека KivyMD), автоматически растягивается на все выделенное ему пространство с сохранением пропорций изображения:

как сделать android приложение на python. Смотреть фото как сделать android приложение на python. Смотреть картинку как сделать android приложение на python. Картинка про как сделать android приложение на python. Фото как сделать android приложение на python

По умолчанию каждому виджету и лайоуту в Kivy предоставляется 100 % пространства, если не указанно иное. Например, если вы захотите добавить на экран одну кнопку, вы, очевидно сделаете следующее:

И получите результат:

как сделать android приложение на python. Смотреть фото как сделать android приложение на python. Смотреть картинку как сделать android приложение на python. Картинка про как сделать android приложение на python. Фото как сделать android приложение на python

Кнопка заняла 100 % пространства. Чтобы разместить кнопку по центру экрана, нужно, во-первых, задать ей необходимый размер и, во-вторых, указать, где она будет находится:

Теперь картина изменилась:

как сделать android приложение на python. Смотреть фото как сделать android приложение на python. Смотреть картинку как сделать android приложение на python. Картинка про как сделать android приложение на python. Фото как сделать android приложение на python

Также можно указать свойство size_hint, от 0 до 1, (эквивалент 0-100%), то есть, подсказка размера:

как сделать android приложение на python. Смотреть фото как сделать android приложение на python. Смотреть картинку как сделать android приложение на python. Картинка про как сделать android приложение на python. Фото как сделать android приложение на python

Или тоже самое, но подсказка ширины (size_hint_x):

как сделать android приложение на python. Смотреть фото как сделать android приложение на python. Смотреть картинку как сделать android приложение на python. Картинка про как сделать android приложение на python. Фото как сделать android приложение на python

MDToolbar имеет высоту в 56dp, не может занимать все пространство, и если ему не подсказать, что его место сверху, то он автоматически прилипнет к нижней части экрана:

как сделать android приложение на python. Смотреть фото как сделать android приложение на python. Смотреть картинку как сделать android приложение на python. Картинка про как сделать android приложение на python. Фото как сделать android приложение на python

Список карточек — OrderProductLayout (о нем мы поговорим ниже) — это ScrollView с элементами MDCard и он занимает всю высоту экрана, но благодаря padding (значения отступов в лайоутах) кажется, что он находится чуть выше центра экрана. Ну а MDBottomAppBar по умолчанию кидает якорь к нижней границе экрана. Поэтому только MDToolbar мы указали, где его место.

Теперь давайте посмотрим, что представляет из себя виджет OrderProductLayout:

как сделать android приложение на python. Смотреть фото как сделать android приложение на python. Смотреть картинку как сделать android приложение на python. Картинка про как сделать android приложение на python. Фото как сделать android приложение на python

Как видим, это четыре карточки, вложенные в ScrillView. В отличие от родительского экрана, который унаследован от FloatLayout, здесь все виджеты читаются сверху вниз.

как сделать android приложение на python. Смотреть фото как сделать android приложение на python. Смотреть картинку как сделать android приложение на python. Картинка про как сделать android приложение на python. Фото как сделать android приложение на python

Это очень удобно, поскольку прослеживается четкая иерархия виджетов, древовидная структура и с одного взгляда понятно, какой виджет/контролл какому лайоуту принадлежит. В Kivy наиболее частым используемым лайоутом является BoxLayout — коробка, которая позволяет размещать в себе виджеты по вертикали либо по горизонтали (по умолчанию — последнее):

как сделать android приложение на python. Смотреть фото как сделать android приложение на python. Смотреть картинку как сделать android приложение на python. Картинка про как сделать android приложение на python. Фото как сделать android приложение на python

Более наглядно это видно из следующей схемы, где используется BoxLayout горизонтальной ориентации:

как сделать android приложение на python. Смотреть фото как сделать android приложение на python. Смотреть картинку как сделать android приложение на python. Картинка про как сделать android приложение на python. Фото как сделать android приложение на python

Мы запретили BoxLayout использовать 100% пространства — size_hint_y: None и сказали — твоя высота будет ровно такой, какой будет высота самого высокого элемента, вложенного в тебя — height: self.minimum_height.

как сделать android приложение на python. Смотреть фото как сделать android приложение на python. Смотреть картинку как сделать android приложение на python. Картинка про как сделать android приложение на python. Фото как сделать android приложение на python

Если бы мы захотели использовать вертикальную прокрутку списка, нам нужно было бы изменить GridLayout следующим образом:

Заменить строки (rows) на столбцы (cols) и указать в minimum не ширину, а высоту:

как сделать android приложение на python. Смотреть фото как сделать android приложение на python. Смотреть картинку как сделать android приложение на python. Картинка про как сделать android приложение на python. Фото как сделать android приложение на python

Следующие карты — выбор цвета и размера (они практически идентичны):

как сделать android приложение на python. Смотреть фото как сделать android приложение на python. Смотреть картинку как сделать android приложение на python. Картинка про как сделать android приложение на python. Фото как сделать android приложение на python

Отличительной особенностью языка разметки Kv Language является не только четкая структура виджетов, но и то, что этот язык поддерживает некоторые возможности языка Python. А именно: вызов методов, создание/изменение переменных, логические, I/O и математические операции…

как сделать android приложение на python. Смотреть фото как сделать android приложение на python. Смотреть картинку как сделать android приложение на python. Картинка про как сделать android приложение на python. Фото как сделать android приложение на python

Вычисление значения value, объявленного в Label

… происходит непосредственно в самой разметке:

И я никогда не поверю, что вот это (код Flutter)…

как сделать android приложение на python. Смотреть фото как сделать android приложение на python. Смотреть картинку как сделать android приложение на python. Картинка про как сделать android приложение на python. Фото как сделать android приложение на python

… логичнее и читабельнее кода Kv Language:

как сделать android приложение на python. Смотреть фото как сделать android приложение на python. Смотреть картинку как сделать android приложение на python. Картинка про как сделать android приложение на python. Фото как сделать android приложение на python

Вчера меня спрашивали, как у Kivy обстоят дела со средой разработки, есть ли автокомплиты, хотрелоад и прочие прелести? С автокомплитами все отлично, если пользоваться PyCharm:

как сделать android приложение на python. Смотреть фото как сделать android приложение на python. Смотреть картинку как сделать android приложение на python. Картинка про как сделать android приложение на python. Фото как сделать android приложение на python

Насчет хотрелоад… Python — интерпретируемый язык. Kivy использует Python. Соответственно, чтобы увидеть результат, не нужна компиляция кода, запустил — увидел/протестирвал. Как я уже говорил, Kivy не использует нативные API для рендера UI, поэтому позволяет эмулировать различные модели устройств и платформ с помощью модуля screen. Достаточно запустить ваш проект с нужными параметрами, чтобы на компьютере открылось окно тестируемого приложения так, как если бы оно было запущено на реальном устройстве. Звучит странно, но поскольку Kivy абстрагируется от платформы в отрисовке UI, это позволяет не использовать тяжелые и медленные эмуляторы для тестов. Это касается только UI. Например, тестовое приложение, описываемое в этой статье тестировалось с параметрами -m screen:droid2, portrait, scale=.75.

Слева — запущено на мобильном устройстве, справа — на компьютере:

как сделать android приложение на python. Смотреть фото как сделать android приложение на python. Смотреть картинку как сделать android приложение на python. Картинка про как сделать android приложение на python. Фото как сделать android приложение на python

как сделать android приложение на python. Смотреть фото как сделать android приложение на python. Смотреть картинку как сделать android приложение на python. Картинка про как сделать android приложение на python. Фото как сделать android приложение на python

Ну, и, наконец, финальный результат — запуск на мобильном устройстве…

Единственное, что огорчает, это скорость запуска. У того же Flutter она просто феноменальная!

Надеюсь, был кому-то полезен, до новых встреч!

Источник

как сделать android приложение на python. Смотреть фото как сделать android приложение на python. Смотреть картинку как сделать android приложение на python. Картинка про как сделать android приложение на python. Фото как сделать android приложение на python
Изучаю python kivy и для себя решил написал маленькое приложение, чтобы разнообразить свое питание. Решил поделиться. Статья рассчитана на новичков в kivy. Приложение занимает около 100 строк кода.

Цель создания велосипеда приложения:

Интро

Можно не читать, в интро всякая лирика.

Пришлось пожить в одной стране, в одной гостинице, где кормили ежедневно яйцами на завтрак и больше ничем, так через месяц начал чесаться. Обращался за медицинской помощью, хотя раньше никогда ничем подобным не страдал. Наученный горьким опытом после этого для себя решил допускать как можно меньше повторений в еде, чтобы ничего не успевало в организме накопиться. Это мой личный опыт, я просто рассказываю, без навязывания. Возможно, нет правил без исключения, наверное, овсянку можно есть и каждый день на протяжении десятков лет.

Скриншоты

как сделать android приложение на python. Смотреть фото как сделать android приложение на python. Смотреть картинку как сделать android приложение на python. Картинка про как сделать android приложение на python. Фото как сделать android приложение на python

Предположим мой рацион состоит из 50 блюд. Например, сегодня ел омлет. Нажимаю на кнопку, и омлет стал на 50 строку в очереди, а перед ним стоят 49 блюд, которые съем, чтобы опять добраться до омлета. Вот и вся логика приложения. (На скриншотах блюда нагенеренные, все совпадения случайны, к моему реальному рациону отношения не имеющие).

Исходный код и пояснения

Я сознательно не использовал kv файлы, так как код дан в учебных целях, для людей, которые знакомы с python. Все написано на голом python. В пояснениях я не буду останавливаться на объяснении python кода, а сразу перейду к специфическим фишкам Kivy.

Запуск на windows & linux & macos

Принцип для всех операционок одинаковый:

Программа должна заработать.

Сборка apk файла и запуск на телефоне с андроид

Итак, у нас есть файл с кодом программы, написанный на python. Как теперь создать приложение, чтобы его можно было запустить на телефоне с андроидом? Раньше это был достаточно мудреный процесс, требующий навыков и танцев с бубном. Теперь это не проблема.
Вот пошаговая инструкция:

как сделать android приложение на python. Смотреть фото как сделать android приложение на python. Смотреть картинку как сделать android приложение на python. Картинка про как сделать android приложение на python. Фото как сделать android приложение на python

Как закинуть apk файл на телефон?

Можно, конечно, сделать это как угодно, отправить себе по почте, куда-нибудь выложить, закинуть в телеграмм и т.д., а потом скачать приложение на телефон.

Но существует специализированный инструмент для этого. Включаем на телефоне режим разработчика, подключаем USB-кабелем. Виртуалка должна увидеть, что вы подключили телефон. Дальше устанавливаем adb:

После установки заходим в папку bin и вводим команду

И можно примерно через минутку увидеть на телефоне приложение после того, как увидим
Success в консоли.

Если вдруг приложение падает или ведет себя не так, как ожидалось, то есть вот такая команда для просмотра ошибок

Русское имя приложения

Если вы захотите, чтобы ваше приложение называлось по-русски, например, «Дневник питания», то надо внести изменения в файл:

В тег appName прописывается русское название приложения, эта папка создается после первого запуска buildozer android debug. После того как файл отредактируете, вернитесь назад в папку FoodOptions и запустите buildozer android debug повторно. Файл соберется по-новой. После установки на телефон имя программы будет написано на русском.

О файле buildozer.spec

Вот мой файл с гитхаба: buildozer.spec
Именно этот файл указывает buildozer-у, как именно собрать пакет.

Там множество разных вариаций. Кому интересно, то введите внутри виртуалки команду:

Будет создан дефолтный файл buildozer.spec с кучей комментариев и пояснений. Например, если вы хотите какую-нибудь свою иконку для приложения, то указываете в строке:

свой файл с иконкой. И приложение соберется уже с вашей иконкой.

Если вам надо подгрузить какой-нибудь специфический модуль, который не входит в официальную библиотеку python, то это делается в строке requirements =. В общем, рассказ о файле buildozer.spec может занять целую статью, а то и две.

Загрузка приложения в Google Play

Надо зарегаться, пройти все процедуры, получить ключи. И дальше запускать:

Полученный файл apk-apkname-release.apk заливать в Google Play.

Ссылки

Источник

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 не будет опубликован. Обязательные поля помечены *