Eclipseに必要最低限のindex.htmlAnddroidPhonegapプロジェクトがあり、jQueryMobileajax呼び出しを実行しません。LogCatは次のメッセージを表示し、アプリはCordovaWebViewをクラッシュさせます。タイムアウトエラー!CordovaWebViewClient.onReceivedError:エラーコード=-6説明=サーバーへの接続に失敗しました。
興味深い事実:1。)ajax呼び出しをコメントアウトすると、Eclipseはアプリを正常にインストールして実行します。2.)PhoneGap Buildを介してhtml-css-javascriptアプリを処理することで取得する.apkで同じajaxパターンを使用しますが、正常に動作します。
詳細:Eclipse Junoには、次の.jsファイルを次の順序で組み込んだindex.htmlファイルを含むAndroid PhoneGapプロジェクト(ADTとcordova-1.9.0.jarを使用)があります。
<script type="text/javascript" src="Scripts/cordova-1.9.0.js"></script>
<script type="text/javascript" src="Scripts/jquery-1.6.2.min.js"></script>
<script src="Scripts/temp.js" type="text/javascript"></script>
temp.jsファイルにはこれが含まれています
$(document).ready(function(){
var theUrl = 'http://www.myDomain.biz/WebServices/gg.svc/';
console.log("theUrl + GetHelpFile = " + theUrl + "GetHelpFile");
$('div#divTarget').html("theUrl + GetHelpFile = " + theUrl + "GetHelpFile");
$.ajax({
type: "GET",
cache: false,
dataType: 'jsonp',
url: theUrl + "GetHelpFile",
contentType: "text/plain",
success: function (theJson) {
var help_file = $(theJson);
$('div#divHelpFile').html(help_file);
},
error: function ($theData) {
var tt = $theData;
alert(tt);
}
});
});
プロジェクトには
- ビルドパス内のcordova-1.9.0.jar
.javaファイルandroid:name = "。java_activity"および
android:name="org.apache.cordova.DroidGap"の<application><activity>を含むAndroidManifest.xmlファイル
およびすべての<uses-permissions>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
Eclipseで使用している実行構成は4.0AVDを対象としており、すべて正常に機能します。ajax呼び出しをコメントアウトすると、Eclipseは.apkファイルを作成し、AVDを開いてアプリをインストールすると、正常に実行されます。また、IISで同じindex.htmlファイルのWebサイトを同じディレクトリに作成しました。ページがブラウザに読み込まれ、ajaxは正常に実行されます。
タイムアウト期間を長くしましたが、役に立ちませんでした
super.setIntegerProperty("loadUrlTimeoutValue", 60000);
Eclipse-Android-PhoneGapプロジェクトでajax呼び出しを実行するには、何をする必要があると思いますか?
ありがとう