2013-07-09 9 views
3

은 내가 응용 프로그램을 만들기 위해 build.phonegap.com에이 코드를 사용 노키아 5800 (심비안)에 .wgz 파일을 다운로드 http://docs.phonegap.com/en/2.9.0/cordova_accelerometer_accelerometer.md.html#Accelerometer가속도계 용 Phonegap 샘플 앱이 Nokia 5800에서 휴대 전화 가속도계 데이터를 표시 할 수없는 이유는 무엇입니까?

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Acceleration Example</title> 

    <script type="text/javascript" charset="utf-8" src="cordova-x.x.x.js"></script> 
    <script type="text/javascript" charset="utf-8"> 

    // The watch id references the current `watchAcceleration` 
    var watchID = null; 

    // Wait for device API libraries to load 
    // 
    document.addEventListener("deviceready", onDeviceReady, false); 

    // device APIs are available 
    // 
    function onDeviceReady() { 
     startWatch(); 
    } 

    // Start watching the acceleration 
    // 
    function startWatch() { 

     // Update acceleration every 3 seconds 
     var options = { frequency: 3000 }; 

     watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options); 
    } 

    // Stop watching the acceleration 
    // 
    function stopWatch() { 
     if (watchID) { 
      navigator.accelerometer.clearWatch(watchID); 
      watchID = null; 
     } 
    } 

    // onSuccess: Get a snapshot of the current acceleration 
    // 
    function onSuccess(acceleration) { 
     var element = document.getElementById('accelerometer'); 
     element.innerHTML = 'Acceleration X: ' + acceleration.x   + '<br />' + 
          'Acceleration Y: ' + acceleration.y   + '<br />' + 
          'Acceleration Z: ' + acceleration.z   + '<br />' + 
          'Timestamp: '  + acceleration.timestamp + '<br />'; 
    } 

    // onError: Failed to get the acceleration 
    // 
    function onError() { 
     alert('onError!'); 
    } 

    </script> 
    </head> 
    <body> 
    <div id="accelerometer">Waiting for accelerometer...</div> 
    </body> 
</html> 

에서 폰갭 문서에서이 코드가 있습니다. 앱이 설치되고 성공적으로로드됩니다. 하지만 단지 "Waiting for accelerometer..."이 표시됩니다. 즉, <div> 태그의 내용은 변경되지 않습니다. 왜 그런가요?

답변

3

Phonegap 포럼에서 답변을 얻었습니다. 라인에서 :

<script type="text/javascript" charset="utf-8" src="cordova-x.x.x.js"></script> 

src"cordova.js"로 설정해야합니다.

+0

원하는대로 설정할 수 있습니다! 중요한 부분은 PhoneGap Build를 통해 컴파일하는 경우 파일 자체를 제거하는 것입니다 ** (필요한 모든 파일이 삽입 될 것입니다) ** 참고 ** 만 남겨 두십시오. 따라서,'src = "cordova-x.x.x.js"가 아니라면 여러분의 프로젝트에'cordova-x.x.x.js '파일이 포함되어있는 것이 사실입니다. 참조를 변경 했으므로 컴파일러에서는 파일을 제거하는 것과 동일한 결과를 제공합니다. – trejder

+0

'.js' 파일을 build.phonegap.com에 업로드하지 않았습니다. 위의 HTML 파일 만 업로드했습니다. 그것은 이전에 작동하지 않았지만''src''를''cordova.js''로 설정할 때 작동하기 시작했습니다. 흥미있는 관찰은''phonegap.js ''에'src'를 설정하면 작동합니다. – Ankur

+0

PhoneGap Build는 code를 삽입하기위한'phonegap.hs'와'cordova.js' 레퍼런스 만 탐지 할 수 있지만, 버전이있는 파일 이름을 참조 할 때는 그렇지 않습니다. 재미있는 관찰. 나는 그들이 정확하게 파일 이름을 확인하고, 검색/대체를하지 않고, 필요한 것보다 더 많은 것을 차단하지 않을 것이라고 믿는다. 그리고, 예 - PhoneGap/Cordova 이름은 같은 프로젝트의 두 이름으로 함께 작동하며 주 Javascript 파일에서도 마찬가지입니다. 둘 다 작동합니다. – trejder

1

src="cordova-x.x.x.js"에서 src="cordova.js"으로 변경하면 작동합니다.

2

변경이 전화의 기본 기능에 액세스하려면 JS 파일 이름 cordova.js 등을위한

<script type="text/javascript" charset="utf-8" src="cordova.js"></script> 

이 문

<script type="text/javascript" charset="utf-8" src="cordova-x.x.x.js"></script> 

. 이것은 phonegap 릴리스 사이트에서 다운로드 할 수있는 파일입니다. http://phonegap.com/install/

최신 버전의 cordova에 대해서는 그렇게 할 필요가 없습니다. 이제 버전은 파일 이름이 아닌 파일 자체에서 언급됩니다. 그러나 최신 릴리스로 가속 코드 작업을 이번에 수행하려면 장치 동작을위한 관련 플러그인을 추가하는 것을 잊지 마십시오.