Android y Python

¿Puedo conectar scripts de python existentes en android usando SL4A o ASE? Lo que específicamente quiero hacer es crear una aplicación android con elementos normales de interfaz de usuario y ejecutar los scripts de python de la aplicación en sí, obtener la salida y mostrarlo. Es posible ?

Personnaly Creo que usted pide implícitamente por tres puntos:

Compatibilidad Escritorio / Móvil

La primera es la compatibilidad entre la biblioteca de python en el teléfono y la biblioteca de python en su computadora. Si no utiliza la biblioteca de terceros y asegúrese de incluir la biblioteca adicional de python proporcionada por sl4a, generalmente debería estar bien.

embalaje

El segundo punto es acerca de cómo empaquetar una aplicación de Python para Android. Se puede hacer fácilmente con un envoltorio como se describe en el sitio web sl4a. De hecho, distribuyen una copia de un capítulo de un libro sobre SL4A que describe cómo hacerlo. Así que eso es posible, pero ten en cuenta que el usuario tendrá que instalar python si no lo ha hecho ya (esto es una especie de alerta en el lanzamiento de la aplicación)

UI

La tercera cosa que usted debe tener en cuenta es que usted no es un 100% libre en relación con el widget / diseño que puede utilizar con sl4a. Es decir, realmente no se puede hacer lo que sea capaz de hacer en Java o Scala. Así que podría tener que considerar la posibilidad de alterar su interfaz de usuario y hacer una webview en su lugar (que puede comunicarse de ida y vuelta con el python) con un marco para obtener una "mirada móvil y sentir"

Espero que esto ayude.

Creo que lo que quieres hacer es crear un archivo apk independiente, que incluya el intérprete de python y tu código de script.

No sé si esto se puede hacer en Android. Lo único que sé es ejecutar tu script desde Android Scripting Environment.

Si la interfaz web es una interfaz de usuario normal, mira esta discusión http://groups.google.com/group/android-scripting/browse_thread/thread/f86812549d2686e2/f828f916411d7a95 . Puede utilizar Python, webView, HTML5 y JavaScript

Tuve un problema similar y finalmente lo resolví escribiendo una pequeña clase singleton en Java que ejecuta el binario Python-4-Android de la instalación SL4A en un subproceso creado usando java.lang.ProcessBuilder. Así que no estoy usando los mecanismos SL4A en absoluto (desencadenantes, upcalls, etc), sólo pidiendo prestado Python.

Esto parece más limpio que intentar iniciar y conectarse a un proceso de Python a través de SL4A.

Se trata de Python 2.7.1, compilaciones cruzadas de Mac OS X Snow Leopard. Mis módulos de Python están haciendo sólo entrada y salida de texto, aceptando conexiones de socket, etc. No hay interacción con la API de Android. Todo funciona bien: escribir un flujo de Java a la entrada de Python y leer un flujo de Java para obtener la salida de Python. Las extensiones C se crean utilizando las instrucciones P4A . (Android no pudo encontrar .so dynalibs hasta que agregué

[build_ext] inplace=1 

A setup.cfg durante la compilación. Creo que esto es porque la instalación 'install' nunca se invoca en el Android. Sólo estoy empujando con adb.

Todos los estados del ciclo de vida de la actividad parecen estar funcionando, pero todavía no puedo determinar si el subproceso se suspende automáticamente mientras el proceso principal está en el estado detenido.

Puedo fijar el código en un par de semanas si esto es de interés. (Sólo saliendo de vacaciones.)

Mi plan de empaquetado es poner un archivo ZIP del código Python en / assets y hacer que la aplicación se descomprima durante la primera onCreate. No he implementado esto todavía, pero no espero ningún problema.

  • Utilizar JRuby para llamar directamente a Android Java Methods
  • ¿Es posible crear una aplicación completa para Android con SL4A?
  • Enviar eventos desde python a javascript usando sl4a
  • Python SL4A Desarrollo
  • ¿Conectarse al punto de acceso usando QPython?
  • QPython o Kivy para la programación de Android con apk instalable en Python
  • Diferencia entre Kivy y PY4A
  • ¿Cuáles son los pasos que debo seguir para poder escribir y editar programas de python en mi teléfono Android?
  • Problemas con la conexión Bluetooth de Android
  • Sl4a python notificar pregunta
  • ¿Lanzar la aplicación android desde la secuencia de comandos de SL4A?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.