martes, 26 de marzo de 2013

Evitar que android nos destruya la actividad con el cambio de orientación

Si cambiamos la orientación de nuestro terminal y si no tenemos las vistas bloqueadas en el manifest ocurre que Android reinicia la actividad. Para evitar ésto, simplemente tendremos que añadir en nuestro manifest la siguiente línea:
android:configChanges="orientation|keyboardHidden"

miércoles, 27 de febrero de 2013

Diseño adaptativo en píxeles con jQuery

A la hora de maquetar un diseño web no es recomendable trabajar en píxeles si queremos que éste se adapte a configuraciones de pantalla de móviles o tablets. Pero en ocasiones puede ser que tengamos que adaptar un diseño en píxeles. En mi caso la necesidad surgía porque las imágenes de mi web tenían una resolución menor a 480px de ancho siendo backgrounds de divs y necesitaba adaptar para configuraciones de pantalla más pequeñas sin que distorsionaran siendo formatos .png.

El código con jQuery es bastante simple:


//incluimos librerías jQuery
//capturamos tamaño de ventana
var ventana_ancho = $(window).width();
var ventana_alto = $(window).height();

//como la imagen principal mide 480px, regla de tres:
var var_mult = (ventana_ancho * 100) / 480;
//inicializamos
$(document).ready(function() {
//el each recorrerá todos los elementos, en este caso div, del documento
$("div").each(function(){
    //ajustamos alto
    new_height = ($(this).height() * var_mult)/100;
    $(this).css( "height", new_height );
    //ajustamos ancho
    new_width = ($(this).width() * var_mult)/100;
    $(this).css( "width", new_width );
});
});


Con este código recorremos todos los divs dándoles el nuevo tamaño.

Es importante destacar que para que funcione el width y height, de cada uno de nuestros divs, tendría que ir en píxeles ya que es lo que estamos adaptando.

miércoles, 20 de febrero de 2013

Probar tu aplicación en tu móvil desde Eclipse [Android]

El emulador de android que viene en el SDK está bien para probar tu aplicación en múltiples dispositivos ya que puedes elegir las distintas configuraciones de pantalla, el sistema operativo, el cpu, ram... Sin embargo es bastante lento y más si se ejecuta en windows y bajo un sistema de 32 bits como es mi caso. 

Tras probar el diseño de mi aplicación con el emulador, para distintas configuraciones de pantalla, y ver que el responsive design funciona perfectamente, he decidido utilizar mi propio móvil para ir probando mi código, así ganar en tiempo y en realismo a la hora de testear.

A continuación explico cómo conectar cualquier dispositivo móvil al pc para poder usarlo para testear nuestra aplicación.

En primer lugar necesitamos instalar los drivers para usb, así que nos vamos al SDK manager y los instalamos como muestra la imagen.


Seguidamente habrá que configurar como queremos que corra la aplicación, nos vamos a run -> run configurations... Y configuramos de la siguiente manera:


Ahora solo faltaría habilitar las opciones de "Depuración de USB" en nuestro móvil y "Fuentes desconocidas".

Conectamos nuestro USB al pc y, sin activar el almacenamiento masivo, podemos testar nuestra aplicación haciendo click sobre "Run".

sábado, 13 de octubre de 2012

jueves, 27 de septiembre de 2012

A ver si tomamos ejemplo de nuestros vecinos...

En Portugal se ha declarado legal el intercambio de archivos personal.

martes, 18 de septiembre de 2012

La evolución web y las actuales restricciones de Twitter en su API




Tras la última restricción impuesta ayer mismo "Twitter eliminará los servicios de terceros para subir imágenes de sus clientes oficiales", se acumulan ya unas cuantas desde que el servicio sacó a la luz la versión 1.1 de su API. 

No voy a hablar de todas las restricciones impuestas por Twitter, ya hay suficiente información sobre ello en los medios de comunicación, quiero exponer el tema desde el punto de vista de la evolución de la web.

La evolución de la web debería ser abierta, descentralizada y optar por la estandarización en la distribución del contenido, Twitter está haciendo todo lo contrario, se está cerrando, está obteniendo mayor control y ha suprimido la distribución de contenido estandar (RSS), todo ésto para obtener un control absoluto de su plataforma y sobre el usuario. Con ésto, está consiguiendo que se usen sus aplicaciones, por muy poco logradas que estén, y que estén cayendo buenas aplicaciones como Twimbow. Además del citado pleno control de usuario.

En los origines Twitter tenía todos los elementos de la nueva web pero poco a poco ha ido cortándolos. Cierto es que desde el punto de vista económico se podría decir que con la nueva "filosofía" consiguen reducir gastos en cuanto a servidores respecto al uso de aplicaciones de terceros y mayor control de usuario que se traduce en un mayor beneficio económico con el uso de sus aplicaciones oficiales, y que tal vez todo ésto, no le haga perder ni un solo usuario habitual de la plataforma (...).

La peor parte nos la llevamos los usuarios que poco a poco vamos viendo como nuestro mundo en internet es controlado por empresas monopolizadoras. Buenos símiles de esta situación podrían ser el movimiento del Software libre o las descargas "ilegales".

Es por ello que creo, que si todo sigue así, poco a poco servicios descentralizados como App.net, tendrán éxito.



Más información

lunes, 17 de septiembre de 2012

HTML5 vs aplicaciones nativas





Después de la primera entrevista a Mark Zuckerberg, tras la salida a bolsa de Facebook, está habiendo cierta controversia entre los programadores respecto a una autocrítica que hizo el fundador y CEO de la compañía sobre sus movimiento en el ámbito de las distintas plataformas móviles.

Mark admitió:
“El error más grande que hemos hecho como compañía ha sido apostar por el HTML5 sobre las aplicaciones nativas”

Todo se remonta al denominado 'Project Spartan' allá por junio de 2011, con el cual pretendía crear una versión de Facebook escrita en HTML5 accesible desde cualquier dispositivo, bien sea smartphone, tablet o pc, independientemente de la marca o sistema operativo de los mismos.

HTML5 es muy superior a las aplicaciones nativas en cuanto a versatilidad, facilidad, tiempo de desarrollo, costes... Pero pierde en rapidez y fluidez contra las aplicaciones nativas, ya que éstas, si están optimizadas, tienen un rendimiento mucho mayor.

Entonces ¿Por qué opción apostar? pues todo depende, como siempre, de las necesidades y los recursos disponibles. Crear una aplicación para cada uno de los sistemas operativos es un proceso caro, lento y tedioso. Por otro lado HTML5 es más barato, rápido y fácil, lamentablemente la tecnología no está del todo estandarizada y tiene un rendimiento mucho más bajo que las aplicaciones nativas.

Aun así creo que a HTML5 le queda mucho aún por demostrar, la tecnología es joven y tiene un largo camino por recorrer hasta su completa estandarización en 2014.


Para más información sobre HTML5: http://www.html5rocks.com/es/