Solucionado problema al no lanzar evento onDeviceReady Cordova 2.2.0 (PhoneGap) - Más allá de lo que ves

viernes, 16 de noviembre de 2012

Solucionado problema al no lanzar evento onDeviceReady Cordova 2.2.0 (PhoneGap)

Probando las posibilidades que ofrece Cordova (PhoneGap anterior) me he encontrado con que siguiendo los ejemplos y usando el Bind de eventos para onDeviceReady el código que he puesto en el método destinado al efecto no se ejecuta cuando lo pruebo directamente en el navegador sin lanzar la ejecución en ningún terminal.

Entorno: Mac, Chrome, Cordova 2.2, Eclipse Juno

El caso es que basta con añadir al tab body una llamada a la función que deseamos de inicio en el evento onLoad.

Importante no olvidar quitarlo al generar la apk si no se nos ejecutará dos veces ( me ha pasado ;( )

Os dejo un sencillo ejemplo:
    
var app = {
         // Application Constructor
         initialize: function() {          
             this.bindEvents();
         },
         
         // Bind Event Listeners
         // Bind any events that are required on startup.
         bindEvents: function() {
             document.addEventListener('deviceready', 
                   app.onDeviceReady, false);           
         },
         
         // deviceready Event Handler
         onDeviceReady: function() {
             console.log("Entrando");
         },
     };
Como decía basta añadir en el body de la página lo siguiente: onload="app.onDeviceReady()".

2 comentarios:

  1. hola buenas noches estoy usando ubuntu 10 con el phonegap 2.2.0 al incluir la libreria me arroja dos errores
    SQLiteLog (14) cannot open file at line 30176 of [00bb9c9ce4]
    (14) os_unix.c:30176: (2) open(/CachedGeoposition.db) -

    si no coloco el script type="text/javascript" charset="utf-8" src="cordova-2.2.0.js" /script

    no coloque las etiquetas script completas porque me lanzaba un warning
    no me aparece los errores , por nada en el mundo me reconoce ninguna funcion del phonegap ni device , tu probastes el codigo que as probado y te funciono puedes colgar en la web un ejemplo porfa?

    ResponderEliminar
  2. Hola David

    Si que me funciona, de hecho estoy trabajando en una aplicacion con Phonegap y jQuery mobile. Ahora mismo no puedo ponerte el código, pero en cuanto pueda cuelgo un proyecto de eclipse completo.

    Imagino que el jar de cordova 2.2 lo has puesto accesible a la ejecucion del proyecto asi como el fichero js cordova yambién esta disponinle para la página HTML.

    Un saludo y Felices Fiestas

    ResponderEliminar