2012-02-19 97 views
2

我用簡單的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> 

普萊舍幫助我,在此先感謝

+2

清單文件是確定的ExternalHosts選項。它擁有所有權限。只需檢查WiFi是否打開。如果仍然不起作用,我建議你嘗試一次而不是getJson http://www.freelancephp.net/simpleajax-small-ajax-javascript-object/ – ghostCoder 2012-02-19 09:24:02

回答

1

嘗試增加myserver.com*PhoneGap.plist

+1

你的答案是針對iOS的。 OP表示他們正在使用Android應用程序 – Sean 2013-09-12 00:06:57

相關問題