Ir al contenido principal

Ubuntu en Android 2: ahora con JAVA


En el anterior post (https://www.tecnificados.com/2020/02/ubuntu-en-android.html) os comentaba que acaba de descrubrir el emulador "Termux", y todas las cosas que en teoría se podían hacer con él.

Esta semana he estado probándolo, y en este artículo os quiero comentar todo lo que he hecho y el resultado final de las pruebas.

Mi objetivo como os comenté, era poder lanzar tareas programadas, por lo que vendría fenomenal utilizar "cron". Misteriosamente no venía instalado en la imagen que estamos utilizando, pero nada que no se arregle con los comandos: apt install cron y service cron start (arrancamos el servicio).

Una vez hecho ya tenía preparado el "ejecutor" de mis tareas.

Para probarlo bien, necesitaba lanzar una tarea periódica que actualizara datos continuamente, así se me ocurrió utilizar el IBEX 35, programe un pequeño script sh en Linux que descarga el json, y lo subía al repositorio.

Para esto también me instalé "curl" (apt install curl) y "git" (apt install git).

Después de esto, solo necesitaba programar cron con el comando crontab -e.

Añadí esta línea:


1,30 8-18 * * 1-5       /root/termuxTest/ibex35.sh

Y con esta expresión conseguí que el script se ejecutara en el minuto 1 y 30 desde las 8 hasta las 18 de lunes a viernes.

Las pruebas fueron todo un éxito:


Pensar que todos estos commits los hacía mi móvil mientras yo estaba en otra cosa.

Algunos me habéis preguntado por la batería, la verdad es que sí he notado que me gasta un poco más, pero como mucho un 10%.

Os dejo aquí el código del script que utilicé, por si os pudiera servir de algo:

cd "$(dirname "$0")"
date=$(date '+%Y-%m-%d %H:%M:%S')
echo $date
git pull
curl 'urlDondeConseguirLosDatosEnJSON'  > ibex35.json
git add .
git commit -m "Datos actualizados $date"
git push

Una vez que verifiqué esto funcionaba, me instale JAVA: apt install openjdk-11-jre

También me instalé maven: apt install maven

Y después cloné mi repositorio evaluador (https://github.com/tecnificados/evaluador), me generé el jar y con este pequeño script:


rm -f datosgobes.csv
wget http://ondemand2.redes.ondemand.flumotion.com/redes/ondemand2/Datosabiertos/datosgobes.csv
java -jar evaluador.jar

Ya consigo ejecutar mi evaluador de Portales de Datos Abiertos desde el móvil. Podéis verlo en este vídeo:


Como conclusión final: puedo ahorrarme el servidor que tenía pensando contratar. Para tareas que no requieren mucha CPU, mi móvil tiene la potencia necesaria para realizar este tipo de tareas.

Entradas populares de este blog

Un bot con Telegram en Termux

En las últimas semanas he retomado un par de ideas que tuve hace algunos años: por un lado la idea de hacer un Bot con el que hacer operaciones a través de comandos específicos. En concreto me gustaría hacer poder realizar comandos de inversión en bolsa (de manera ficticia) por otro lado desplegar la aplicación en un móvil con Termux (emulador de Linux para Android) Así que os cuento los pasos que he hecho para realizar estas tareas. Creación de Bot con Telegram Busca el contacto @BotFather (es el bot oficial de Telegram para crear otros Bots). Pulsa en Iniciar o escribe /start para comenzar. Escribe el comando: /newbot BotFather te pedirá que le pongas un nombre visible a tu Bot. Ejemplo: Nombre: MiBotJava Luego te pedirá un username único que termine en Bot. Ejemplo: Username: MiBotJava_bot Si el nombre de usuario está disponible, te dará un mensaje de éxito. Obtén el token Después de crear el Bot, BotFather te dará un mensaje como este: Done! Congratulations on your new bot. You wil...

Transpilando que es gerundio

Si que llevaba tiempo sin pasarme por aquí, madre mía como esta esto de descuidado... A ver si me animo y como propósito de 2025 escribo un poco más (que no es díficil). He empezado un par de cursos y el primero ha sido uno de TypeScript, ya sabéis que me gusta mucho JavaScript y he decidido echarle un ojo. Pero, ¿qué es TypeScript? TypeScript es un lenguaje de programación que se creó como una especie de "superpoder" para JavaScript. Básicamente, es JavaScript dopado con esteroides, ya que agrega características que lo hacen más robusto y fácil de usar, especialmente en proyectos grandes. Una de las grandes ventajas de TypeScript es el tipado estático, que nos permite definir qué tipo de datos estamos manejando, lo que ayuda a evitar errores que en JavaScript podrían ser difíciles de detectar hasta que es demasiado tarde. En otras palabras, te ayuda a “prevenir fuegos” en el código antes de que sucedan. Una de las cosas que hace especial a TypeScript es que sigue siendo Java...

Un sola cuenta de Gmail y muchas direcciones de correo

¿Tienes una cuenta de Gmail? Seguramente más de una... Google tiene una funcionalidad poco conocida, pero muy útil: puedes modificar tu email con puntos (`.`) y con el signo más (`+`) para adaptarlo a tus necesidades y conseguir varias direcciones de correo con solo una cuenta. Los puntos no importan (en Gmail) En Gmail, los puntos que pongas en tu dirección no cambian nada . Es decir, si tu correo es: lukeskywalker@gmail.com También recibirás los mensajes que se envíen a: - luke .skywalker@gmail.com    - l.u.k.e.s.k.y.w.a.l.k.e.r@gmail.com - luke.sky.walker@gmail.com ¡Y todos llegarán a la misma cuenta:  lukeskywalker@gmail.com ! Esto puede servir para crear una versión ligeramente distinta de tu dirección, por ejemplo, si ya usaste tu correo real y necesitas registrarte con una "nueva". El signo + Ahora viene lo realmente interesante: el signo `+`. Con él puedes añadir “alias” a tu correo sin dejar de recibir los mensajes. Por ejemplo, si tu correo es: leiaorgana@gmail....