2011-07-01 31 views
23

tôi đang cố gắng để có được một căn bản PhoneGap + JQuery Mobile chương trình chạy cho nền tảng Android 2.2, nhưng tôi nhận được một lỗi ứng dụng "Các kết nối đến máy chủ đã không thành công (tệp: ///android_asset/www/index.html) "trong Trình giả lập Android khi tôi cố gắng chạy ứng dụng trong nền tảng Trình mô phỏng Android 2.2 trên Windows XP, với Eclipse 3.7.JQuery Mobile + PhoneGap cho Android - Lỗi tải index.html

Tệp tải nếu tôi xóa tất cả các tham chiếu và cú pháp của JQuery Mobile khỏi tệp HTML, vì vậy tôi chắc chắn rằng dự án của tôi là tốt nhưng có điều tôi thiếu với khởi tạo JQuery Mobile. Tôi đang sử dụng PhoneGap 0.9.6 với phiên bản JQuery Mobile * 1.0b1 * với JQuery phiên bản 1.6.1 (Tôi cũng đã cố gắng với JQM Version 1.0a2 với JQuery 1.4.4 nhưng với lỗi tương tự).

Nếu tôi xóa tất cả các tham chiếu đến JQuery Mobile khỏi tệp HTML của mình thì tôi có thể tải chương trình trong trình mô phỏng mà không có lỗi.

Tôi đã xem một số ví dụ trên web và đã thử chúng như trên, nhưng tất cả đều hiển thị cùng một lỗi. My files như:

<!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> 

File main.js chỉ có:

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

tôi thiếu gì?

+0

Tệp index.html như sau: – Rags

+3

Vấn đề của tôi đã được giải quyết (nhờ Viras trên ** PhoneGap Google Groups **). Vấn đề xảy ra khi trình mô phỏng Android là REALLY chậm do đó, thời gian chờ xảy ra trong khi tải tệp vì phản hồi quá chậm. Trong tệp Hoạt động tùy chỉnh của bạn trước khi gọi super.loadUrl thêm dòng sau: super.setIntegerProperty ("loadUrlTimeoutValue", 60000); – Rags

+2

Hãy trả lời câu hỏi của bạn hoặc đóng nó nếu vấn đề của bạn được giải quyết, tôi chỉ lãng phí 2 phút trong cuộc đời của tôi! – Blowsie

Trả lời

24

Sự cố có thể do tốc độ của trình giả lập để mạng quá chậm hoàn thành việc giao tiếp một cách kịp thời.

Thiết lập một thời gian chờ 60 giây trong PhoneGap bằng cách thêm thuộc tính sau để src/com/phonegap/xxx.java:

super.setIntegerProperty("loadUrlTimeoutValue", 60000); 

Tài liệu tham khảo:

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

Các giải pháp trên là dành cho java mã dựa trên. Tuy nhiên, OP là dành cho javascript/jqueryphonegap. Sau đây đã giúp tôi giải quyết vấn đề.

Trong config.xml, thêm:

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

Vấn đề thực sự ở đây là PhoneGap có một thời gian chờ tải trang ban đầu là 20 giây. Nếu trang của bạn chiếm nhiều thời gian hơn, bạn sẽ nhận được thông báo này.

Application Error - The connection to the server was unsuccessful. 
(file:///android_asset/www/index.html) 
Các vấn đề liên quan