Подтвердить что ты не робот

Каковы ограничения Python на Android?

Я собираюсь начать разработку Android и выбрать язык. Я знаю Python, но мне придется изучать Java. Я хотел бы узнать от тех из вас, кто использует Python на Android, каковы ограничения. Кроме того, есть ли какие-либо преимущества по сравнению с Java?

4b9b3361

Ответ 1

Я исследовал это недавно по тем же причинам. Мои выводы заключались в том, что я не мог использовать Python для разработки приложения, ориентированного на родной язык, чего я хотел в то время. В частности:

  • Python не может получать обратные вызовы из классов Java UI, поэтому вы не можете использовать какие-либо собственные элементы интерфейса Java, такие как ListView и т.д. Доступны только диалоговые окна и т.д. Если у вас есть полностью пользовательский интерфейс, такой как игра, вы можете попробовать PyGame для Android, или вы можете посмотреть Kivy, который также использует PyGame.

  • Упаковка приложений Python очень сложная, особенно потому, что интерпретатор Python по умолчанию не включен в Android. Команды Kivy и PyGame делают некоторый прерывный прогресс в этом.

  • Из-за вышеупомянутых проблем Python по существу никогда не используется для создания полноценных приложений, опубликованных в магазине приложений, и поэтому литература о том, как обрабатывать многие проблемы с SL4A (Scripting Layer для Android), очень тонкий.

Итак, если вы хотите создать приложение, которое использует собственные элементы пользовательского интерфейса, которые вы действительно можете распространять в Play Store, или оба, Python, к сожалению, не является вариантом.

Ответ 2

Большинство пунктов, упомянутых Андреем, стоят, я просто хотел упомянуть, что python может быть и используется для полноценных приложений, опубликованных в GooglePlay и даже iOS. Я не могу говорить для других фреймворков, но вот несколько примеров приложений, опубликованных с использованием Kivy.

В упаковке мы постарались сделать это как можно проще, мы также предоставляем

  • Предварительно построенная VM, которую можно использовать, чтобы сделать ваш apk с вами, чтобы ничего не делать, кроме копирование вашего проекта и выполнение одной команды.

В графическом интерфейсе, по умолчанию пользовательский интерфейс ui (по умолчанию соответствует теме Android Holo). Однако его можно настроить так, чтобы он напоминал внешний вид и внешний вид, хотя я не пробовал его лично.

О, и пока речь идет о приложениях на основе python на Android, я нашел этот проект упомянутым в stackoverflow PyMob, их apps упоминается несколько интересных приложений.

Ответ 3

Я разработал Android-приложения на рынке, закодированные в Python. Недостатки:

  • До сих пор мои пользователи также загружали переводчика, но им сразу же было предложено сделать это. (ОБНОВЛЕНИЕ: см. Комментарий ниже.)
  • script не выходит должным образом, поэтому я включаю страницу webView, которая просит их перейти: Настройки: Приложения: ForceClose, если эта проблема возникает.