В процессе изучения языка мы обычно пользуемся ПК для работы с соответствующими приложениями, средами, программами, читаем книги, используем массовые онлайн курсы. Сейчас, когда смартфоны с нами всегда и везде, грех не воспользоваться их возможностями для усвоения знаний по программированию или их усовершенствования.
В процессе изучения языка программирования, в частности Python, я считаю, что нужна погружаться в него полностью. Лозунг: «Ни дня без кода!» я дополняю, ну если ни кодить, то хотя бы почитать об этом. Для того чтобы не выходить из ритма в условиях, когда нужно в жизни сделать многое, но некогда, а хотелось бы учить Python, мобильный приложения помогут не тратить зря время в транспорте, во время ожиданий и т.д.Предлагаю список приложений из Google Play для изучения Python на Android-устройствах, которые помогут не только получить знания, но и проверить свой уровень по Python.Три из ниже перечисленных приложений я обязательно советую студентам при изучении Python: Learn Python, Quiz&Learn Python и Python Challenge. Ну теперь подробнее.
1. Learn Python
Рейтинг 4,8 на 20.10.2015
Одно из лучших, симпатичное приложение: интерфейс сразу порадовал. Содержит короткие уроки и тесты, контролирующие процесс изучения Python. Есть элемент азарта – набираете очки, за прохождение занятий и тестов. По окончании курса можете получить сертификат. Приложение охватывает следующие темы: основы Python, типы данных, управляющие структуры, функции и модули, работа с файлами, функциональное программирование, объектно-ориентированное программирование, регулярные выражения.
Есть также приложение QPython3 , которое в отличие от QPython имеет поддержку python3.
3. Python Documentation
Рейтинг 4,4 на 19.10.2015
Удобное и стильное приложение с документацией по Python 3.5 на английском языке, полностью Offline. Имеет улучшенный поиск, простую навигацию, мобильный формат чтения, удобный интерфейс. В содержание документации входят такие разделы:
– как не сложно догадаться из названия приложения, в нем вы сможете получить максимально простое обучения языку программирования Python. Так что если вы давно хотели начать изучение этого языка, то вам стоит начать именно с этой замечательной программы. Ведь она полностью переведена на русский язык и будет помогать вам подсказками. Обычно такие приложения не переводятся на русский, что вызывает ряд проблем.
В этом же случае все удобно и отличном. Множество уроков и тестов позволят вам получить максимальную эффективность в обучении. Именно поэтому множество пользователей стали отзываться о приложении крайне положительно. Никогда раньше вам не было так просто и удобно начать изучения языка программирования. Разработчики постарались сделать все максимально удобно и понятно.
В этой статье я хотел бы рассказать о том, как создать полноценное приложение на Python для Android. Нет, это не очередной мануал для создания скрипта для sl4a , это мануал по созданию полноценного приложения с UI, возможностью собрать apk и выложить на Android Market. Заодно я хотел бы похвалиться своим первым приложением на google.play, это не hello world, а полезное приложение для фотографов, хотя и узко специализированное.
Начну рассказ пожалуй с самого приложения и завершу рассказам о том как оно делалось.
Копипаст описания и пара скриншотов:
isortViewer - программа для фотографов, которая позволяет легко и быстрой отбирать и сортировать тысячи фотографий (raw или jpg) с фотосессий на ваших android смартфонах и планшетах. При этом, нет необходимости копировать десятки гигабайт jpg или raw файлов на устройство. Просто воспользуйтесь бесплатной программой isortManager для компьютера, которая сохранит все в один небольшой файл проекта:
1. Скачайте и запустите isortManager с официального сайта ;
2. Создайте проект и добавьте папки с фотографиями. Поддерживаются форматы: jpg и raw (cr2, nef, orf и т.д.). В итоге у вас получится небольшой файл проекта (примерно 150 мб на несколько тысяч фотографий, будь то jpg или raw формат);
3. Скопируйте на ваше android устройство файл проекта, откройте в isortViewer. Вы можете помечать фотографии «на удаление», а так же, ставить рейтинги от 1 до 5 звезд;
4. После этого, скопируйте файл проекта обратно и примените изменения в isortManager. Кроме удаления выбранных фотографий, вы можете копировать или перемещать отмеченные фотографии. Например, фотографии с «5 звезд» можно скопировать в папку «шедевры», а «1 звезда» переместить в папку «хлам».
Приложение абсолютно бесплатно и доступно на google.play , однако донейты приветствуются.
Исходники доступны на официальном сайте!
Так как python лучший язык программирования в мире кроме python я ничего не знаю, решено было написать приложение на python.
С isortManager для PC проблем не возникло, создание GUI сборки под windows уже давно обкатано и работает он очень просто: с помощью dcraw выдирает jpg превьюшки из raw файлов, ресайзит из с помощью PIL и складывает в один файл с достаточно простой структурой. Был изобретен свой весолипед с контейнером для хранения фотографий и метаданных (полный путь к фотографии, отметка «на удаление» и отметка рейтинга), так как, например, zip или tar формат, не могут изменять один файл в архиве (метаданные), требую перепаковки всех файлов. Файлы просто пишутся один за другим подряд и в блоке метаданных (обычный repr питоновского словаря) в конце сохраняется смещения начала файлов, плюс в конце файла пишется размер блока метаданных. GUI написано на Tkinter (люблю я его за быстроту написания и за малый размер итоговой сборки), вот собственно скриншот:
И да, все это работает и на linux, и даже быстрее чем на windows)
Всего я нашел два способа заставить python приложение работать как полноценное приложение на android, это pygame for android и проект kivy .
Pygame - более низкоуровневый, все UI пришлось бы рисовать вручную, что отняло бы много времени, поэтому был выбран фреймворк kivy. Итак:
Это замечательный фрейморк для написания приложение для windows, linux, MacOS, android и iOS. Поддерживается мультитач, UI рисутется через OpenGL, значит должно работать аппаратное ускорение. Увидеть работу виджетов можно установив демонстрационное приложение Kivy Showcase . Есть возможность использования некоторых платформо специфичных функций, например, вибро или акселерометр, с помощью модуля android.
Hello World выглядит так:
Import kivy kivy.require("1.0.6") # replace with your current kivy version ! from kivy.app import App from kivy.uix.button import Button class MyApp(App): def build(self): return Button(text="Hello World") if __name__ == "__main__": MyApp().run()
Причем этот код будет работать на всех заявленных платформах. Пропадает необходимость в тестировании приложения в эмуляторе. Достаточно запустить скрипт на исполнение в своей любимой IDE и увидеть результат на экране компьютера, без задержек на компиляцию, запуск эмулятора и пр. Если вы все же хотите увидеть как это будет выглядеть непосредственно на устройстве, просто установите Kivy Launcher , скопируйте файлы проекта на карту памяти и запустите. Дебажить при этом можно при помощи adb logcat.
Если вы используете библиотеку android, которой нет на PC, но хочется запускать приложение не только на android, воспользуйте такой конструкцией:
try:
import android
except ImportError:
android=None
...
if android:
android.vibrate(0.05)
Сборка apk достаточно проста и описана на этой странице. После сборки релиза, достаточно подписать свое приложение (я использовал этот мануал) и выложить в google play.
Плюсы kivy:
Минусы kivy:
В следующей своей статье, я расскажу более подробно о процессе написания приложения «с нуля», расжевывая каждую строчку кода.
Хотелось бы сразу пресечь холивары на тему «для android только java, python не нужен». Я считаю, не важно, какие технологии «под капотом», главное чтоб приложение было качественным.
Сфера применения kivy может быть огромной. Сейчас на моем счету несколько приложений, написанных под заказ, где python с фремворком kivy показал себя с хорошей стороны. Например, ровно за один час, было написано приложение, для сети сервисных центров. Приложение работает в режиме киоска и установлено на дешевые китайские планшеты, которые висят в холле. Клиент набирает номер заказа, далее по WiFi планшет соединяется с сервером и сообщает статус заказа.
Теги: Добавить метки
17 11.2017
Развитие технологий разработки программного обеспечения не стоит на месте и с каждым днем появляются новые языки и библиотеки, помогающие сделать процесс разработки максимально быстрым и эффективным. Многие разработчики, выбирающие новый язык программирования для изучения, в особенности для написания приложений для операционной системы Android, останавливаются на Python Android. В данной статье мы рассмотрим Python как язык программирования под Android, обсудим разработку приложений, установку приложений на Android и многие другие вопросы, которые будут интересны многим начинающим Python-разработчикам.
Из этой статьи вы узнаете:
Добро пожаловать на страницы блога kip-world! С вами как всегда я, Гридин Семён, и сегодня мы расскажем вам о программировании на языке Python для Android. Мы рассмотрим такие темы как установка Python, разработка и запуск приложений.
На данный момент, Python является одним из самых любимых языков разработки для начинающих программистов, в особенности для людей, интересующихся разработкой программного обеспечения для устройств под управлением операционной системы Android.
Python for android позволяет создавать несложные приложения с минимумом затрат. Более того, поняв один раз принцип разработки на python для android, разработчику больше не потребуется вникать в подробности и нюансы написания программы. Более того, Android API здорово систематизирован и прост в применении.
В первую очередь, нам понадобится правильная среда разработки. Определитесь с актуальной на данный момент версией Android, учитывая, что данная операционная система поддерживает обратную совместимость.
Иными словами, приложения, разработанные для версии 6.0.2, будут работать и на 5.0.1, однако зачастую приложения, разработанные для более старых версий ОС, не поддерживаются более новыми версиями.
Установите SL4A , удобную среду разработки и начинайте творить в соответствии с гайдлайнами, доступными на официальном сайте, посвященном операционной системе.
Стоит также учесть, что приложения могут быть разработаны и установлены не только на операционную систему android, но также на устройства под управлением других операционных систем: MAC OS, Windows и Linux. Такая возможность расширяет горизонты разработки, позволяя использовать ту среду, которая удобна в данный момент.
Следующий вопрос – как именно python для андроид получает возможность запускать наши приложения на девайсе. Разработка на python для android с инструментом python for android упрощает работу тем, что данный инструмент создает на вашем устройстве дистрибутив – специальную зашифрованную папку, которая содержит все необходимые для проекта данные.
Установить данный инструмент можно прямо с официального сайта android, после чего вы с легкостью сможете запускать необходимые приложения на телефоне.
Для удобной разработки и, собственно, разработки непосредственно с девайса, нам понадобится . Качественное программирование на python для андроид требует установки правильного интерпретатора.
Одним из самых популяных является QPython, работу в котором можно начать сразу же после установки. Более того, интерпретатор позволяет за писать и запускать написанные приложения прямо из интерфейса разработчика.
Если вы хотите запустить интерпретатор без использования приложения, вам придется написать небольшой скрип, создание которого займет не более 30 минут. С помощью такого скрипта, мы можем запустить приложение непосредственно из терминала, или же с помощью автоматизированного скрипта.
Такой скрипт может быть написан заранее и размещен на удобном источнике (в том числе на карте памяти) и запущен в удобное для пользователя время. Существует множество интерпретаторов, потому чтобы найти свой, понадобится какое-то время.
Интерпретатор QPython позволяет запускать приложения, в том числе игры для андроид на python, непосредственно на выбранном устройстве. Данный интерпретатор содержит также консоль, условную среду разработки, SL4A-библиотеку, которая просто необходима при создании сценариев для скриптов.
Плюсами QPython являются:
Удобство работы с Python заключается в доступности десятков качественных официальных мануалов, позволяющих создавать отличные приложения самостоятельно и практически с нуля.
Это дает возможность не только научиться самостоятельному программированию, но и получить полноценную программу для мобильного устройства.
Как вы можете видеть, вовсе необязательно браться за изучения столь сложных языков как Java для того, чтобы писать достойные Android-приложения.
Вы можете выбрать и более простой язык, который будет не просто легче в изучении и использовании, но и будет более «Эластичным» и применяемым в жизни при изменении условий, в которых нам необходимо учувствовать.
Мы надеемся, что наша статья была полезна и информативна для пользователя. Расскажите нам, какими языками программирования пользуетесь вы? Как часто обновляете знания или изучаете новые языки программирования?
Оставляйте свои комментарии под постом, делитесь с друзьями записью и задавайте вопросы, на которые я с радостью отвечу.
С уважением, Гридин Семён