martes, 27 de mayo de 2014

Plugin para vibración (y ejemplo)

Vamos a enriquecer la aplicación de las vistas "principal" y "opciones" añadiendo la capacidad de vibrar el dispositivo en el que se ejecute. Vamos a hacer que el dispositivo vibre durante un periodo de tiempo determinado al pulsar los botones que cambian el color del texto en la pantalla de opciones.

En la página de GitHub podemos obtener información sobre este plugin, que nos proporciona la forma de hacer vibrar el dispositivo con Phonegap y Cordova. Antes de instalarlo, comprobamos que es compatible con las principales plataformas, por lo que es ventajoso su uso si pretendemos hacer la app compatible con varios sistemas móviles. Está soportado en:

  • Amazon Fire OS
  • Android
  • BlackBerry 10
  • Firefox OS
  • iOS
  • Windows Phone 7 and 8


Para instalarlo debemos ejecutar, en línea de comandos, y situados en la carpeta del proyecto, la siguiente orden:

phonegap plugin add org.apache.cordova.vibration



Con esto, nuestra aplicación ya es capaz de, con la programación adecuada, hacer vibrar nuestro dispositivo. Para hacerlo hay que ejecutar la siguiente línea de código, cambiando la variable t por un tiempo expresado en milisegundos:
navigator.notification.vibrate(t)

En iOS, este tiempo es ignorado y el dispositivo vibra durante un tiempo preestablecido.

Lo único que nos queda es llevar la orden de vibración al punto concreto de nuestra app en el que queremos que lo haga. Vamos al fichero index.js y añadimos lo siguiente a los eventos click de los botones "botonRojo" y "botonAzul":

...final del index.js...
    botonRojo.click(function(){
        $('p').addClass("fondoRojo");
        $('p').removeClass("fondoAzul");
        //el dispositivo vibrará durante medio segundo
        navigator.notification.vibrate(500);
    });
    botonAzul.click(function(){
        $('p').removeClass("fondoRojo");
        $('p').addClass("fondoAzul");
        navigator.notification.vibrate(200);
    });
}

He puesto tiempos de vibración diferentes para que se note la diferencia entre pulsar uno u otro botón.

Con esto ya sólo nos queda compilar, en local o en la nube, y probar la aplicación. 
Yo he optado por hacerlo en local desde consola y copiarme el .apk cuyo nombre termina en "unaligned" localizado en platforms\android\ant-build.



No hay comentarios:

Publicar un comentario