Я пытаюсь получить базовый PhoneGap + JQuery Mobile работает для платформы Android 2.2 , но я получаю сообщение об ошибке приложения «Соединение с сервером было неудачным (файл: ///android_asset/www/index.html)» в эмуляторе Android, когда я попробуйте запустить приложение на платформе Android Emulator 2.2 на Windows XP с Eclipse 3.7 .
Файл загрузится, если я удалю все ссылки и синтаксис JQuery Mobile из файла HTML , поэтому я уверен, что мой проект в порядке, но я кое-что упустил при инициализации JQuery Mobile. Я использую PhoneGap 0.9.6 с версия JQuery Mobile * 1.0b1 * с JQuery версии 1.6.1 (я также пробовал с JQM версии 1.0a2 с JQuery 1.4.4, но с та же ошибка).
Если я удалю все ссылки на JQuery Mobile из моего HTML-файла, то я смогу загрузить программу в эмулятор без ошибок.
Я просмотрел несколько примеров в Интернете и попробовал их, но все они показывают одну и ту же ошибку. Мои файлы выглядят так:
<!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);
}
Что мне не хватает?
Проблема, скорее всего, связана со скоростью эмулятора, поэтому сеть слишком медленная, чтобы своевременно завершить обмен данными.
Установите 60-секундный тайм-аут в PhoneGap, добавив следующее свойство в src/com/phonegap/xxx.java
:
super.setIntegerProperty("loadUrlTimeoutValue", 60000);
Ссылки:
PhoneGap 0.9.3 onReceivedError: Код ошибки = -6 Описание = Соединение с сервером было неудачным
Приведенное выше решение предназначено для кода на основе 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)