2011-07-01 6 views
23

私はAndroidプラットフォーム2.2のために実行されている基本的なのPhoneGap + jQueryのモバイルプログラムを取得しようとしていますが、私はアプリケーションエラー「サーバーへの接続を取得しています私がWindows XPのEclipse 3.7でAndroidエミュレータプラットフォーム2.2でアプリケーションを実行しようとすると、Androidエミュレータで「失敗しました(file:///android_asset/www/index.html)」と表示されました。jQueryのモバイル+ PhoneGapの - の読み込みエラーのindex.html

HTMLファイルからJQuery Mobileのすべての参照と構文を削除するとファイルがロードされるので、プロジェクトは問題ないと確信していますが、JQuery Mobileの初期化に欠けているものがあります。私はjQueryのモバイル版* 1.0b1 * jQueryのバージョン1.6.1(私もjQueryの1.4.4とJQMバージョン1.0a2ので試してみましたが、同じエラーを持つ)でのPhoneGap 0.9.6を使用しています。

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

index.htmlファイルは以下の通りです: – Rags

+3

私の問題は、(** PhoneGapのGoogleグループのVirasに感謝**)を解いてしまいました。この問題は、Androidエミュレータが本当に遅い であるため発生します。そのため、ファイルの読み込みが遅すぎるため、ファイルを読み込む際にタイムアウトが発生します。 super.loadUrlを呼び出す前にカスタムアクティビティファイル内に 行を追加してください。 super.setIntegerProperty( "loadUrlTimeoutValue"、60000); – Rags

+2

あなたの質問に答えたり、問題が解決したら私の人生の2分を無駄にしてください。 – Blowsie

答えて

24

問題は、エミュレータの速度が原因である可能性があります。そのため、ネットワークが遅すぎるため、通信がタイムリーに完了しません。

super.setIntegerProperty("loadUrlTimeoutValue", 60000); 

参照:

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

上記溶液は、Javaのためのものであるsrc/com/phonegap/xxx.javaに次のプロパティを追加することによって、PhoneGapの60秒のタイムアウトを設定

ベースのコード。しかし、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) 
関連する問題