Seguí todos los pasos del tutorial básico de Phonegap (Eclipse, Android SDK, ADT Phonegap), creé una página HMTL en la carpeta assets/www, la ejecuté y mostró mi hello world html
.Phonegap no funciona en el emulador de Android
Paso 2: Agregué una referencia a jQuery Mobile en un CDN en mi página HTML: funcionó.
Paso 3: Creé una nueva página html, copié y pegué el código siguiente, que es un ejemplo del sitio Phonegap, y no ... nada. Ni siquiera una alerta (añadí algunas alertas para ver si pasa algo, pero incluso el evento onDeviceReady no se dispara.
tengo el JAR Phonegap en su lugar, la cordova-1.7.0.js
en mi directorio assest/www
, pero algo es probable que falte.
Puede alguien ayudarme?
también probé otra muestra del sitio Phonegap (muestra las 'propiedades de los dispositivos'), pero todavía no funciona.
es una nueva instalación de Eclipse, Configuré la versión de Android en 2.3.3 y uso Phonegap 1.7.0.
================
EDITAR
He intentado un poco más, y ahora se puede reproducir el error, pero no saben por qué sucede .
Así que creé un nuevo proyecto con el proyecto de ejemplo Phonegap, funciona.
Copié todos los recursos de ese proyecto (1 html, 2 js y 1 css) en mis proyectos, dejo que la aplicación comience con ese html (de mi clase de actividad), y funciona.
Y ahora para la parte divertida (no): reinicié la página de inicio en mi 'viejo' index.html (que es jQuery mobile), y luego hice clic en un enlace al html de ejemplo, NO funciona.
Ejemplo html como inicio: funciona, ejemplo html abierto a través del enlace: NO funciona.
Y cuando cargué mis otras páginas html que no funcionaban como página de inicio, en vez de abrirlas a través de la página de inicio, también funcionan.
Entonces, ¿es posible que mi página de índice jQuery Mobile cause problemas? (Copiaré y pegaré el código a continuación).
EDIT2: Cuando uso una página de índice no jQuery Mobile y la enlace con un enlace <A href>
normal al html de ejemplo, también funciona. Así que eso insinúa cada vez más el hecho de que creo que el móvil jQuery está en mi camino ...
El código de enlace es el siguiente:
<li><a href="index4.html" data-transition="none">phonegap example</a></li>
La página principal de jQuery Mobile:
<html>
<head>
<title></title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.css" />
<link rel="stylesheet" href="http://www.verfrisser.net/kalender/mobile/verfrisser.css" />
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.js"></script>
<script type="text/javascript" charset="utf-8" src="cordova-1.7.0.js"></script>
</head>
<body>
<div data-role="page">
<div data-role="header">
<h1>De NerdNight kalender</h1>
<a href="about.html" data-rel="dialog">About</a><a href="genereren.html" data-transition="pop">Genereren</a>
</div><!-- /header -->
<div data-role="content">
<img id="verfrisserlogo" src="verfrisserlogo.png" />
<ul data-role="listview" data-inset="true" data-filter="false">
<li><a href="2011.html" data-transition="none">2011</a></li>
<li><a href="2012.html" data-transition="none">2012</a></li>
<li><a href="2013.html" data-transition="none">2013</a></li>
<li><a href="testing.html" data-transition="none">testing</a></li>
<li><a href="testing2.html" data-transition="none">testing2</a></li>
<li><a href="testing3.html" data-transition="none">testing3</a></li>
<li><a href="index4.html" data-transition="none">phonegap example</a></li>
</ul>
</div><!-- /content -->
<div data-role="footer">
<h6>(C) Verfrisser 1998 till now</h6>
</div><!-- /footer -->
</div><!-- /page -->
</body>
</html>
================
El HTML de ejemplo (que solo muestra el texto 'Un cuadro de diálogo informará el estado de la red' en la página)
<!DOCTYPE html>
<html>
<head>
<title>navigator.network.connection.type Example</title>
<script type="text/javascript" charset="utf-8" src="cordova-1.7.0.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for Cordova to load //
document.addEventListener("deviceready", onDeviceReady, false);
// Cordova is loaded and it is now safe to make calls Cordova methods
alert ('stand alone');
//
function onDeviceReady() {
alert ('onDeviceReady');
checkConnection();
}
function checkConnection() {
var networkState = navigator.network.connection.type;
var states = {};
states[Connection.UNKNOWN] = 'Unknown connection';
states[Connection.ETHERNET] = 'Ethernet connection';
states[Connection.WIFI] = 'WiFi connection';
states[Connection.CELL_2G] = 'Cell 2G connection';
states[Connection.CELL_3G] = 'Cell 3G connection';
states[Connection.CELL_4G] = 'Cell 4G connection';
states[Connection.NONE] = 'No network connection';
alert('Connection type: ' + states[networkState]);
}
</script>
</head>
<body>
<p>A dialog box will report the network state.</p>
</body>
</html>
¿Ha añadido el permiso Android? ¿Has agregado cordova.xml y plugins.xml en res? –
Sí, los permisos están en su lugar. Los 2 archivos xml no estoy seguro de haber leído sobre ellos en mi tutorial. ¿Puedes señalarme en la dirección correcta sobre ellos? – Michel
En la carpeta res de la aplicación, debe agregar la carpeta xml que está presente en la carpeta lib del paquete de facsímil descargado. Esta carpeta xml contiene ambos xmls –