sábado, 29 de agosto de 2015

PROGRAMACIÓN ANDROID CON PYTHON

¿Qué es Android?

Android es un sistema operativo inicialmente pensado para teléfonos móviles, al igual que iOS, Symbian y Blackberry OS. Lo que lo hace diferente es que está basado en Linux, un núcleo de sistema operativo libre, gratuito y multiplataforma.
El sistema permite programar aplicaciones en una variación de Java llamada Dalvik. El sistema operativo proporciona todas las interfaces necesarias para desarrollar aplicaciones que accedan a las funciones del teléfono (como el GPS, las llamadas, la agenda, etc.) de una forma muy sencilla en un lenguaje de programación muy conocido como es Java. 

Introducción a la programación en Python para Android

Nos llega este interesante proyecto de la mano de Kivy, un framework basado en OpenGL escrito en python que nos permite hacer aplicaciones desktop, IOS, Windows y tambien Android.
Hace poco vimos cómo compilar con el SDK de Android desde otro lenguaje que no sea Java, por ejemplo desde Scala.
Ahora con  Kivy, que es a la vez un framework y un toolkit como PythonQT o como el GTK+ toolkit de Gnome, podemos crear botones, animaciones, elementos visuales desde Python.
Mathieu Virbel, leader programmer de Kivy nos publica hace pocos días este script en Python que permite compilar desde python con el toolchain de Android y de esta forma  obtener un APK para Android.

Introducción: Instalación del Framework Kivy


En nuestro caso no es necesario instalar a kivy, el script de python-for-android nos descaraga directemente el framework de Kivy.
Solo instalamos Kivy para tener los ejemplo Demo a Compilar, no es necesario tenerlo instalado se puede saltar al siguiente paso.
En Mac os, es simple uno se puede bajar el archivo Kivy-1.5.0-osx.dmg para snow Leopard y lo instala como de costumbre, esto instalará todas las dependencias de Python OpenGL


PROGRAMACION ANDROID CON PYTHON




la forma de programa aplicaciones android desde su ordenador, con sl4a, pero mi propósito no es solo enseñarles simplemente como hacerlo desde el móvil o un emulador virtual de android con el SDK si no enseñarles como crear aplicaciones y desde nuestro IDLE de python de nuestro pc y ejecutarlo directamente en el SDK sin necesidad de transferir archivos, aunque hay ya documentación sobre esto, yo voy a crear uno propio con mas claridad y para que todos puedan verlo paso a paso.

primero tendremos que descargar el SDK de android en el siguiente link: http://developer.android.com/sdk/index.html


crear una carpeta en nuestra unidad C: que se llame android y dentro instalar nuestro SDK de tal manera que quedaría así:



una vez instalado vamos a crear nuestro android emulado, por lo que vamos a ejecutar nuestro SDK para poder instalar las APIS necesarias y ejecutamos sdk.exe y instalaremos por ejemplo las de la 3.0



le damos a install packages y después aceptamos la licencia y le damos a install.



una vez instaladas las apis nos vamos a crear nuestro emulador y ejecutamos avd.exe.
Le pulamos en new para crear un nuevo emulador y escogemos la versión que nos hemos descargado antes en este caso la 3.0 y lo demás lo podemos dejar así, creo que no es necesario decir nada mas en este punto, lo demás es intuitivo, como por ejemplo escoger el tipo de dispositivo que queremos utilizar...

device: tipo de dispositivo

target:versión del dispositivo

cpu/abi: tipo de cpu(la que mas les convenga)

memori ram: ram para el dispositvo (recomendaria entre 250 y 500)

internal storage: la memoria interna del dispositivo(se puede dejar así)

sd card: memoria de la sd(recomendaría entre 1000 y 1500 MIB)




una vez escogido como lo queremos pulsamos ok y esperamos que se cree, después lo seleccionamos y le damos a start y se nos abrirá otra ventana en la que seleccionamos scale display to real size para seleccionar el tamaño de nuestra pantalla del dispositivo y ponemos en screen size 7 que es un buen tamaño y pulsamos oky esperamos que se inicie



una vez arrancado nos dirigiremos a nuestro navegador y nos pondremos a instalar sl4a de android poniendo en google sl4a accediendo a la direccion que pone en la imagen



una vez dentro nos descargamos el archivo sl4a_r6 para la instalación del programa



cuando se descargue lo instalamos y procedemos a descargar python para android poniendo en google python for android y accediendo al siguiente enlace



y descargamos el archivo llamado pythonforandroid_r5 y lo instalamos
una vez instalado accedemos a el programa python for android y pulsamos en browse modules y nos llevara a una pagina web donde descargaremos el archivo pytbluez y seguidamente volveremos a entrar en python for android y le daremos a import modules e importaremos este modulo descargado, después pulsaremos en la parte de arriba install





en la imagen pone unistall por que yo ya lo tengo instalado pero vosotros tendréis que darle a install.

una vez hecho todo esto crearemos en nuestro escritorio una carpeta y la llamaremos android o python for android... como queráis.

Descargamos el archivo python_extra_r14 en nuestro pc desde la pagina de andtes de python for android y lo extraemos, después accedemos a la carpeta idlelib y todo lo que contenga lo copiamos a la carpeta de nuestro escritorio android, no copiaremos la carpeta si no todo lo de dentro, lo seleccionamos todo, copiamos y pegamos en la carpeta del escritorio, también el archivo android.py de la carpeta anterior.

Despues nos vamos a C:/WINDOWS/system32 y buscamos el archivo llamado cmd.exe y le damos a enviar a escritorio(acceso directo)



Cuando este en el escritorio lo cortamos y lo pegamos en nuestra carpeta android, una vez dentro pulsamos en nuestro acceso directo cmd.exe y le damos botón derecho y propiedades y modificamos donde dice iniciar en y ponemos la ruta de nuestra carpeta copiando la ruta de donde dice dirección en nuestra carpeta pegándola donde dice iniciar en



Despues copiamos el archivo adb.exe y adbwinapi.dll de la carpeta de donde instalamos el sdk en C:\Android\platform-tools copiamos estos dos archivos y los pegamos en C:\WINDOWS\system32 



Ya lo tenemos todo preparado para empezar y abrimos nuestro sl4a en el emulador, una vez dentro de sl4a pulsamos en el botón menú y después en VIEW el la ventana que se abre abajo




Despues en interpreters, y volvemos a darle en el botón menú y pulsamos start server



y pulsamos private y accedemos a ver que dirección va a usar para comunicarse con el pc





Ahora nos dirigimos a la carpeta que creamos en nuestro escritorio y ejecutamos el cmd.exe y ejecutamos lo siguiente:

1-adb forward tcp:9999 tcp:(direccion dispositivo android)
2-set AP_PORT=9999
3-idle.bat



se nos abrirá el idle de python y le damos a file y new windows



y ya podemos empezar a escribir en nuestro idle de python y  ver los resultados en nuestro emulador, por ejemplo veamos el típico mensaje de hola mundo poniendo lo siguiente:

import android
droid = android.Android()
droid.makeToast("hola mundo")




 REFERENCIAS
  •  
  • http://hackloper.blogspot.com.es/2013/11/programacion-android-con-python.html 
  • http://www.xatakandroid.com/sistema-operativo/que-es-android

 


No hay comentarios:

Publicar un comentario