Ir al contenido principal

¡Odio android! Pero con cariño

Pues algo tan sencillo como un AsyncTask que se supone se ejecuta en un hilo independiente del hilo principal de tu flamante aplicación android se ejecuta por defecto secuencialmente respecto de otros hilos.

¡Uy que bien! ¡fiesta! para que co** quiero yo un AsyncTask que se ejecuta después de otro AsyncTask y quizás después de algo que este haciendo mi hilo principal. Cuando yo lo que buscaba es que hiciera varias tareas paralelas de forma asincrona.

Señores, esto es android y para jodernos un poquillo tienes que buscarte la vida para que funcione de forma optima. En el siguiente enlace encontrareis la solución Executing Multiple AsyncTask's Parallely

Básicamente en vez de iniciar la tarea asíncrona llamando al método execute que te enseñan en todos los tutoriales (incluidos los de Google) debes iniciar la tarea llamando al método executeOnExecutor.

Luego me preguntan por qué lo odio tanto... y que no estoy siendo justo ¬¬

Comentarios

Entradas populares de este blog

Formatear fecha JSON

Para poder representar de forma bonita y humana una fecha retornada por un JSON por ejemplo, la función quedaría tal que así. En mi caso, el formato esperado es: dd/MM/yyyy hh:mm

function FormatDate(fecha) { var fechaObj = new Date(fecha); return (fechaObj.getDate() < 10 ? '0' : '') + fechaObj.getDate() + '/' + (fechaObj.getMonth() < 10 ? '0' : '') + fechaObj.getMonth() + '/' + fechaObj.getYear() + ' ' + (fechaObj.getHours() < 10 ? '0' : '') + fechaObj.getHours() + ':' + (fechaObj.getMinutes() < 10 ? '0' : '') + fechaObj.getMinutes(); };

Generar números aleatorios con Postgres

Muchas veces nos encontraremos con que tenemos que poblar una BD con numeros para poder testear un funcionalidad que estemos programando. En postgres es tan sencillo como:

update schema.tabla set columnaNumerica = floor(random() * N) + desviacion;
Con desviación me refiero a que, si no lo añadimos, random generara numeros empezando por el 0 hasta N. El uso de floor es para redondear y quedarme solo con la parte entera. Ya que random genera floats entre 0 y 1.

Espero os sirva este pequeño truquillo. Un saludico.