El sistema operativo Android es posiblemente uno de los sistemas operativos más utilizados en dispositivos móviles en la actualidad, y también es muy eficiente gracias a sus afiliaciones con el sistema operativo Linux. En este artículo, vamos a discutir cómo crear una aplicación de Android de muestra con Python.
Entonces, ¿por qué Python??
Sabemos que lenguajes como Java, Kotlin, frameworks como Xamarin, React Native son muy eficientes en la construcción de aplicaciones, pero la mayoría de las veces los administradores del sistema están más familiarizados con el uso de lenguajes de scripting como Python para sus tareas.
Con Kivy, pueden crear aplicaciones de Android mínimas para tareas simples en sus dispositivos Android sin tener que experimentar un cambio en la sintaxis. Sí, todos sabemos que Python no es tan rápido cuando se usa en el desarrollo de aplicaciones, pero a quién le importa si hace el trabajo necesario?
Con esto, puede escribir rápidamente un script de raspado web, por ejemplo, y compilarlo en una aplicación de Android y ejecutarlo sobre la marcha; eso es muy bonito.
Para hacer esto, usaremos una biblioteca de Python llamada Kivy. Kivy se utiliza para crear aplicaciones móviles multiplataforma, por lo que no es necesariamente solo para dispositivos Android, también es compatible con la creación de software iOS y Windows.
Instalación de Kivy
Kivy es muy fácil de instalar, pero las cosas podrían volverse un poco locas si las dependencias instaladas comienzan a chocar.
Para instalar Kivy, podemos usar el comando "pip" para instalar bibliotecas de Python, y también podemos usar "apt-get". Para que Kivy funcione, tiene muchas dependencias, especialmente cuando intentas hacer uso de funciones como la cámara, i.mi., OpenCV u otra biblioteca como Pillow.
Sin embargo, puede llegar a hacer una instalación simple de Kivy.
Puede instalar Kivy para Python 2 con el siguiente comando:
sudo apt-get install python-kivyLuego, Kivy para Python 3 se puede instalar con el siguiente comando:
sudo apt-get install python3-kivySi tiene la intención de instalar con el comando "pip", el siguiente comando hará el trabajo:
pip instalar kivyEntonces se puede instalar una dependencia muy popular que es pygame:
pip instalar pygameSi tiene la intención de instalar las dependencias en este punto, puede continuar e instalar.
Para Ubuntu 16.04:
sudo apt-get install python-setuptools python-pygame python-opengl \python-gst0.10 gstreamer0 de encantamiento de python.10-plugins-good python-dev \
build-essentialpython-pip libgl1-mesa-dev libgles2-mesa-dev zlib1g-dev
Si tiene la intención de instalar para otras versiones de Ubuntu, puede seguir los pasos de la documentación de Github.
Antes de continuar, puede confirmar si la instalación de Kivy es exitosa importando el módulo desde el shell interactivo.
>>> importar kivy[INFO] [Logger] Registro de inicio de sesión / data / user / 0 / ru.Iiec.pydroid3 / app_HOME /.kivy /
logs / kivy_18-02-26_0.TXT
[INFO] [Kivy] v1.9.2-dev0
[INFO] [Python] v3.6.2 (predeterminado, 15 de octubre de 2017, 09:18:13)
[CCG 7.2.0]
>>>
Todo lo que necesita es un resultado en este formato; no se espera que los números concuerden.
Escritura de código
Vamos a crear una aplicación sencilla que muestra un texto en la pantalla.
Cree un archivo de Python, que llamaríamos "main.py ”. Este archivo tendría el siguiente contenido:
de kivy.aplicación de importación de aplicacionesclase HelloApp (aplicación):
aprobar
if __name__ == "__main__":
HelloApp ().correr()
En la superficie, parece que no hace nada, pero revisaríamos lo que hace cada línea de código.
de kivy.aplicación de importación de aplicacionesEsto importa la clase de aplicación de la biblioteca kivy que ayuda a generar la interfaz de la aplicación en sí, además de que tiene muchas otras propiedades para respaldar la creación de una aplicación.
clase HelloApp (Aplicación):aprobar
Esto crea una clase HelloApp que hereda de la aplicación que importamos anteriormente; no estamos haciendo mucho aquí, ya que todo lo que hemos hecho es usar la palabra clave "pasar".
Entonces, sin escribir ningún código, tiene todos los métodos de la clase App.
if __name__ == "__main__":HelloApp ().correr()
Luego verificamos si la secuencia de comandos de Python se ejecuta directamente o se está importando. Si se ejecuta directamente, ejecuta el método run () de la clase App que se heredó; de lo contrario, no pasa nada.
Casi hemos terminado, solo un archivo más. Este es un archivo kv, que estaríamos usando para nuestro marcado.
El archivo kv funciona en el lenguaje kv que tiene alguna similitud en la sintaxis con Python.
Simplemente cree un nuevo archivo sin nombre e ingrese las siguientes líneas de código.
Etiqueta:texto:
"Bienvenido a Linux Hint"
Mirando el principal.py, notaremos recordar que creamos una clase HelloApp () que heredó de App y que era la única clase.
En el archivo kv, la etiqueta se vincula automáticamente a las clases creadas en el archivo python. "Etiqueta" se utiliza para mostrar utilizando el modelo de caja.
La pregunta es; ¿Cómo sabe nuestro archivo Python que este archivo tiene el marcado?? Lo hace a través del nombre.
Dado que nuestra clase HelloApp tiene dos palabras diferentes diferenciadas por las mayúsculas, se espera que el archivo kv se nombre con la primera palabra en minúsculas y nuestro archivo se llamaría hola.kv.
Si nuestra clase se llama LinuxApp o GameApp, nuestro archivo kv se llamaría linux.kv y juego.kv respectivamente.
Ahora, puede ejecutar su archivo de Python:
Python principal.pyDebería obtener un resultado que diga "Bienvenido a la sugerencia de Linux".
Esto es solo la punta del iceberg de lo que puede hacer con la biblioteca de Kivy; Puede consultar la documentación completa aquí, también puede consultar otros ejemplos.
Instalación y uso de Buildozer
Si ha seguido este artículo desde el principio, recordará que al instalar kivy tuvimos que considerar muchas dependencias. La instalación de la topadora, por otro lado, no es tan complicada.
Todo lo que estaríamos haciendo es clonar los archivos del repositorio de GitHub, instalamos y luego usamos.
clon de git https: // github.com / kivy / buildozer.gitconstructor de cd
sudo python2.7 configuración.py instalar
Aquí python2.7 sería la versión de Python que está instalada en su sistema; por ejemplo, si tienes python 3.5 instalado usas Python3.5. Aunque algunas personas afirman tener problemas para usar Buildozer con Python 3, puedes intentarlo y, si falla, cambia a Python 2.
Después de la instalación, ejecuta el siguiente código. Al igual que en el primer caso, Python2.7 se puede cambiar a cualquier versión de Python, sería razonable usar la versión de Python utilizada para instalar buildozer.
Esto crea un buildozer.archivo de especificaciones que contiene los ajustes de configuración para nuestra aplicación. Si bien puede continuar sin cambiar ninguna de las configuraciones, puede verificar el archivo y cambiar cosas como el nombre de la aplicación, el nombre del paquete, etc.
El archivo debe tener este formato:
# (str) Título de su solicitud
title = aplicación
# (str) Nombre del paquete
paquete.nombre = myapp
# (str) Dominio del paquete (necesario para el empaquetado de Android / iOS)
paquete.dominio = org.prueba
.. .
.. .
Después de esto, puede compilar su aplicación de Android, al igual que las dos primeras instancias, puede cambiar python2.7 a la versión de Python que ha instalado en su máquina.
python2.7 buildozer android debug deploy ejecutarSi está haciendo esto por primera vez, los archivos necesarios de Android SDK, Android NDK y Android Ant se descargarán para que pueda tomar una taza de café, ya que puede llevar algo de tiempo dependiendo de la velocidad de su conexión a Internet.
Cuando buildozer termina de compilar la aplicación, la guarda en el directorio bin.
Eso es todo por este tutorial; ahora puede crear aplicaciones simples de Android y ejecutar algunos scripts en su dispositivo Android.