我正在尝试为 Android平台2.2 运行一个基本的 PhoneGap + JQuery Mobile 程序,但我收到应用程序错误“与服务器的连接失败(文件:///android_asset/www/index.html)“在Android模拟器中”当我尝试在 Windows XP 上运行Android Emulator平台2.2中的应用程序时, Eclipse 3.7 。
如果从HTML文件中删除JQuery Mobile的所有引用和语法,文件会加载,所以我确信我的项目很好但是JQuery Mobile初始化时我缺少了一些东西。我使用 PhoneGap 0.9.6 与 JQuery Mobile版本* 1.0b1 * 与 JQuery版本1.6.1 (我也尝试使用JQM版本1.0a2和JQuery 1.4.4,但有相同的错误。)
如果我从HTML文件中删除对JQuery Mobile的所有引用,那么我可以在模拟器中加载程序而不会出现错误。
我在网上查看了几个示例,并按原样尝试了它们,但所有这些示例都显示了相同的错误。我的文件是:
<!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>
main.js文件只有:
function init()
{
document.addEventListener("deviceready", deviceInfo, true);
}
我错过了什么?
答案 0 :(得分:24)
问题可能是由于模拟器的速度很快,因此网络太慢,无法及时完成通信。
通过将以下属性添加到src/com/phonegap/xxx.java
:
super.setIntegerProperty("loadUrlTimeoutValue", 60000);
<强>参考文献:强>
答案 1 :(得分:0)
以上解决方案适用于基于java的代码。但OP适用于 javascript / jquery 和 phonegap 。以下内容帮助我解决了这个问题。
在 config.xml 中,添加:
<preference name="splash-screen-duration" value="25000" />
<!-- Increase the value until the error is solved-->
这里的真正问题是PhoneGap的初始页面加载超时为20秒。如果您的页面花费的时间超过了大部分时间,您将收到此消息。
Application Error - The connection to the server was unsuccessful.
(file:///android_asset/www/index.html)