All streams
Search
Write a publication
Pull to refresh

Comments 40

Спасибо за статью. Давно хотел попробовать силы а разработке под Андроид, а тут еще и питончик любимый.
Зaблyждeниe 1
Пpилoжeниe нa Kivy зaкpывaeтcя пpи пoпыткe cвepнyть eгo в тpeй.

Тут полезно дать ссылку на документацию, где рассказывается про Pause mode и его особенности. Но вкратце, как вы верно заметили, он по-умолчанию активен.
Последний раз, когда я смотрел, у kivy были большое проблемы с python3 поддержкой. Сейчас так же или уже лучше?

У третьей веткой проблем нет никаких.

Я не очень в курсе насчет Kivy, но я в курсе насчет python3, что там используется. Не хочу показаться нескромным, но в Kivy, насколько я знаю, используется python3 из моего проекта, CrystaX NDK. Об этом, в частности, прямо говорится в README kivy/buildozer.

Ну а python3 из CrystaX NDK работает на Android отлично а) благодаря хорошей поддержке POSIX, благодаря которой python3 собирается из upstream исходников без изменений и б) достаточно большой тестовой базе, на которой постоянно проводится регрессионное тестирование. Причем тестирование произодится не только под Android, но и под GNU/Linux и Mac OS X, что позволяет получить эталонное поведение нижнеуровневых библиотек на Android.

Да, именно так. Спасибо за проект!

UFO landed and left these words here
UFO landed and left these words here
Киви хорош, и прост в освоении. Сам прошел полный путь от 'hello world' до размещения приложения на маркете. Для встраивания рекламы есть очень удобный kivmob.
Но, как всегда, есть «но»: уж не знаю buildozer ли виноват в этом, или особенность киви — но при каждом открытии приложения вас будет на несколько секунд встречать экран загрузки. 2-3 секунды, а иногда может быть даже и больше, даже для самых лёгких приложения. И что самое плохое — при этом внутренние ресурсы приложения он не прогружает — о прогрузке всех ваших картинок вам придется думать самостоятельно.

Последнее предложение объясните подробнее иначе статью придется дополнить опровержением еще и вашего утверждения.

Если этому есть опровержение, то буду только рад.
Приведу живой пример: играл flappy bird. Тыкаем на иконку, видим 2-3 секунды загрузочного экрана приложения. Получаем приветственный экран, с кнопкой «играть». Тыкаем на кнопку играть, которая через менеджер экранов переключает вас на экран с игровым «полем», где много графики. И вот когда вы переключаетесь — вся эта графика прогружается. А не в момент первоначальных 2-3 секунд загрузки.

Ну, если вам так хочется, создавайте экраны сразу в методе build, наследника от App, и будет вам счастье. Но это не правильный подход, так как время загрузки увеличится. А единожды созданный объект в Kivy, во все последующие создается мгновенно. Так что выбирайте.

Kivy Launcher отсутствует там потому, что уже мертв! Есть масса других, более продвинутых и удобных, способов запуска нприложения на Kivy из исходных текстов прямо на девайсе. Если я вам скажу, что VKGroups полностью написанно с Kivy 1.10.1 + Python 3.6 и протестировано прямо на мобильном устройстве Android, вы сильно удивитесь? И я не знаю что там у вас в пролете, но вот где-где, а на десктопе проблем с Kivy вообще нет.

А можете привести способы запуска, заинтересовала данная технология!

Я пытался собрать уже готовый проект под iOS — не получается в принципе. При попытке создания Android — приложение собирается, но не запускается. Может быть проблема в том, что у меня Python3. Если есть подробная инструкция по сборке .ipa — можете поделиться?

Если приложение не запустилось, смотрите логи. В корне приложения есть папка .kivy — в при каждом запуске приложения, там создается лог.

Под iOS свои нюансы. Здесь помочь вам не могу. Не пользуюсь девайсами с такой системной.

Прекратилась, я думаю, потому, что KVLanguage настолько прост, что разметить UI вручную в десять раз быстрее, чем с помощью Designer.

Спасибо за статью! От меня плюсик:)

Подскажите пожалуйста.
Стоит задача написать софтину для Терминала Сбора Данных (ТСД).
Имеет ли смысл использовать для этого Kivy, если предполагается работа с встроенным 1D/2D — сканером штрихкодов?
Я знаком только с Python и 1С.
В Python — Kivy, в 1С — мобильная платформа 1с. Что бы выбрать?
То есть из Kivy я буду иметь к bluetooth, gps и прочему оборудованию на устройстве?

Kivy — это для UI и доступа к функциям Android девайса. А доступ к оборудованию вы будете иметь через Python.

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

Вы меня извините, но код мне тоже на кириллице писать?

Зачем? я сам программирую на python, того и заглянул почитать, может что нового интересного узнать. И все прекрасно читаю и на русском, и на английском. Но когда в одном слове набор и того, и другого — это уже что-то…

Покажите это слово, ради бога, аж интересно.

Мне процитировать первую половину статьи? Заголовки все нормальные, а между ними идет смесь где-то до середины статьи, может чуть больше. Иногда проскакивают нормальные предложения там, но весь смысл без предыдущих не понятен. Возьмите хотя бы слово «заблуждение», которое довольно часто встречается в тексте, и просмотрите его посимвольно. Может это шрифт какой-то особенный такой, где символы идут сборной солянкой, не знаю. Просто уже не первый раз встречаю, поэтому заинтересовал вопрос.

Вы, конечно, не думаете, что я делаю это намеренно!? Статья написана на Android девайсе с клавиатурой Touch Pal.

Нет, что вы. Я ничего против Вас не имею. Просто не в первый раз, вот и заинтересовало. А раз с android тогда становится понятней. Видимо таки какая-то кодировка или что, которого нет в наличии windows. Теперь хоть буду знать из-за чего такое проскакивает, попробую может поискать решения данной проблемы. Еще раз извиняюсь за оффтоп.

Очень удивился, когда открыл статью и понял, что очередной фреймворк с незнакомым названием оказался не JavaScript-фреймворком

Пользовался kivy 1.9 на ПК (linux/win), в целом прикольно, но была там пара неприятных мелочей. Скажите, что из этого пофиксили:


  1. Время запуска. Две-три секунды на инициализацию экрана с сотней виджетов как-то многовато. Во время работы, справедливости ради, всё работает и ничего не лагает.


  2. Честный нативный дизайн. Понятно, что виджетам можно вручную выдать все положенные шрифты, фоны и т.п., но при переезде с linux на windows или с версии на версию это всё надо будет делать заново?

Ну и не отказался бы от подробного разбора очистки приложения от ненужного хлама. 15 Мб+ для рогалика с двумя мегабайтами ассетов и половиной мегабайта кода немного чересчур.

Время запуска. Две-три секунды на инициализацию экрана с сотней виджетов как-то многовато. Во время работы, справедливости ради, всё работает и ничего не лагает.
Единственный выход: создавать эту сотню виджетов динамически, уже после запуска приложения.

Честный нативный дизайн. Понятно, что виджетам можно вручную выдать все положенные шрифты, фоны и т.п., но при переезде с linux на windows или с версии на версию это всё надо будет делать заново?
Kivy не использует нативный UI. Все виджеты Kivy рисует самостоятельно. Если хотите везде нативного вида — только вручную.

Ну и не отказался бы от подробного разбора очистки приложения от ненужного хлама. 15 Мб+ для рогалика с двумя мегабайтами ассетов и половиной мегабайта кода немного чересчур.
Речь про Андроид? Если да, то там прямо сейчас собранный без каких либо дополнительных шагов apk занимает мегабайт 5 или около того.
Андроид? Если да, то там прямо сейчас собранный без каких либо дополнительных шагов apk занимает мегабайт 5 или около того.

Возможно разработчики, как и обещали, выкинули не используемые API Kivy при сборке. Но все равно еще пару метров можно вырезать из самого Python.

Вам уже ответили по половину вопросов… Насчет хлама в следующей тратьте.

виджет для андроида можно быстро реализовать или придётся погружаться полностью с головой?
Sign up to leave a comment.

Articles