java

Invertir arreglo en Java

Invertir arreglo en Java

En este post voy a mostrarte dos maneras de invertir un arreglo (de cualquier tipo) en Java. Los arreglos son colecciones de datos a los que se accede a través de un índice, también son conocidos como arrays.

Invertir arreglo en Java

Invertir arreglo en Java

El primer método es un algoritmo “manual” programado por mí, y el segundo método utiliza un método de la clase Collections. Vamos a ver ambos métodos.

Leer más »Invertir arreglo en Java

Java : manejo de dinero con BigDecimal

En este post voy a explicar cómo trabajar con dinero o moneda en Java a través de la clase BigDecimal. Veremos cómo operar (sumar, restar, dividir, multiplicar) y comparar valores con BigDecimal en Java.

El dinero o el tipo de dato monetario son una parte fundamental en muchos sistemas de información; pues las operaciones con el mismo deberían ser precisas, y los redondeos también.

BigDecimal es una manera exacta de representar números, y permite trabajar con mayor precisión que, por ejemplo, el tipo de dato double.

Nota: para usar BigDecimal debes importarlo con:

import java.math.BigDecimal;

Leer más »Java : manejo de dinero con BigDecimal

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.

Leer más »Spinner en Android: escuchar cambio de elemento seleccionado

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.

Leer más »Java: Calcular hash MD5 de archivo

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

Leer más »RecyclerView con múltiples vistas / ViewHolders en Android

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.

Leer más »Instalar compilador de Kotlin en Windows

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

Leer más »Instalar Java en Android para comenzar a programar

Android y SQLite - Couldnt read row 0 col -1

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.

Leer más »Android: solución a Couldn’t read row 0, col -1 from CursorWindow

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

Leer más »Decompilar APK (app de Android) y obtener código fuente (casi) original