Разница между Kivy и PY4A

Я новичок в разработке Android, и у меня был некоторый опыт работы с Java, C #, Python и т. Д. Python был моим любимым, я бы хотел с ним связать приложение Android.
Затем я увидел этот вопрос:
Есть ли способ запустить Python на Android?
Наиболее проголосовавшие ответы Kivy и ASE (теперь SL4A и включает PY4A ).
Однако после некоторых Kivy PY4A я не смог найти никакой полезной информации о разнице между Kivy и PY4A . Поиск разницы между Kivy и SL4A тоже был бесплодным.

Итак, что касается Kivy и PY4A ,
Может кто-нибудь объяснить, в простых терминах:
– Какое сходство и разница между ними?
– Каковы их хорошие и плохие детали?
– Есть ли другие хорошие альтернативы?

Смутно, есть два проекта под названием «python для android».

SL4A позволяет запускать скрипты python на Android. Их PY4A – это шаг в их инструментальной цепочке, но я мало знаю об этом. Я понимаю, что есть некоторая интеграция с android apis (вы можете использовать какое-то оборудование и т. Д.), Но ограничения в том, как запускать программы (они не полные приложения, не gui и т. Д.). Это то, что я делаю, когда вижу другие записи, я не пробовал, не задумываюсь о деталях. (Edit: на самом деле, похоже, есть возможность упаковать apks и несколько способов создания gui, я не знаю деталей)

Kivy – это графическая структура, которая поддерживает многие операционные системы (Linux, Windows, OSX, Android, iOS, может быть, уже уже). Вы используете его для создания guit python. Проект kivy также начал свой собственный проект python для Android, который предоставляет способы скомпилировать интерпретатор python для android и упаковать его в качестве реального приложения для Android (включая интеграцию java api с pyjnius и т. Д.). Kivy хорошо интегрирован с ним, так что вы можете легко скомпилировать приложение для python gui для Android, хотя я не думаю, что этот python-for-android ограничен приложениями kivy.

Таким образом, это совершенно разные проекты, в которых есть компонент с тем же именем. SL4A предназначен для запуска скриптов python на Android, я мало знаю о его ограничениях или деталях. Kivy – это графическая инфраструктура python (не ограничиваясь андроидом), которая может быть скомпилирована через свой собственный проект python для Android и полностью интегрирована с приложениями для Android.

Вы можете увидеть (например) витрину kivy для примеров некоторых простых возможностей киви или плоских драгоценностей на примере простой игры, сделанной в киви. Это всего лишь примеры, гораздо больше возможностей.

Я нашел это очень полезным (и последним):

Встраивание Python в Android (серия учебников)

http://techventura.wordpress.com/2014/04/21/embedding-python-in-android-series/

В нем описывается, как внедрить Python в Android-приложение, используя Kivy-связанный Python для Android, но не сам Kivy (который, как я уже нашел, не описан в документации Kivy или Python для Android) Который полезен в различных сценариях (например, существующее Java-приложение, напрямую использует собственный графический интерфейс и т. Д.),

Поскольку Python-for-Android от Kivy более активно развивается, чем Py4A SL4A (ASE), мне кажется, что это путь.

(Я думаю, что было бы очень актуально и, вероятно, более уместно, есть ли способ запуска Python на Android?, Но для ответа требуется большая репутация, чем у меня в настоящее время.)

К первому вопросу: самая важная разница, которую я вижу в Py4A от Kivy для Python-for-Android и SL4A (ASE), заключается в том, что последняя по-прежнему предлагается в качестве «альфа-качества», в то время как первая, похоже, далеко более активный. Конечно, если вы возьмете Kivy в целом, это кросс-платформенная библиотека графического интерфейса.

Кроме того, результаты моих исследований по различным решениям:

  • Google Py4A + SL4A (ASE) : используется, но альфа-качество, не активно развивается
  • Киви :
    • Предлагает Python для Android, чтобы вызвать код python с Java
    • Предлагает Pyjnius, чтобы вызвать Java-код из python
    • Как представляется, активно развивается
    • Есть урок, который я связал выше, чтобы встроить в приложение Java Android
    • Если интересно, кросс-платформенный графический интерфейс (сам Киви)
  • QPython :
    • Прежде всего интерактивная среда для запуска сценариев python на Android
    • Основанный на Py4A, но Pyjnius (см. Выше) считается полезным
    • Вложение в приложение Java доступно, но несколько ограничено: задание Python должно начинаться с Intent, и результаты собираются из stdout; Это означает большее разделение, которое может быть желательно в некоторых сценариях, я думаю.
  • Python.org : вообще не упоминается Android

Вы пробовали QPython? Это новый python для экземпляра Android, который предлагает больше функций.

Intereting Posts
Моно для макросов препроцессора Android Не удалось подключиться к гнезду bluetooth на Android API-ключ для GCM неожиданно недействителен? Несанкционированная ошибка (401) Eclipse – разрывает код пользователя, когда необработанное исключение возникает в приложении Android Как избежать использования экранной клавиатуры для редактирования EditText в андроиде Работа с NDK в Eclipse NullPointerException addToRequestQueue (com.android.volley.Request, java.lang.String) 'на ссылке нулевого объекта Поддержка в Android.mk Android Studio: использование ImageButton для запуска нового действия приводит к сбою приложения Создание приложения для Android с ant GetExtras () возвращает значение null на уровне приложения (-класс) Позиционирование изображения внутри ImageView с максимальной высотой и максимальной шириной Android: сделайте прокручиваемое пользовательское представление Разница между ApplicationInfo и PackageInfo? Как получить минимальное, максимальное значение массива?