Android

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

Instalar Node.js y NPM en Android con Termux

En este post vamos a ver cómo tener el entorno de Node.Js y el gestor de paquetes NPM en Android.

Al finalizar la instalación y configuración seremos capaces de ejecutar una aplicación de Node.js como si tuviéramos un servidor Linux.

También veremos cómo instalar dependencias usando el comando npm install, pues es una cosa posible en Android gracias a Termux.

Concretamente vamos a instalar la versión 6.9.0 de NPM y la versión 12.3.1 de node, aunque tal vez cuando leas este post se instale una versión más nueva.

Leer más »Instalar Node.js y NPM en Android con Termux

Spinner llenado con Array de Strings en Android

Llenar Spinner de Android con array de tipo String

En este post explicaré cómo establecer un arreglo de cadenas como una lista desplegable o select en Android, usando el widget Spinner y llamando al método setAdapter.

Spinner llenado con Array de Strings en Android

Spinner llenado con Array de Strings en Android

Lo que haremos será ver cómo llenar el Spinner con opciones de un arreglo y además saber cuál opción fue seleccionada.

Leer más »Llenar Spinner de Android con array de tipo String

Android - RadioGroup y RadioButton con Java

RadioGroup y RadioButton en Android – Ejemplos

En una aplicación móvil para Android que estoy desarrollando me vi en la necesidad de agregar algunos widgets de tipo RadioButton. Recordemos que estos widgets van dentro de un RadioGroup para que solamente se pueda seleccionar uno.

Android - RadioGroup y RadioButton con Java

Android – RadioGroup y RadioButton con Java

Veremos entonces cómo poner los RadioButton dentro de un RadioGroup y saber cuál elemento está seleccionado.

Leer más »RadioGroup y RadioButton en Android – Ejemplos

Lector de código de barras con Android

Leer código de barras con Android y ZXing (programación de app)

En este post voy a enseñarte cómo leer o escanear códigos de barras con Android usando la librería de Zebra Crossing (ZXing) con Java.

Además de que se permitirán leer códigos de barras también se podrán escanear códigos QR.

Lector de código de barras con Android

Lector de código de barras con Android

La app que vamos a programar será compatible con versiones de Android 4.4 y superiores; también vamos a manejar los permisos de acceso a la cámara en tiempo de ejecución y en el manifiesto.

Al final tendremos una app que lanza el lector de códigos de barras y devuelve el texto leído en forma de cadena.

Leer más »Leer código de barras con Android y ZXing (programación de app)

Datos recuperados en el fragmento

Android y Java – Pasar datos de un fragmento a otro

Ya hemos visto anteriormente cómo hacer la transición de un fragmento a otro en Android usando Java, de manera programada.

Ahora veremos cómo ir de un fragmento a otro pero pasando datos, es decir, compartir datos de un fragmento origen a un fragmento de destino.

Te recomiendo encarecidamente que visites el post anterior para que aprendas lo básico, no te llevará mucho tiempo.

Leer más »Android y Java – Pasar datos de un fragmento a otro

Diseño de actividad principal de Agenda en Android

Android y SQLite: agenda | Ejemplo de app con RecyclerView

Vamos a practicar un poco más con SQLite y Android con otro ejercicio práctico: la creación de una agenda.

Se pretende realizar una aplicación de una agenda en donde se escriba un identificador, el número de teléfono y el nombre de una persona.

Viéndolo desde el punto de vista de diseño de bases de datos o experiencia de usuario el ejercicio no estará muy bien; pero servirá mucho para practicar porque veremos cómo:

  1. Insertar un registro en SQLite
  2. Obtener un registro por ID
  3. Comprobar si un registro ya existe
  4. Listar los registros existentes

Leer más »Android y SQLite: agenda | Ejemplo de app con RecyclerView

Neofetch de Ubuntu 18 en Android

Instalar Ubuntu en Android con Termux (sin root)

Anteriormente hemos visto cómo instalar múltiples paquetes y herramientas en Android gracias a Termux. Pasamos por MySQL, C, Python, PHP con Apache y otros más.

Hoy veremos cómo instalar el sistema operativo Ubuntu 18 en Android con Termux, sin necesidad de ser root.

Neofetch de Ubuntu 18 en Android

Neofetch de Ubuntu 18 en Android

No será Ubuntu Desktop, será como un Ubuntu Server (técnicamente hablando es Ubuntu Core). Más adelante veremos si podemos instalar un servidor de gráficos.

Leer más »Instalar Ubuntu en Android con Termux (sin root)

6 - Copiar base de datos de dispositivo a PC con adb pull

Extraer base de datos de SQLite en Android sin root

Hoy vamos a ver cómo extraer una base de datos de SQLite de una aplicación de Android para copiarla a nuestra computadora y poder analizarla haciendo consultas; evitando pasar por la API de Java.

No vamos a necesitar root, simplemente tener el ejecutable de adb que se instala cuando comenzamos a programar en Android.

Por favor mira este tutorial en donde se ve cómo agregar adb.exe a la variable PATH de Windows.

Leer más »Extraer base de datos de SQLite en Android sin root

Escritorio 1 - Mostrar balance y gastos

Aplicación de Android gratuita para el control de las finanzas personales: gastos, ingresos, deudas y préstamos

Presentando app para control financiero personal: Adminístrate

Desde hace algún tiempo (para mejorar mis habilidades en Android) he estado programando una aplicación de Android que además de ser gratuita tiene las siguientes características:

  • Control de gastos
  • Control de ingresos
  • Deudas
  • Préstamos
  • Reportes de gastos e ingresos
  • Gráficas
  • Entre otros
Escritorio 1 - Mostrar balance y gastos

Escritorio 1 – Mostrar balance y gastos

Debido a unas cosas de la escuela tuve que apresurarme a terminar al menos la versión beta con las primeras impresiones; y es por ello que vengo a presentarla ahora.

En el futuro le pondré lo que falta, por ahora es solo una versión beta pero funciona perfectamente.

Voy a explicar las principales características de esta app para el control de gastos en Android.

Leer más »Aplicación de Android gratuita para el control de las finanzas personales: gastos, ingresos, deudas y préstamos

Distinguir iconos gratuitos y premium

¿Cómo usar los iconos gratuitos de Flaticon?

En este artículo voy a explicar cómo descargar y usar los iconos gratuitos de flaticon, sobre todo voy a mostrar cómo atribuir el trabajo al autor, para que podamos usar los iconos de manera gratuita incluso para proyectos comerciales.

He usado estos iconos en muchos de mis proyectos, por ejemplo, Sublime POS o el CRUD de mascotas con Android.

Leer más »¿Cómo usar los iconos gratuitos de Flaticon?