Maricela Ocaña
Programación Paralela y Distribuida
Programación Paralela y Distribuida
Programación Android con Python
Aunque Java es el lenguaje estándar para el desarrollo de
aplicaciones para Android, se han desarrollado interpretadores que tengan lenguajes de secuencias de comandos
para crear aplicaciones para Android. Tal es el caso de QPython
que nos permite programar con Python.
QPython es un motor de
secuencias de comandos que se ejecutan en los dispositivos Android. Permite
correr proyectos y scripts python en nuestros dispositivos Android. Contiene un
intérprete Python, consola, un editor, y la librería SL4A para Android. Es
Python corriendo en Android!
Ofrece un kit de desarrollo que
permite desarrollar fácilmente proyectos y scripts de Python en los
dispositivos Android.
Características principales:
- Ejecutar Scripts de Python y Proyectos en dispositivos Android.
- Soporta programación Python en Android incluyendo aplicaciones web, juegos y programación SL4A.
- Se puede ejecutar código Python y archivos de QRCode.
- QEdit le permite crear/editar los scripts de Python y Proyectos fácilmente.
- Incluye muchas librerías útiles de Python.
Programación de Funciones:
- Compatible con la programación Web app, que nos permite desarrollar aplicaciones móviles con un framework de desarrollo web, esto acelera el desarrollo de aplicaciones móviles en gran medida.
- Soporta la programación de UI nativas, la cual permite desarrollar juegos con mayor facilidad mediante el uso de secuencias de comandos.
- Soporta la programación SL4A para acceder a las funciones de Android: Redes, Bluetooth, GPS y mucho más.
La aplicación de QPython
la puedes descargar gratuitamente desde la Play
Store y está basada en Python 2.x, pero también existe la
versión para Python
3.x.
Para la instalación de librerías externas consta de
dos métodos:
- QPypi: librerías ya preparadas por la aplicación. Podemos encontrar androidhelper (acceso a sensores del móvil, cuadros de texto, etc), kivy (nos permite crear aplicaciones rápidas en nuestro android: botones, pantallas con mensajes, etc), numpy, sqlite3, etc.
- pypi: nos da acceso al directorio de librerías Python en la red, permitiendo la descarga de la librería que queramos tan solo introduciendo su nombre.
Una vez instalada,
podemos abrir la aplicación y acceder a un pequeño tutorial “Quick Start”. Aquí ya
podemos checar la apariencia que tiene
el código en estas aplicaciones. En cualquiera de ellas podemos hacer click
sobre “Copy to editor to run”,
y una vez estamos en el editor hacemos click en el botón de “Play” para ejecutar el script.
En el segundo podemos ver un ejemplo de una aplicación que cambia de color el
fondo de pantalla al hacer click sobre la pantalla.
Si en vez de entrar en el
tutorial, deslizamos la pantalla hacia la izquierda, aparecerán el resto de
botones de la aplicación, entre los que podemos ver la consola para ejecutar
código, el Editor y
el Programa con
nuestros scripts, el apartado de Librerias para la instalación de librerías
externas y el de Community con acceso a la web de qpython.org
QPytho cuenta lector QR en su web que carga directamente tu
código en la app (actualmente no disponible por reforma de la web).
Por ahora lo más factible sería cargar tu fichero en el móvil utilizando algún
métodos de los comunes para envío de datos, ya sea usando la red o mediante
cable de datos.
Un ejemplo sencillo es el acceso al sensor gps, mostrando por consola sus coordenadas. Aquí faltaría ver con más
calma el significado de los datos que nos da, creo que si le pedimos al sensor
las coordenadas
de tipo “network” son las relacionadas con tu red wifi pero no están calculadas mediante gps,
para ello son las de tipo
“gps” que vemos
en el script:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#-*-coding:utf8;-*-
#qpy:2
#qpy:console
print "This is console module"
import androidhelper, time
droid = androidhelper.Android()
droid.startLocating()
time.sleep(10)
c = 0
while c<50:
l = droid.readLocation()
R =l.result
try:
R
=R["gps"]
Lat= R["latitude"]
Lon=R["longitude"]
#R1
=R["network"]
#Lat1=R1["latitude"]
#Lon1=R1["longitude"]
outstr
= str(Lat) +","+ str(Lon)
droidfile
= '/sdcard/droidtrack_bus1.txt'
print outstr#, str(Lat1) , str(Lon1)
fh
= open(droidfile,'a')
res= fh.write(outstr +'\n' )
res
= fh.close()
time.sleep(30)
c+=1
print c
except:
time.sleep(10)
print c
print R
c+=1
|
Como
nos podemos dar cuenta desarrollar nuestras propias aplicaciones en Android
resulta sencillo y sin tener que utilizar Java y nos muestra un entorno de
desarrollo más sencillo con Python.
No hay comentarios:
Publicar un comentario