Android

Ejercicios de programación para Android

Resumen: en este post te muestro y recopilo algunos ejercicios para programar el desarrollo de aplicaciones móviles con Android y Java.

Estos ejercicios propuestos son para practicar y mejorar las habilidades de programación en Java para Android.

Problemas y ejercicios de programación para Android usando Java

Estos ejercicios prácticos están resueltos, pero no te preocupes, si quieres puedes intentar resolverlos y ver la solución más tarde.

Continue reading…

Recorrer JSONArray en Java

Resumen: vamos a ver cómo iterar o recorrer un JSONArray en un ciclo usando el lenguaje de programación Java, ya sea para desktop o mobile.

Cuando usamos JSON en Java, ya sea en el escritorio o con Android, trabajamos con el tipo de dato JSONArray que no es otra cosa más que un arreglo que representa objetos JSON.

Este tipo de dato se utiliza sobre todo cuando trabajamos con APIs externas que devuelven información codificada como JSON.

Continue reading…

Instalar servidor SSH sobre Termux en Android

Servidor SSH en Termux usando OpenSSH

En este post te mostraré cómo instalar un servidor SSH en Termux para que puedas iniciar sesión de forma remota.

La ventaja de esto es que podrás conectarte desde una PC u otro lugar en donde puedes conectar un teclado (ya que con el teclado del teléfono es complicado)

Vamos a usar el servidor openssh y veremos la forma de autenticar usando contraseña, o usando claves públicas y privadas.

Nota: recuerda configurar e instalar Termux, y no olvides ejecutar termux-setup-storage como en el tutorial que cito.

Instalar OpenSSH y herramientas

Comenzamos actualizando los repositorios, e instalando el paquete openssh:

pkg upgrade

pkg install openssh

En ambos casos, si pregunta, elegimos que sí escribiendo la letra Y.

También es necesario instalar net-tools y procps con:

pkg install net-tools (averiguar IP)

pkg install procps (matar procesos)

pkg install nano (para editar archivos)

Ajustes de OpenSSH

La configuración de OpenSSH está en $PREFIX/etc/ssh/sshd_config y podemos verla navegando con cd $PREFIX/etc/sshd y después usar cat sshd_config:

Autenticación con contraseña activa

El parámetro PasswordAuthentication está en yes, así que podemos ingresar con un usuario y contraseña en lugar de claves públicas y privadas.

Más adelante vamos a ver cómo cambiar este parámetro, ya que la autenticación con contraseña no es recomendada.

Iniciar y detener demonio SSH

Para iniciar el demonio, es decir, escuchar conexiones, se ejecuta:

sshd

Para matarlo o detenerlo, se usa:

pkill sshd

pkill viene con procps, por eso era necesario instalarlo.

Nota: se escucharán conexiones en el puerto 8022.

Conexión a servidor SSH en Android

Ya estamos escuchando conexiones SSH, pero todavía no sabemos nuestro usuario, contraseña e IP.

Averigua tu usuario escribiendo:

whoami

Ahora ponle una contraseña segura ejecutando:

passwd

Mostrar usuario con whoami y cambiar contraseña usando passwd

Finalmente mira cuál IP tienes, escribiendo:

ifconfig

(este comando viene con las net-tools)

Cuando tengas esos datos ya puedes conectarte desde otro lugar. Si usas linux en el terminal cliente ejecuta:

ssh TU_IP -p 8022

En caso de que uses Putty, rellena los campos y listo.

Cualquiera de los dos métodos, te llevará al proceso de autenticación, escribe el usuario y la contraseña y ya está.

Conexión a servidor SSH en Termux, usando Putty en Windows

Ya puedes administrar tu “servidor” de Linux sobre Android de manera remota.

Si muestra un aviso sobre “the server’s host key” haz click en

Nota: no se recomienda para nada usar autenticación con usuario y contraseña, lo mejor y más seguro es usar claves públicas y privadas.

Autenticación con clave pública y privada

Este método es el que se recomienda, pues agrega más seguridad y evita ataques de fuerza bruta.

Comenzamos preparando nuestro dispositivo creando el folder .ssh y el archivo authorized_keys; además de darles permiso.

Esto lo puedes hacer desde tu dispositivo o usando un cliente SSH (es decir, vamos a configurar las claves, pero por el momento, antes de configurarlas, podemos usar todavía la autenticación no segura)

Los comandos son:

El siguiente paso es generar un par de claves usando Putty como se ve en este tutorial detallado.

Si seguiste bien el tutorial de generación de claves públicas y privadas, tu conexión de Putty debe verse así (fíjate en la parte superior, dice Authenticating with public key):

Usar Putty y clave pública para una nueva sesión SSH en Android

Desactivar autenticación con contraseña

Ahora que ya tienes autenticación por clave pública y privada, desactiva (lo recomiendo altamente, por la seguridad) la autenticación por contraseña.

Navega hasta $PREFIX/etc/ssh/ y modifica el archivo sshd_config usando si quieres nano sshd_config; en donde dice PasswordAuthentication escribe no.

Guarda los cambios (CTRL + O, luego ENTER si usas nano) y reinicia el servidor SSH; esto hazlo desde la app de Termux pues si lo haces por SSH la conexión se romperá (obviamente)

Detén el servidor con pkil sshd y después vuelve a iniciarlo con sshd.

Así es como termina este tutorial; recuerda que tengo más material interesante sobre Termux, Linux y Android en mi blog.

Finalmente, dejo una referencia a la wiki de Termux.

RecyclerView con múltiples vistas / ViewHolders en Android

Los elementos dentro de un RecyclerView de Android son del mismo tipo y tienen la misma apariencia; pero en ocasiones vamos a necesitar mostrar distintos elementos o vistas dentro del mismo RecyclerView.

Por ejemplo, en una lista de elementos tal vez solo mostramos algunos, y al final una opción de “Ver más” o “Ver todos”.

Para lograr esto solo tenemos que modificar el adaptador

Continue reading…

4 - Visitar página web generada con ASP en Android

Programar en ASP desde Android con Termux

En otro post vimos cómo instalar PHP y Apache en Android; ahora veremos cómo programar en ASP desde Android.

Para tener disponible ASP en Android vamos a instalar el paquete llamado mono-xsp4; pero antes de ello necesitamos instalar Mono project y el compilador de C#.

4 - Visitar página web generada con ASP en Android

Componente de ASP en Android

Al final podremos iniciar un servidor ASP en Android y visitar el navegador para renderizar páginas con ASP; todo desde nuestro teléfono o tableta.

Continue reading…

5 - Compilar y ejecutar hola mundo

Instalar Java en Android para comenzar a programar

Sí, estás leyendo bien: en este post veremos cómo instalar java en Android para compilar código fuente de Java (usando javac) y ejecutar el bytecode con java usando un dispositivo Android.

Es decir, vamos a instalar los paquetes necesarios para programar en Java desde Android.

Para esto no vamos a necesitar que el dispositivo esté rooteado, simplemente que soporte la app de Termux corriendo con Ubuntu.

Requisitos previos

Continue reading…

Escritorio xfce4 en Ubuntu sobre Android - VNC Android

Interfaz gráfica en Ubuntu sobre Android con VNC y Xfce

Ya vimos cómo instalar Ubuntu sobre Android y también compilamos un programa en C# en Android.

Todo eso lo hicimos desde la terminal pero, ¿podríamos agregar una interfaz gráfica? la respuesta es que sí y eso es lo que voy a exponer hoy:

Cómo instalar el escritorio xfce4 en Android y poner un servidor VNC para conectarnos ya sea desde Android, Windows o cualquier plataforma que soporte el protocolo.

Al terminar seremos capaces de mostrar el escritorio en Ubuntu desde Android:

Escritorio xfce4 en Ubuntu sobre Android - VNC Android

Escritorio xfce4 en Ubuntu sobre Android – VNC Android

Continue reading…

Android y C# - Compilar hola mundo

Android y C#: compilar y ejecutar código de C sharp con Mono Project

Están llegando grandes cosas al mundo de Linux y sobre todo de Android. No sé la fecha exacta (seguramente han pasado años) pero C# ya está disponible para Linux con el proyecto Mono.

Ubuntu también está disponible para Android como lo vimos en otro post, así que basta con instalar los paquetes sobre Ubuntu y podremos programar en C# desde Android; sin sacrificar el rendimiento ni esas cosas.

Android y C# - Ejecutar hola mundo

Android y C# – Ejecutar hola mundo

Recuerda que si quieres instalar C# en Ubuntu (pero no en Android) puedes mirar este post.

Continue reading…