我正在开发一个android phoenegap应用程序。多亏了Stackoverflow,我设法使它开始工作。唯一的问题是超时。该应用有时有时会顺利启动而不会引发错误,但有时会引发错误:
Application Error - The connection to the server was unsuccessful. (file:///android_asset/www/index.html)
我用谷歌搜索并找到2个解决方案:
1)添加超时值:super.loadUrl(“ file:///android_asset/www/index.html”,10000);
2)按此链接创建一个虚拟索引页
但是问题仍然没有解决。我也尝试将超时从10000增加到100000。仍然没有帮助。该仿真器有时似乎可以正常工作,但突然之间会引发相同的错误。
我在这里做错了什么?任何帮助,将不胜感激。
编辑
Index.html
<!DOCTYPE HTML>
<html>
<head>
<title>First App</title>
<style>
.table {
border: 2px solid #a1a1a1;
background: #dddddd;
width: 90px;
height: 90px;
border-radius: 25px;
text-align: center;
position:absolute;
}
</style>
<script src="cordova.js"></script>
<script type="text/javascript" src="jquery-1.11.1.min.js"></script>
<script type="text/javascript">
function onLoad()
{
$('.table1').html('');
$.ajax({
type: "POST",
url: "http://192.168.0.70:81/MobileService.asmx/GetTables",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
cache: false,
success: function (msg) {
var Tabels = msg.d;
$.each(Tabels, function(index, table) {
alert('ptx'+table.PointX);
var tabel_data='<div class="table"';
tabel_data +=' style="top:'+ table.PointY +'px;';
tabel_data +='left:'+table.PointX+'px;"';
tabel_data +=">"+table.TableName +"</div>";
$('.table1').append(tabel_data);
});
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert('error');
alert(errorThrown);
}
});
}
</script>
</head>
<body>
<input type="submit" onclick="onLoad();" value="layout1">
<div class="table1" style="position: absolute; display: block;" ></div>
</body>
</html>
MainActivity.java:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.loadUrl("file:///android_asset/www/index.html", 10000);
}
关于您的应用程序错误:
我建议不要使用静态(10秒!)超时,而是有一些更好的方法不会影响应用程序的可用性。虚拟索引同样很容易破解。如果您可以给我更多信息,我相信我们可以为您解决这个问题。
我相信您的问题可能是第二个问题:尝试在deviceready触发前与Cordova API进行互动
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句