2012-01-22 35 views
47

Acabo de comenzar a bucear en el mundo de Android. Tengo mucha experiencia en la programación de aplicaciones en Python, así que busqué una buena combinación de "Android + Python", y creo que la encontré: Kivy.Kivy para aplicaciones de Android

Necesito hacer aplicaciones que puedan descargar y cargar contenido de internet, tal vez alguna conexión con el componente del mapa incluido en Android y más cosas para hacer una buena aplicación para Android.

Pero realmente no quiero perder el tiempo en algo que quizás no funcione. Entonces, ¿alguien tiene alguna experiencia en el desarrollo de aplicaciones de Android usando Kivy? ¿Es realmente útil, simple, posible? ¿O hay una mejor opción que tienes en mente?

+0

¿Cuáles son sus experiencias con Kivy hasta ahora? ¿Admite algunas funciones de Android, como obtener la ubicación del GPS o leer la lista de contactos? ¿Alguna idea después de ti, presumiblemente, has estado usando Kivy por un tiempo? – Tadeck

+1

@Tadeck Tengo que admitir que, como muchos otros, renuncié a la idea de usar Kivy, debido a la documentación deficiente y a la comunidad activa casi inexistente. – juliomalegria

+5

El kivy no es casi inexistente. Recibo una respuesta para mis preguntas cada vez que las pregunto en su canal de IRC. – Joschua

Respuesta

3

Tengo muy poca experiencia con él. Pero sí sé que

SL4A (Scripting Layer For Android) es compatible con la escritura de aplicaciones de Android con Python también. Puede valer la pena investigar un poco antes de tomar una decisión sobre qué usar.

+2

He leído que SL4A te permite ejecutar scripts de Python en Android, pero no te permite crear aplicaciones reales de Android, ¿sabes algo al respecto? y ¿qué sabes de Kivy por tu poca experiencia? – juliomalegria

+0

último, sabía que no había una forma de ajustar sus scripts de Python en un archivo apk dentro de sl4a. Sin embargo, parece que Tasker tiene la capacidad de ejecutar scripts sl4a individuales (incluidos los de python) con o sin mostrar el resultado de la consola. Y si Tasker es capaz de hacer eso, parece factible que de alguna manera puedas hacer una apk que contenga los scripts de Python y puedas lanzarlos de la misma manera que el tasker. – FoamyGuy

22

He estado usando y contribuyendo a kivy por un tiempo, y lo uso para una gran aplicación destinada al mercado. Aunque todavía no es tan completo como el desarrollo nativo (no estoy seguro de si usar el mapa Android API es posible en absoluto, pero hay alternativas), funciona muy bien, con un buen rendimiento. El lenguaje kv para prototipos rápidos es realmente genial.

Y como puntos de bonificación, sus aplicaciones también funcionan en windows/linux/mac/ios ... (todavía tenemos que intentar entrar en Apple Store, pero técnicamente funciona). editar: hasta el día de hoy se ha aceptado al menos una aplicación kivy en el mercado de manzanas, busque "deflectouch" si lo interrumpen.

A diferencia de SL4A, obtienes una aplicación apk real para distribuir, con kivy y una aplicación de interfaz gráfica de usuario muy bonita y elegante, adecuada para aplicaciones multitáctiles.

+0

Kivy se ve muy bien, tiene un gran potencial en lo que respecta a la interfaz. Pero, ¿qué hay de la API de Android? ¿Hay alguna forma de usarlo (por ejemplo, como en SL4A)? Estoy realmente interesado en Kivy, pero no he encontrado ninguna información con respecto a, por ejemplo. leer los datos de ubicación de GPS, crear un brindis, leer la lista de contactos, ni he encontrado que la información sobre tales funciones no esté disponible desde la aplicación Kivy. ¿Sabes algo sobre eso? – Tadeck

+2

kivy puerto de Android se basa en pgs4a, por lo que tiene acceso a este módulo http://pygame.renpy.org/api.html#module-android no es parte de kivy api porque no es portátil (solo en Android). – Tshirtman

+0

@tshirtman, Hola, gracias por el video de youtube que hiciste, me dio un empujón en Kivy mientras intentaba abrirme camino. Veo que la mayoría de sus contribuciones en StackOverflow están en Kivy, eso es genial, pronto nos pondremos en contacto con SO :) – securecurve

12

Creo que KivyMaps es bastante similar a lo que estás tratando de hacer.

Si evita el código específico de la plataforma que no es Android, entonces su aplicación debe ejecutarse en Android sin ningún problema.

Sugiero mirar Python for Android también, es un proyecto hermano de Kivy con el objetivo de ayudarte a crear tu propia distribución de Python incluyendo los módulos que deseas, y crear una aplicación incluyendo python, libs y tu aplicación. Mire específicamente sus envoltorios API nativos para Android. El proyecto es nuevo, por lo que solo se admiten unas pocas API nativas, pero podría darte una idea de cómo crear una envoltura para las API del servicio de ubicación de Android si así lo necesitas.

En cuanto a la biblioteca externa de Google maps, estoy de acuerdo con tshirtman. No estoy seguro de cómo se podría usar, pero como el enlace KiviMaps anterior destaca, hay enfoques alternativos disponibles.

1

Kivy es un framework multiplataforma de Python para el desarrollo de NUI. Es bueno para algunos prototipos de la aplicación de Android. Puede usar Kivy Launcher para una prueba más rápida. Puede usar la biblioteca de Python para un desarrollo tan rápido para la función. Puede usar pyjnius para acceder a las clases de Java para la función basada en Java.

Le sugiero que lea Kivy Interactive Applications in Python libro para novatos.

Pero con mayor profundidad, debe saber cómo usar el widget básico con cuidado. Porque hay un concepto confuso.Para canvas, es un concepto diferente en html5. La regla y clase de la clase Kivy es algo confuso para los principiantes.

Y para la aplicación de Android, hay alguna biblioteca difícil de usar y no básica como Beautiful Soup (famosa biblioteca de analizadores html y xml).

Cuestiones relacionadas