Pull to refresh

Деревянные игрушки-2 или Питоним на смартфоне

Reading time4 min
Views1.6K
После того, как я опубликовал пару дней назад пост «Деревянные игрушки или Как я писал мобильные игры с телефона» за авторством теперь уже хабраюзера Artemzr, моя аська и почта пережили мини-хабраэффект: желающих попасть на главную хабра таким путём оказалось не так уж мало.

Среди них был и московский студент OmKol хабраюзер OmKol, которого этот пост вдохновил на то, чтобы поделиться уже своим опытом: как написать программу на Python на смартфоне, используя только средства смартфона, без ПК.

Это руководство относится только к смартфонам Symbian 8.1 и ниже, хотя часть нижеперечисленных программ присутствует и на Symbian 9.x.

Итак, что я использовал:
  1. Собственно интерпретатор Python и Python Script Shell – необходимая вещь для дебага кода – находится здесь sourceforge.net/projects/pys60/files
  2. Python Modules Pack – неофициальный комплект сторонних модулей, расширяющий возможности Python.
  3. Two Towers – среда программирования, написанная на Python, обладает довольно мощным функционалом.
  4. Image Designer – мощный графический редактор с десятками фильтров и огромным количеством функций, также написанный на Python. Необязательное приложение, но ведь мы хотим написать полноценную программу, с графикой, не так ли?
  5. MBMTool – если вы хотите, чтобы у вашей программы была иконка, то эта программа вам обязательно пригодится. Написана на Python.
  6. SISBOOM – программа, позволяющая упаковать вашу программу в установочный пакет в формате sis. И да, тоже написана на Python.
  7. Вышеперечисленные программы можно скачать здесь narod.ru/disk/17555215000/PyS60v2DevSoft.zip.html
  8. Любой файловый менеджер с доступом к системным папкам файловой системы.

Я не буду описывать сам процесс программирования на Python – есть люди, которые сделают это лучше меня.

Я расскажу о том, как с помощью вышеперечисленных программ получить полноценное приложение. Итак:

устанавливаем сам интерпретатор Python, Python Script Shell и Python Modules Pack, а затем собственно Two Towers.

После установки в меню вы увидите значки Tower 1 и Tower 2 с одной и той же программой – пригодится, если вы при написании программы параллельно собираетесь писать модуль для нее или просто текстовый файл.

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

При создании программы вы можете использовать готовый шаблон, в котором импортируются основные модули, описываются такие функции, как кодирование текста в utf-8 и его декодирование, что пригодится для вывода текста на русском языке на экран, функции вывода информационного сообщения и сообщения об ошибке, функция обработки исключений и вывода ошибок на экран — в общем, некоторая работа за вас сделана.

Программа сохраняется в \System\Apps\Python\my\, что достаточно удобно, если вас не устраивает дебаггер в Two Towers и вы хотите проводить дебаг в Python Script Shell. Когда программа уже готова, неплохо бы ее установить для последующей упаковки – пункт меню “Инструменты>Установить”. Вам предложат вписать имя программы и ее идентификатор UID в формате 0x12abcdef. Важно подобрать уникальный UID, не совпадающий с UID других приложений, кроме того, в случае выбора недопустимого UID программа выдаст ошибку установки – ничего страшного в этом нет, просто придется подобрать другой UID.

image image
Окно программы              Вводим UID для установки программы

Теперь неплохо бы создать значок для программы. Для этого мы откроем Image Designer. Нам нужно создать 4 изображения – две с разрешением 42х29 и две с разрешением 44х44. Одним изображением будет собственно значок в формате PNG с битностью 24 бит, а другим маска – черно-белое или монохромное изображение (формат PNG с битностью 8 бит), яркость пикселя в котором определяет прозрачность пикселя в самом изображении. Белый пиксель – нет прозрачности, черный пиксель – полная прозрачность. Значок 42х29 будет изображаться в меню, а значок 44х44 – в запущенном приложении.

image image
Image Designer такой навороченный Вот такой значок занял у меня десять минут

Полученные изображения необходимо сохранить в папку \python\mbmtool\img\ в порядке: 42х29 изображение, 42х29 маска, 44х44 изображение, 44х44 маска. Затем открываем MBMTool, выбираем инверсию 24bit/8bit или 16bit/8bit, после чего приступаем к упаковке выбором соответствующего пункта меню “Запаковать”. В итоге получится mbm-файл, сохраненный по пути \python\mbmtool\mbm\. Перейдем к вкладке mbm и выберем пункт “Создать иконку”. Затем мы выбираем mbm-файл для создания значка, указываем ее UID либо выбираем app-файл нашей программы из \System\Apps\Имя_программы\, из которого берется UID. После мы вводим название программы и имя aif-файла, которое должно совпадать с именем aif-файла из программы, находящейся по пути \System\Apps\Имя_программы\. Иконка будет создана и сохранена в папке \python\mbmtool\aif\. Этим aif-файлом потом заменяем старый aif-файл по пути \System\Apps\Имя_программы\.

image image
Меню программы MBMTool Пошла упаковка – с прогресс-баром

image image
Создаем иконку              Файловый менеджер в MbmTool

Теперь приступим к финальному этапу всего этого безобразия – созданию установочного пакета. Для этого используем SISBOOM. Есть два варианта упаковки программы – или прямиком из \system\apps, или заморочившись и создав свой проект со структурой всех файлов, которые будут находиться в проекте. Во втором случае необходимо будет создать папку проекта и в ней три подпапки – “C” (упаковка файлов, устанавливающихся в основную память), “E” (упаковка файлов для карты памяти) и “!” (диспетчер приложений спросит, куда файлы из этой папки устанавливать). После выбора папки в обоих случаях вам предложат отредактировать файл project.info – в этом файле содержатся сведения об установочном пакете, такие, как UID проекта, его название, версия, тип проекта, также можно написать описание проекта, которое появится в процессе установки пакета. При нажатии на правый софт и выборе пункта “Сохранить и упаковать” начнется упаковка проекта. Этот процесс может длиться долго – все зависит от размера вашей программы. После упаковки sis-пакет появится в папке проекта или в корне диска.

image image
Меню SISBOOM               Вот и упаковали программу

Вот и все – полноценная программа на Python со значком в меню и установочным пакетом готова!

P.S. Автор поста — хабраюзер OmKol, прошу любить и кармы не жалеть :)
Tags:
Hubs:
If this publication inspired you and you want to support the author, do not hesitate to click on the button
Total votes 46: ↑38 and ↓8+30
Comments16

Articles