我用簡單的getJSON數據編碼在手機間隙,jQuery手機,HTML5中製作了一個簡單的android應用程序。該應用程序在瀏覽器中運行良好但不是在Android。Android Phonegap應用程序無法連接到互聯網
當谷歌搜索時,我發現android無法連接到互聯網。所以,我添加了以下
<uses-permission android:name="android.permission.INTERNET" />
但是我的應用程序沒有獲取JSON數據。在瀏覽器的運作良好
我的js文件看起來像
function getMovies(){
var serviceURL = "http://myserver.com/";
alert("TEST"); // THIS WILL WORK ON BROWSER AND APPLICATION
$.getJSON(serviceURL + 'movies.php?jsoncallback=?',null, function(data) {
alert(data.result); // THIS WILLL WORK ON BROWSER
var movies=data.result;
$.each(movies, function(index, movie) {
$('#movielist ul').append(
'<li><div class="image"></div><div class="content">'+
'<div class="moviename">'+movie.movie+'</div>'+
'<div class="moviedetails">Description</div>'+
'</div></li>'
);
});
});
}
我的PHP代碼服務器看起來像
$sql=mysql_query("SELECT * FROM filims");
$result=array();
$i=0;
while($row=mysql_fetch_array($sql)){
$result[$i]['id']=$row['id'];
$result[$i]['movie']=$row['movie'];
//$result[$i]['image']=$row['image'];
$i++;
}
$output=array();
$output['result']=$result;
$output['error']=0;
echo $_GET['jsoncallback'].'('.json_encode($output).')';
我的AndroidManifest.xml看起來像
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.phonegap.helloworld"
android:versionCode="1"
android:versionName="1.0" >
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:resizeable="true"
android:anyDensity="true"
/>
<uses-permission android:name="android.permission.CAMERA" />
<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.INTERNET" />
<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.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-sdk android:minSdkVersion="7" />
<uses-feature />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".App"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.phonegap.DroidGap" android:label="@string/app_name" android:configChanges="orientation|keyboardHidden"> <intent-filter> </intent-filter> </activity>
</application>
</manifest>
普萊舍幫助我,在此先感謝
清單文件是確定的
ExternalHosts
選項。它擁有所有權限。只需檢查WiFi是否打開。如果仍然不起作用,我建議你嘗試一次而不是getJson http://www.freelancephp.net/simpleajax-small-ajax-javascript-object/ – ghostCoder 2012-02-19 09:24:02