Java: Calcular hash MD5 de archivo

En este post te voy a mostrar cómo puedes calcular la suma de verificación MD5 de un archivo en Java, sin usar dependencias externas ni paquetes extraños, solo usaremos código nativo de Java. El Hash MD5 de un archivo funciona para verificar la integridad del mismo, ya que, por ejemplo, al descargar un archivo, alguien podría corromperlo mientras se transmite. La suma de verificación comprueba que el archivo original y el que tenemos son exactamente el mismo. ...

julio 4, 2019 · 2 min · 332 palabras · Parzibyte

Spinner en Android: escuchar cambio de elemento seleccionado

En este post te voy a mostrar cómo escuchar o agregar un listener a un Spinner de Android para saber cuándo fue seleccionado un elemento. Es decir, agregaremos un listener al Spinner para saber cuándo el usuario selecciona otro elemento. Para probar puedes llenar tu Spinner con un simple arreglo. ¿Usas Kotlin? mira este post, ya que el presente es sobre Java. ...

julio 4, 2019 · 3 min · 458 palabras · Parzibyte

Configurar variable JAVA_HOME en Windows

En este post voy a mostrarte cómo crear la variable de entorno llamada JAVA_HOME en Windows 10. Por cierto, esto no es estrictamente necesario si ya agregaste java a la PATH de Windows. ...

julio 3, 2019 · 1 min · 192 palabras · Parzibyte

Instalar compilador de Kotlin en Windows

En este post voy a mostrarte cómo instalar el compilador de Kotlin en Windows; muy diferente al plugin de Android Studio, ya que en este caso vamos a instalar el compilador para poder compilar código de Kotlin en Windows sin ninguna otra dependencia. Voy a enseñarte cómo descargar los archivos para Windows y cómo agregar los binarios a la PATH para poder invocar al compilador desde cualquier lugar. ...

julio 3, 2019 · 2 min · 415 palabras · Parzibyte

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 ...

julio 3, 2019 · 5 min · 864 palabras · Parzibyte

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...

junio 24, 2019 · 2 min · 274 palabras · Parzibyte

Java y Calendar: sumar y restar fechas

En este post voy a explicar cómo operar con fechas usando un objeto de tipo Calendar en Java. Vamos a añadir y a substraer meses, años o días de la fecha, para saber la fecha pasada, futura, etcétera. ...

junio 14, 2019 · 3 min · 519 palabras · Parzibyte

Android: solución a Couldn't read row 0, col -1 from CursorWindow

Programando algunas cosas en Android con SQLite me topé con un error que dice algo así (puede variar según tu caso): java.lang.IllegalStateException: Couldn’t read row 0, col -1 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it. Esto fue al usar el método getColumnIndex y los métodos de getXXX de la clase Cursor. Hoy voy a explicar cómo solucionar ese error y cuáles son sus causas en Android, no importa si es en Java o en Kotlin, pues Cursor es de Java. ...

junio 13, 2019 · 1 min · 204 palabras · Parzibyte

Decompilar APK (app de Android) y obtener código fuente (casi) original

Una de las debilidades de Java (y otros lenguajes que compilan a bytecode) es que se puede decompilar o descompilar, como le quieras llamar. O decompile, si hablas inglés. Hoy vamos a ver un decompilador de aplicaciones de android, es decir, de apps con extensiones APK. Estuve probando el decompilador y funciona de maravilla, obtiene casi el mismo código que el original. Para hacer esta demostración y no hacer nada ilegal, voy a usar el CRUD de SQLite con Android cuyo código fuente está aquí, y su APK está aquí. ...

junio 6, 2019 · 5 min · 932 palabras · Parzibyte

ROT 13 en Java - Algoritmo y algunas variantes como ROT 1

Hoy voy a explicar el código fuente para implementar el algoritmo de cifrado ROT 13 en Java. El método de cifrado llamado ROT 13 rota las letras del alfabeto 13 posiciones. Son 13 veces porque 13 es la mitad de la longitud del alfabeto inglés (es decir, 26). Debido a que rota las letras justamente a la mitad, el método para descifrar es el mismo que se utiliza para cifrar. Es decir, al cifrar, la letra a se convierte en n. Y al cifrar de nuevo la n, se convierte en a, por lo que podemos concluir en que el mismo método sirve para cifrar y descifrar. ROT 13 es una variante del cifrado César (el cual ya implementé en Java) pero a diferencia de ROT 13, para descifrar usando el método César se necesita rotar la cadena a la izquierda. Una vez explicado esto veamos el código y la explicación para implementar ROT 13 en Java. También veremos algunas variantes de ROT 13 como ROT 1, y a partir de ello podremos ver cómo implementar ROT 2, ROT 3, etcétera (pues son rotaciones al final del día) ...

mayo 24, 2019 · 6 min · 1259 palabras · Parzibyte