studio script para for examples app android python kivy sl4a

script - python for android apk



Diferencia entre Kivy y PY4A (4)

Soy nuevo en el desarrollo de Android, y he tenido cierta experiencia con Java, C #, Python, etc. Python es mi favorito, me gustaría codificar la aplicación de Android con él.
Entonces vi esta pregunta:
¿Hay una manera de ejecutar Python en Android?
Las respuestas más votadas mencionan a Kivy y ASE (que ahora es SL4A e incluye PY4A ).
Sin embargo, después de algunas búsquedas en Google, no pude encontrar ninguna información útil sobre la diferencia entre Kivy y PY4A . La búsqueda de la diferencia entre Kivy y SL4A fue infructuosa.

Entonces, en cuanto a Kivy y PY4A ,
alguien puede explicar, en términos fáciles:
- ¿Cuáles son la similitud y diferencia entre ellos?
- ¿Cuáles son sus partes buenas y malas?
- ¿Hay alguna otra buena alternativa?


¿Has probado QPython? Es una nueva instancia de python para Android que ofrece más funciones.


Además de las respuestas aquí, agregaría la bifurcación del Py4A original, que parece estar desarrollado activamente: https://github.com/kuri65536/sl4a

No puedo responder por la calidad o la facilidad de uso. Hay .apks para instalar, así que parece bastante sencillo.


Confusamente, hay dos proyectos llamados ''python para Android''.

SL4A te permite ejecutar scripts de Python en Android. Su PY4A es un paso en su cadena de herramientas, pero no sé mucho al respecto. Entiendo que hay cierta integración con Android Apis (puedes usar algo de hardware, etc.), pero hay limitaciones en la forma de ejecutar los programas (no son aplicaciones completas, no hay GUI, etc.). Esto es algo que deduzco de ver otras publicaciones, no lo he probado, no confíe en mis detalles. (Edición: en realidad parece que hay alguna capacidad para empaquetar apks y múltiples formas de crear una interfaz gráfica de usuario, no sé los detalles)

Kivy es un marco gráfico que soporta muchos sistemas operativos (linux, windows, osx, android, ios, tal vez más). Lo usas para construir guis python. El proyecto Kivy también comenzó su propio proyecto Python para Android que proporciona formas de compilar el intérprete de Python para Android y empaquetarlo como una aplicación de Android real (incluida la integración de Java Api con Pyjnius, etc.). Kivy está bien integrado con él, por lo que puedes compilar fácilmente una aplicación gui de python para android, aunque no creo que python para android esté limitado a las aplicaciones de kivy.

Entonces, son proyectos completamente diferentes que tienen un componente con el mismo nombre. SL4A es para ejecutar scripts de Python en Android, no sé mucho acerca de sus limitaciones o detalles. Kivy es un marco gráfico de Python (no limitado a Android) que se puede compilar a través de su propio proyecto Python para Android para aplicaciones de Android GUI totalmente integradas.

Puedes ver (por ejemplo) el escaparate de kivy para ver ejemplos de algunas capacidades simples de kivy, o joyas planas para un ejemplo de un juego simple hecho en kivy. Estos son solo ejemplos, mucho más es posible.


He encontrado esto muy útil (y reciente):

Incrustar Python en Android (serie de tutoriales)

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

Describe cómo incrustar Python en una aplicación de Android, utilizando el Python para Android relacionado con Kivy, pero no el mismo Kivy (que no está realmente descrito en la documentación de Kivy''s ni de Python para Android, por lo que he encontrado), que es útil en varios escenarios (por ejemplo, aplicación Java existente, usando GUI nativa directamente, etc.)

Como Kivy''s Python para Android está más desarrollado que el Py4A de SL4A (ASE), me parece el camino a seguir.

(Creo que también sería muy relevante, y probablemente más apropiado, para ¿Existe alguna forma de ejecutar Python en Android? Pero responder requiere más reputación de la que tengo actualmente).

Hasta el punto de la pregunta original: la diferencia más relevante que veo entre Python para Android de Kivy y Py4A de SL4A (ASE) es que este último todavía se ofrece hoy como "calidad alfa", mientras que el primero parece estar lejos. mas activo. Por supuesto, si toma Kivy como un todo, es una biblioteca de GUI multiplataforma.

Además, los resultados de mi investigación sobre las diversas soluciones:

  • Py4A + SL4A (ASE) de Google : utilizado pero con calidad alfa, no desarrollado activamente
  • Kivy :
    • ofrece Python para Android para llamar a código de Python desde Java
    • ofrece Pyjnius, para llamar código Java desde python
    • parece estar activamente desarrollado
    • Hay el tutorial que vinculé anteriormente para incrustar en la aplicación Java de Android.
    • Si está interesado, la interfaz gráfica de usuario multiplataforma (Kivy en sí)
  • QPython :
    • Principalmente un entorno interactivo para lanzar scripts de Python en Android
    • basado en Py4A, pero se dice que Pyjnius (ver arriba) es utilizable
    • la integración en una aplicación Java está disponible, pero de alguna manera limitada: un trabajo de Python debe iniciarse con una Intención, y los resultados se recopilan desde la salida estándar; eso significa más separación que podría ser deseable en algunos escenarios, creo.
  • python.org : ninguna mención de Android