2011-07-01 16 views
23

que estoy tratando de conseguir un programa básico PhoneGap + jQuery Mobile funcionamiento para plataforma Android 2.2, pero estoy recibiendo un error de aplicación "La conexión con el servidor no tuvo éxito (file: ///android_asset/www/index.html) "en el emulador de Android cuando intento ejecutar la aplicación en la plataforma Android Emulator 2.2 en Windows XP, con Eclipse 3.7.jQuery Mobile + PhoneGap para Android - Error al cargar index.html

El archivo se carga si elimino todas las referencias y la sintaxis de JQuery Mobile del archivo HTML, así que estoy seguro de que mi proyecto está bien pero me falta algo con la inicialización de JQuery Mobile. Estoy usando PhoneGap 0.9.6 con versión de jQuery Mobile * * 1.0b1 con jQuery versión 1.6.1 (También probé con JQM versión 1.0a2 con jQuery 1.4.4, pero con el mismo error).

Si elimino todas las referencias a JQuery Mobile de mi archivo HTML, entonces puedo cargar el programa en el emulador sin errores.

Miré varios ejemplos en la web y los probé como están, pero todos muestran el mismo error. Mis archivos son:

<!DOCTYPE HTML> 
<html> 
    <head> 
    <meta name="viewport" content="width=320; user-scalable=no" /> 
    <meta http-equiv="Content-type" content="text/html; charset=utf-8"> 
    <title>PhoneGap With JQM</title> 
     <link rel="stylesheet" href="jquery.mobile-1.0b1.min.css" type="text/css" charset="utf-8" /> 
     <script src="jquery-1.6.1.min.js"></script> 
      <script type="text/javascript" charset="utf-8" src="phonegap.0.9.6.js"></script> 
      <script type="text/javascript" charset="utf-8" src="main.js"></script> 
      <script src="jquery.mobile-1.0b1.min.js"></script> 

    </head> 
    <body onload="init();"> 
    <div data-role="page" data-theme="e"> 
     <div data-role="header"> 
      <h1>PhoneGap with JQM</h1> 
     </div> 
     <div data-role="content"> 
      <h1>My Content</h1> 
     </div> 
     <div data-role="footer"> 
      <h1>My Footer</h1> 
     </div> 
    </body> 
</html> 

El archivo main.js tiene solamente:

function init() 
{ 
    document.addEventListener("deviceready", deviceInfo, true);    
}  

¿Qué me falta?

+0

archivo index.html es la siguiente: – Rags

+3

Mi problema se resolvió (gracias a Viras en PhoneGap ** ** Grupos de Google). El problema ocurre cuando el emulador de Android es REALMENTE lento , por lo que se produce un tiempo de espera mientras se cargan los archivos porque reacciona demasiado lento. Dentro de su archivo de actividad personalizado antes de llamar a super.loadUrl agregue la siguiente línea : super.setIntegerProperty ("loadUrlTimeoutValue", 60000); – Rags

+2

Responde tu pregunta o ciérrala si tu problema está resuelto, ¡desperdicia 2 minutos de mi vida! – Blowsie

Respuesta

24

El problema es probable debido a la velocidad del emulador por lo que la red es demasiado lenta completar la comunicación de manera oportuna.

Establecer un segundo tiempo de espera de 60 en PhoneGap mediante la adición de la siguiente propiedad a src/com/phonegap/xxx.java:

super.setIntegerProperty("loadUrlTimeoutValue", 60000); 

Referencias:

phonegap 0.9.3 onReceivedError: Error code=-6 Description=The connection to the server was unsuccessful

http://The%20connection%20To%20The%20Server%20Was%20Unsuccessful%20-%20Android%202.2,%20jquerymobile,%200.9.5.1

0

La solución anterior es para Java código basado Sin embargo, OP es para javascript/jquery y phonegap. Lo siguiente me ha ayudado a resolver el problema.

En config.xml, añadir:

<preference name="splash-screen-duration" value="25000" /> 
<!-- Increase the value until the error is solved--> 

el verdadero problema aquí es que PhoneGap tiene un tiempo de carga de la página inicial de 20 segundos. Si su página demora más de esa cantidad de tiempo, obtendrá este mensaje.

Application Error - The connection to the server was unsuccessful. 
(file:///android_asset/www/index.html) 
Cuestiones relacionadas