Hay muchas razones por las que le gustaría iniciar el desarrollo de Android. Construir una aplicación que quiera hacerte rico y cambiar el mundo es solo una motivación; otros incluyen aprender a codificar, crear herramientas que pueden o simplemente divertirse e impresionar a otros. La programación es una excelente manera de comenzar a aprender y Android es muy abierto y accesible.
Python es un lenguaje de codificación simple y elegante que está diseñado pensando en el principiante.
Android no es muy fácil de aprender. Antes de poder ejecutar un programa Hello World, deberá descargar Android Studio, el Android SDK y el Java JDK. Debe establecer rutas, descubrir cómo crear APK y agregar ciertos permisos en su teléfono. Incluso una vez que todo está listo, debes familiarizarte con cosas como que realmente puedes mostrar cualquier cosa en la pantalla.
Python podría ofrecer una alternativa atractiva para algunos. Además, ¡puede comenzar a crear scripts y probarlos en su dispositivo Android casi de inmediato!
En resumen, esta es una de las maneras más rápidas de comenzar a utilizar Android. Además, puedes comenzar a usar algunas de las funciones más avanzadas, puedes usarlo para obtener algunos trucos impresionantes para automatizar tu teléfono y más. Y sí, con un poco de juego, incluso puedes construir APK completos.
¿Qué es Python?
Python de Guido van Rossum se publicó en 1991. Su filosofía de diseño dominante es la "legibilidad": en otras palabras, debería ser fácil de seguir incluso para un no programador. Utiliza mucho espacio en blanco y hace un uso eficiente de los comandos.
Python es también el principal lenguaje de programación usado con la Raspberry Pi, lo que significa que puedes crear una amplia gama de gadgets emocionantes con él.
Esta simplicidad y elegancia hacen de Python una excelente opción para los nuevos programadores. Para empezar, hay intérpretes disponibles en varios sistemas operativos, lo que significa que puede ejecutar scripts en Windows, Mac, Linux y Android. Python es, por lo tanto, uno de los principales lenguajes de programación utilizados con la Raspberry Pi, lo que significa que puedes crear una amplia gama de gadgets emocionantes con él y convertirlo en un lenguaje ideal para enseñar a los niños. Es genial para el desarrollo web a través del Proyecto Django. Pinterest fue escrito usando Django!
Empezando
Entonces, dicho esto, ¿qué tal empezar con python? Python para desarrollo de PC, luego comenzaría descargando la última versión de Python 2 o Python 3 y luego una búsqueda IDE (entorno de desarrollo integrado) como PyCharm. Puedes obtener Python para Windows aquí.
Pero el desarrollo de PC no es lo que nos interesa aquí. Para comenzar a utilizar Python en un dispositivo Android, desea utilizar QPython por ahora o QPython3. QPython es realmente un motor de script para Python 2, mientras que QPython3 ejecuta Python 3.
Python está actualmente en mejoras. Para garantizar que su código se ejecute de la mejor manera posible, deberá obtener la última versión de Python. En el momento de escribir esto, es Python 3.6.1.
La ligera complicación es que el salto de Python versión 2 a Python versión 3 es tan significativo que rompió la compatibilidad hacia atrás. Python 2 no funcionaría para Python 3 sin algunos ajustes. Eso no es tanto un problema, pero es un pequeño error. Corta tiempo de desarrollo y habilita funcionalidad adicional.
Si está aprendiendo Python por primera vez, entonces tiene sentido comenzar con Python 3 y, por lo tanto, tiene el conocimiento más actualizado. Sin embargo, en el futuro, solo debe saber que es posible que deba volver a Python 2 para poder admitir ciertas bibliotecas.
La biblioteca principal se usará más adelante en 'Kivy' y, afortunadamente, esto es compatible con Python 3.
Escribiendo un código simple con variables y entradas.
Una vez que haya descargado e instalado QPython3 (que es gratuito), tendrá su propio entorno de desarrollo para comenzar la programación. Podrás salir de esto y será casi tan útil como crear tus propias aplicaciones nativas. Es decir, si desea crear una herramienta básica para realizar algunos cálculos matemáticos, realizar una prueba sobre un tema o almacenar y recuperar datos ... ¡entonces puede hacerlo!
Y vamos a aprender a hacer eso. Lo primero es lo primero, construyamos nuestra aplicación 'hola mundo'.
Para hacer esto, abre QPython3 y luego elige 'Editor'. Como puede imaginar, este es el editor donde puede escribir su código o editar otros scripts. Personalmente, no puedo lidiar con este tipo de desarrollo a menos que tenga un teclado y un mouse opcionales.
Ahora solo escribe:
imprimir ("Hola Mundo")
Luego guarde el script, recordando agregar la extensión '.py'. Guardar haciendo clic en el icono del disquete en la parte inferior. Tenga en cuenta que la palabra 'imprimir' debe ir en minúsculas.
Haga clic en 'Jugar' (el ícono de la flecha) y debería ver las palabras 'Hola Mundo' aparecer en la pantalla junto con un montón de otras palabras. Esta es la 'consola' y es donde se ejecutarán los scripts hasta que comencemos a agregar características gráficas.
Vamos a pasar a la variable. Las variables son palabras que representan otros datos, que actúan como 'contenedores'. Por lo tanto, la letra 'x' podría representar un número como 2 o 3, o la palabra 'nombre' podría representar un nombre como 'Adán'. Las variables que representan números enteros se denominan enteros, mientras que las variables que representan nombres se llaman "cadenas".
La buena noticia es que no necesita "definir" las variables en Python. Es decir, puede decir simplemente que una palabra es igual a otra palabra, o que es igual a una letra. Por ejemplo, si usamos el siguiente código:
Nombre = impresión "Adam" ("Hola" + Nombre)
Ahora tenemos un código que crea una variable llamada nombre y la establece como 'Adam', antes de dar la bienvenida al usuario por su nombre. Podríamos haber dicho esto fácilmente:
Número = 7 de impresión ("El número es" + Número)
El verdadero punto de variabilidad es que nos permite cambiar dinámicamente los elementos de nuestro código. Entonces, ahora podemos escribir Number = Number + 1 para aumentar su valor. Del mismo modo, podemos crear una pequeña aplicación que responda así al usuario:
Nombre = entrada ("¿Cuál es tu nombre, por favor?") Imprimir ("Por qué hola" + nombre)
Como puede ver, la entrada del comando nos permite obtener datos del usuario y, en este caso, usamos su entrada para definir nuestra variable de nombre. Recuerde: las variables son sensibles a mayúsculas y minúsculas! Tiene sentido utilizar mayúsculas para las variables en Python, ya que los comandos siempre se escriben en minúsculas. ¡Les ayuda a destacar!
Usando solo estos pocos bits de código, ya podemos hacer algunas cosas divertidas. Aquí hay un pequeño guión que te dirá cuántos años tienes con gran detalle ...
Edad = int (entrada ("¿Cuántos años tienes?")) Imprimir ("En", 100 - Edad, "años, cumplirás 100 años. Eso es todo", (100 años) * 365, "días!")
Esto te dirá cuántos días hasta que tengas 100 años y para eso, solo hemos usado un poco de matemáticas ('operadores'). En el código de la computadora, un símbolo '*' representa la multiplicación y '/' es la división. Python que está aceptando entradas como enteros. Estoy usando comas ahora para agregar mis cadenas en lugar de '+' porque estamos trabajando con enteros.
Loops y si enunciados
Un bucle no suena exactamente como debería ser: Agregue las siguientes líneas al último script:
Contar = 0 imprimido ("Vamos a contar los años restantes ...") mientras recuento <Edad: recuento = Recuento + 1 imprimido ("Eso es", Recuento, "años", Edad - Recuento, "para ir!") Y hemos terminado!)
¿Recuerdas cómo dijimos que Python qué 'legible'? Esta declaración significa literalmente que el código que sigue es verdadero. Por supuesto, depende de nosotros mantener esta legibilidad utilizando solo nombres lógicos para nuestras variables que tendrán sentido cuando se lean.
En este caso, esa afirmación es que <Age: Count es igual a menor que age. Observe cómo las dos líneas siguientes están sangradas, lo que significa que son parte del bucle. En Java, mostraríamos esto como corchetes. El formato se vuelve muy importante en Python, entonces, si presionas tabulador y la parte incorrecta de tu código se sangra, ¡entonces no se ejecutará!
Junto con los bucles, las "declaraciones if" también son una parte muy importante de la programación en Python. Nuevamente, son como son: son si son un conjunto de condiciones determinadas.
Por ejemplo, podemos decir:
si Edad> 50: imprime ("¡Ya has pasado la mitad!")
Alternativamente, puede usar el comando else que se ejecuta cuando la declaración no es verdadera. Por ejemplo:
si Edad> 50: imprime ("¡Ya has pasado la mitad!") más: imprime ("¡Ah, todavía eres joven!")
Entonces tiene elif, que es un baúl de "else if" y que presenta un conjunto alternativo de condiciones que deben cumplirse:
si Edad> 50: imprime ("¡Tienes más de la mitad!") elif Edad <50: imprime ("¡Ah, todavía eres joven!") otra cosa: imprime ("¡Estás exactamente a la mitad!")
Aquí, Python quiere decir 'estás exactamente a mitad de camino' solo si el usuario no tiene más de 50 años o menos de 50; ¡tienen 50!
Usando bibliotecas y haciendo un pequeño juego simple.
Usando el código que hemos aprendido aquí, estamos casi listos para hacer un pequeño juego simple. Antes de que podamos hacer eso, es una cosa más crucial: cómo usar bibliotecas externas.
El juego que quiero mostrarte es un juego de adivinanzas como 'mayor o menor'. Para hacer esto, sin embargo, necesitamos generar un número aleatorio y no hay ningún comando en Python que pueda hacer eso. Afortunadamente, sin embargo, Python viene con un montón de bibliotecas en un paquete llamado "Biblioteca estándar de Python". Eso significa que no podemos hacer nada extra y solo podemos escribir la línea:
De aleatoria de importación
A partir de ahí, podemos usar la función randint, seguida de paréntesis y dos números: el rango más bajo y el más alto.
Ahora podemos usar el siguiente código para hacer nuestro juego simple. Tenga en cuenta que! = Significa que 'no es igual a'.
RandomNumber = randint (0, 10) print ("Estoy pensando en un número entre 1 y 10, ¿puedes adivinar qué?") Adivina = 11 mientras Guess! = RandomNumber: Guess = int (entrada ("Supongo que ...")) if Guess> RandomNumber: print ("¡Demasiado alto!") If Guess <RandomNumber: print ("¡Demasiado bajo!") Print ("¡Entendido!")
Si bien estas no son aplicaciones de Android, no hay nada que le impida escribir pequeños scripts como este y compartirlos con amigos o compañeros de trabajo. Mientras tengan instalado QPython3, estarán listos para probarlos y usarlos. Y al utilizar la biblioteca estándar de Python y algunos otros, podrá escribir en su dispositivo, descargar cosas de la web y más.
Por supuesto, hay muchas cosas que quedan por aprender para aquellos que quieren continuar su educación. Las clases son creadas muy simplemente por ejemplo como esto:
def contador (nombre): longitud = len (nombre) longitud de retorno; NamePlease = entrada ("Contador de longitud del nombre! Ingrese su nombre") imprimir (contador (NamePlease))
(Mira mi publicación reciente sobre programación orientada a objetos si no estás seguro de qué es una clase).
Mientras que las listas se escriben como tales:
Lista = ["Manzanas", "Naranjas", "Peras"]
Hay muchos recursos donde puedes aprender más, pero mi consejo es que adquieras nuevas habilidades y comandos solo cuando los necesites. Comienza aqui
Uso de la capa de secuencias de comandos de Android de Python
Pero, ¿y si quieres crear una aplicación de Android real en Python? Bueno, en ese caso tiene algunas opciones, dependiendo de cuál sea su idea de "real".
Si solo está viendo algunas características nativas de su teléfono, entonces puede usar esto con una biblioteca llamada Sl4a - o Python Android Scripting Layer. Esto nos permitirá hacer cosas como mostrar diálogos, leer sensores e incluso acceder a la cámara.
La siguiente línea quiere abrir tu cámara y guardar una foto:
importar sl4a droid = sl4a.Android () droid.cameraInteractiveCapturePicture ("/ sdcard / qpython.jpg")
¿O qué tal abrir una página web? Podemos hacer esto simplemente diciendo:
from android import android droid = Android () droid.webViewShow ("// www.androidauthority.com")
Archivos HTML almacenados en el dispositivo, por lo que es una excelente manera de mostrar los elementos de la GUI:
droid.webViewShow ('archivo: /// sdcard / index.html')
O ¿qué hay de crear un archivo? Hay innumerables opciones aquí y cuando combina esta funcionalidad con Tasker (una herramienta de automatización para dispositivos Android).
Kivy y creando APKs.
Si quieres ir, necesitarás usar Kivy. Básicamente, Kivy abre las puertas de par en par al permitirnos crear aplicaciones de Android completamente funcionales con multi-touch, gráficos y más. Y así es como puede convertir sus scripts de Python en archivos APK que puede instalar directamente en su dispositivo Android o incluso distribuir a través de Play Store. Lo mejor es que Kivy es multiplataforma, por lo que puedes crear aplicaciones para una variedad de plataformas de esta manera.
Ahora podemos mostrar elementos de la interfaz de usuario como botones y lienzos con gráficos. Como botón, aquí hay un poco de código para mostrar que un botón puede tener el siguiente aspecto:
desde kivy.app importar aplicación desde kivy.uix.button importar clase de botón HelloWorld (App): def build (self): btn = Button (texto = 'Hello World') return btn HelloWorld (). run ()
Para hacer esto, sin embargo, necesitamos ejecutar Kivy en una PC. Puede desarrollarlo a través de Kivy en Windows, pero si desea crear APK, le recomiendo usar Linux en su lugar. El problema es que crear APKs desde scripts de Python es un proceso largo y complejo en Windows e implica la instalación de múltiples bibliotecas, el NDK de Android, la configuración de rutas, etc. Es casi imposible.
Afortunadamente, existe una herramienta que puede manejar todo el trabajo pesado que se llama 'Buildozer'. Kivvy que viene con todo lo que necesitas para construir tus aplicaciones. Lea el archivo README.txt que viene con su VM y le explicará todo lo que necesita saber. Una vez que haya escrito los comandos en el terminal, todo lo que queda por hacer es editar el archivo 'buildozer.spec'. Aquí es donde ingresará elementos como el nombre de su aplicación, el nombre del paquete y cualquier otro archivo que deba incluir.
Puede encontrar los detalles completos y todo lo que necesita para descargar aquí. Si le gusta Ubuntu, permanezca atento: le mostraré cómo ejecutarlo en su dispositivo Android en una publicación futura.
Probablemente necesitará actualizar algunas cosas e instalar un IDE (como el IDE de Ninja) y cambiar varias configuraciones. Basta con decir que esto no es del todo un 'plug and play' y realmente, en este punto sería mejor quedarse con Android Studio y Java. Realmente acabo de incluir esta sección en Python si así lo deseas. En su mayor parte, recomiendo seguir con QPython y usarlo como un lugar para probar algunas herramientas útiles.
conclusión
Por lo tanto, Python no es ideal para desarrollar aplicaciones profesionales, pero es una excelente manera de crear scripts y herramientas para su propio uso. Tareas para automatizar las funciones de su teléfono.
Además, Python es una excelente introducción a la programación simplificada por QPython3. Esta es una de las maneras más fáciles de comenzar a jugar con su dispositivo móvil e incluso en este breve tutorial, hemos visto que puede llevar a todo tipo de posibilidades fascinantes. ¡Por eso me encanta la programación y por eso me encanta Android!