2013-08-13 2 views
1

phonegap 애플리케이션 만들기 (phonegap 2.9 + jquery 1.8.3 + jquery mobile 1.3.1) 완벽하게 작동합니다 : -4.3 android 장치. -4.0 Android 기기. -2.2 android 가상 장치.Phonegap android 프로젝트는 에뮬레이터 및 일부 기기에서 작동하지만 2.2 Android 기기에서는 작동하지 않습니다.

문제는 내가 그것을 안드로이드 2.2.2 장치에 설치할 때 몇 가지 문제가 있다는 것입니다. 일부 API는 작동하고 다른 일부는 작동하지 않습니다.

$.ajax({ 
    data: {museum_id:'1'}, 
    url: url+'index.php?r=api/ListAllCuriosities', 
    type: 'get', 
    success: function (response) { 
     var resultado = response['data']; 
     var listadohtml = ''; 
     for (var i=0;i<resultado.length;i++){ 
      listadohtml += '<ul data-role="listview" data-theme="b" class="titulos"><li>'+resultado[i]['title']+'</li></ul>' 
         +' <p>'+ resultado[i]['description']+'</p>'; 
     } 

     $('#listCuriosities').html(listadohtml); 
     $('#listCuriosities').trigger('create'); 
    }, 
    error: function() { 
     //something went wrong, handle the error and display a message 
     alert('Se ha producido un error en la llamada al servidor'); 
    } 
}); 

을하지만 다른 내가 될 수 있다고 생각

$.ajax({ 
    data: {museum_id:'1'}, 
    url: url+'index.php?r=api/ListMasterpieces', 
    type: 'get', 
    success: function (response) { 
     var visitedList = JSON.parse(window.localStorage.getItem("visited")); 
     var resultado = response['data']; 
     var listadohtml = '<div>'; 
     var author = ''; 


     for (var i=0;i<resultado.length;i++){ 
      var item = ''; 
      var isVisited = 'data-theme="a"'; 

      if(visitedList!=null && resultado[i]['id'] in visitedList && visitedList[resultado[i]['id']]==1){ 
       isVisited = 'data-theme="b" data-icon="check"'; 
      } 

      if(resultado[i]['authorname']!=author){ // en caso de que el autor haya cambiado se insertará una nueva línea 
       item += '<ul data-role="listview" data-theme="b"><li>'+resultado[i]['authorname']+'</li></ul>'; 
       author = resultado[i]['authorname']; 
      } 
      var id = resultado[i]['id']; 
      item += '<p><a href="detalle.html?id='+id+'" id="enlace-'+id+'" data-role="button" data-ajax="false" data-prefetch="false" '+isVisited+'>'+resultado[i]["name"] + '</a></p>'; 

      listadohtml += item; 
     } 
     listadohtml += '</div>'; 


     $('#listaMasterpieces').html(listadohtml); 
     $('#listaMasterpieces').trigger('create'); 
    }, 
    error: function() { 
     //something went wrong, handle the error and display a message 
     alert('Se ha producido un error en la llamada al servidor'); 
    } 
}); 

하지 않습니다 :

예를 들어,이 호출 작동 (당신은 내가 볼 수 있듯이 AA 권한 문제 왜냐면 장치에 일부 정보 저장) - jquery가 제대로 작동하지 않기 때문에 (오류 ajax 메서드의 경고가 표시되지 않음)

애니 페스트 : 나는 문제가 무엇인지 발견

+1

localStorage 문제처럼 보입니다. 2.2로 장치의 localStorage에 액세스 할 수 있는지 확인할 수 있습니까? –

+0

대단히 감사합니다 !!! 당신은 문제가 무엇인지 보여 주셨습니다. 콘텐츠에 액세스 할 수는 있지만 콘텐츠가 없으면 오류가 발생합니다 (Android 4 기기에서는 안됨). – Yises

답변

0

감사 @Raoul 조지에 사전에

<supports-screens android:largeScreens="true" android:normalScreens="true" android:smallScreens="true" android:resizeable="true" android:anyDensity="true" /> 

<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="17" /> 

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="com.museum.prado.MainActivity" 
     android:label="@string/app_name" 
     android:configChanges="orientation|screenSize" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 

감사합니다. 안드로이드 4 아무것도에서

var visitedList = JSON.parse(window.localStorage.getItem("visited")); 

이 발생하지만, 당신은 안드로이드 2.2와 함께 작동하는 경우는 값을 가지고 window.localStorage.getItem는 ("방문") 있는지 확인해야합니다

당신이 할 때.

관련 문제