解析PhoneGap API帮助文档翻译Accelerometer加速度计

移动开发
PhoneGap API帮助文档翻译Accelerometer加速度计是本文要介绍的内容,主要是来了解并学习PhoneGap API文档的翻译,具体PhoneGap API文档的内容来看本文。

PhoneGap API帮助文档翻译Accelerometer加速度计是本文要介绍的内容,主要是来了解并学习PhoneGap API文档的翻译,具体PhoneGap API文档的内容来看本文,采集设备在x、y、z方向上的动作。

方法:

  1. accelerometer.getCurrentAcceleration  
  2. accelerometer.watchAcceleration  
  3. accelerometer.clearWatch 

参数:

  1. accelerometerSuccess  
  2. accelerometerError  
  3. accelerometerOptions 

对象(只读):

  1. Acceleration  
  2. accelerometer.getCurrentAcceleration   

返回当前沿x、y和z方向的加速度。

  1. navigator.accelerometer.getCurrentAcceleration(accelerometerSuccess, accelerometerError);    
  2. navigator.accelerometer.getCurrentAcceleration(accelerometerSuccess, accelerometerError); 

PhoneGap API说明:

加速计是检测设备在当前方向上所做相对运动变化(增、减量)的运动传感器。加速计可以检测沿X、Y和Z轴的三维运动。

加速度数据通过accelerometerSuccess回调函数返回。

支持的平台:

Android

BlackBerry WebWorks (OS 5.0或更高版本)

iPhone

简单的范例:

  1. function onSuccess(acceleration) {    
  2.     alert('Acceleration X: ' + acceleration.x + '\n' +    
  3.     'Acceleration Y: ' + acceleration.y + '\n' +    
  4.     'Acceleration Z: ' + acceleration.z + '\n' +    
  5.     'Timestamp: '      + acceleration.timestamp + '\n');    
  6. }    
  7.         
  8. function onError() {    
  9.     alert('onError!');    
  10. }    
  11.         
  12. navigator.accelerometer.getCurrentAcceleration(onSuccess, onError);    
  13. function onSuccess(acceleration) {  
  14.  alert('Acceleration X: ' + acceleration.x + '\n' +  
  15.  'Acceleration Y: ' + acceleration.y + '\n' +  
  16.  'Acceleration Z: ' + acceleration.z + '\n' +  
  17.  'Timestamp: '      + acceleration.timestamp + '\n');  
  18. }  
  19.    
  20. function onError() {  
  21.  alert('onError!');  
  22. }  
  23.    
  24. navigator.accelerometer.getCurrentAcceleration(onSuccess, onError);  

完整的范例:

  1. </pre><pre name="code" class="html"><!DOCTYPE html>    
  2. <html>    
  3. <head>    
  4. <title>Acceleration Example</title>    
  5.     
  6. <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>    
  7. <script type="text/javascript" charset="utf-8">    
  8.     
  9.     // 等待加载PhoneGap       
  10.     document.addEventListener("deviceready", onDeviceReady, false);     
  11.     
  12.     // PhoneGap加载完毕    
  13.     function onDeviceReady() {    
  14.         navigator.accelerometer.getCurrentAcceleration(onSuccess, onError);    
  15.     }    
  16.     
  17.     // onSuccess: 返回当前加速度数据的快照    
  18.     function onSuccess(acceleration) {    
  19.         alert('Acceleration X: ' + acceleration.x + '\n' +    
  20.             'Acceleration Y: ' + acceleration.y + '\n' +    
  21.             'Acceleration Z: ' + acceleration.z + '\n' +    
  22.             'Timestamp: '      + acceleration.timestamp + '\n');    
  23.     }    
  24.     
  25.     // onError: 返回加速度数据失败    
  26.     function onError() {    
  27.         alert('onError!');    
  28.     }    
  29.         
  30. </script>    
  31.     
  32. </head>    
  33. <body>    
  34.     <h1>Example</h1>    
  35.     <p>getCurrentAcceleration</p>    
  36. </body>    
  37. </html>    
  38. </pre><pre name="code" class="html"><!DOCTYPE html> 
  39. <html> 
  40. <head> 
  41. <title>Acceleration Example</title> 
  42.  
  43. <script type="text/javascript" charset="utf-8" src="phonegap.js"></script> 
  44. <script type="text/javascript" charset="utf-8"> 
  45.  
  46.  // 等待加载PhoneGap     
  47.  document.addEventListener("deviceready", onDeviceReady, false);   
  48.  
  49.  // PhoneGap加载完毕  
  50.  function onDeviceReady() {  
  51.   navigator.accelerometer.getCurrentAcceleration(onSuccess, onError);  
  52.  }  
  53.  
  54.  // onSuccess: 返回当前加速度数据的快照  
  55.  function onSuccess(acceleration) {  
  56.   alert('Acceleration X: ' + acceleration.x + '\n' +  
  57.    'Acceleration Y: ' + acceleration.y + '\n' +  
  58.    'Acceleration Z: ' + acceleration.z + '\n' +  
  59.    'Timestamp: '      + acceleration.timestamp + '\n');  
  60.  }  
  61.  
  62.  // onError: 返回加速度数据失败  
  63.  function onError() {  
  64.   alert('onError!');  
  65.  }  
  66.    
  67. </script> 
  68.  
  69. </head> 
  70. <body> 
  71.  <h1>Example</h1> 
  72.  <p>getCurrentAcceleration</p> 
  73. </body> 
  74. </html> 

#p#

iPhone的特异情况:

iPhone没有获取在任何给定点当前加速度数据的概念。

你必须通过给定时间间隔查看加速度并获得数据。

因此,getCurrentAcceleration函数会返回从phoneGap watchAccelerometer调用开始后的最近一个返回值

accelerometer.watchAcceleration  
 
在固定的时间间隔获取沿x、y和z轴的加速度。

  1. var watchID = navigator.accelerometer.watchAcceleration(accelerometerSuccess,    
  2.                             accelerometerError,    
  3.                             [accelerometerOptions]);    
  4. var watchID = navigator.accelerometer.watchAcceleration(accelerometerSuccess,  
  5.        accelerometerError,  
  6.        [accelerometerOptions]); 

PhoneGap API说明:

加速计是检测设备在当前方向上所做相对运动变化(增、减量)的动作传感器。加速计可以检测沿X、Y和Z轴的三维运动。

accelerometer.watchAcceleration每隔固定时间就获取一次设备的当前加速度。每次取得加速度后,accelerometerSuccess回调函数会被执行。通过acceleratorOptions对象的frequency参数可以设定以毫秒为单位的时间间隔。

返回的watch id是加速度计监视周期的引用,可以通过accelerometer.clearWatch调用该watch ID以停止对加速度计的监视。

支持的平台:

Android

BlackBerry WebWorks (OS 5.0或更高版本)

iPhone

简单的范例:

  1. function onSuccess(acceleration) {    
  2.     alert('Acceleration X: ' + acceleration.x + '\n' +    
  3.     'Acceleration Y: ' + acceleration.y + '\n' +    
  4.     'Acceleration Z: ' + acceleration.z + '\n' +    
  5.     'Timestamp: '      + acceleration.timestamp + '\n');    
  6. }     
  7. function onError() {    
  8.     alert('onError!');    
  9. }    
  10. var options = { frequency: 3000 };  // 每隔3秒更新一次      
  11. var watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);    
  12. function onSuccess(acceleration) {  
  13.  alert('Acceleration X: ' + acceleration.x + '\n' +  
  14.  'Acceleration Y: ' + acceleration.y + '\n' +  
  15.  'Acceleration Z: ' + acceleration.z + '\n' +  
  16.  'Timestamp: '      + acceleration.timestamp + '\n');  
  17. }  
  18. function onError() {  
  19.  alert('onError!');  
  20. }  
  21. var options = { frequency: 3000 };  // 每隔3秒更新一次  
  22. var watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);  

完整的范例:

  1. <!DOCTYPE html>    
  2. <html>    
  3. <head>    
  4. <title>Acceleration Example</title>    
  5.         
  6. <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>    
  7. <script type="text/javascript" charset="utf-8">    
  8.     
  9.     // watch id 是当前“watchAcceleration”的引用    
  10.     var watchID = null;    
  11.         
  12.     // 等待加载PhoneGap    
  13.     document.addEventListener("deviceready", onDeviceReady, false);    
  14.         
  15.     // PhoneGap加载完毕    
  16.     function onDeviceReady() {    
  17.         startWatch();    
  18.     }    
  19.         
  20.     // 开始监视加速度    
  21.     function startWatch() {    
  22.         
  23.     // 每隔3秒钟更新一次加速度数据    
  24.     var options = { frequency: 3000 };    
  25.         
  26.     watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);    
  27.     }    
  28.         
  29.     // 停止监视加速度    
  30.     function stopWatch() {    
  31.         if (watchID) {    
  32.             navigator.accelerometer.clearWatch(watchID);    
  33.             watchID = null;    
  34.         }    
  35.     }    
  36.         
  37.     // onSuccess: 获取当前加速度数据的快照    
  38.     function onSuccess(acceleration) {    
  39.         var element = document.getElementById('accelerometer');    
  40.         element.innerHTML = 'Acceleration X: ' + acceleration.x + '<br />' +    
  41.                             'Acceleration Y: ' + acceleration.y + '<br />' +    
  42.                             'Acceleration Z: ' + acceleration.z + '<br />' +    
  43.                             'Timestamp: '      + acceleration.timestamp + '<br />';    
  44.     }    
  45.         
  46.     // onError: 获取加速度失败    
  47.     function onError() {    
  48.         alert('onError!');    
  49.     }    
  50.         
  51. </script>    
  52.     
  53. </head>    
  54. <body>    
  55.     <div id="accelerometer">Waiting for accelerometer...</div>    
  56. </body>    
  57. </html>    
  58. <!DOCTYPE html> 
  59. <html> 
  60. <head> 
  61. <title>Acceleration Example</title> 
  62.    
  63. <script type="text/javascript" charset="utf-8" src="phonegap.js"></script> 
  64. <script type="text/javascript" charset="utf-8"> 
  65.  
  66.  // watch id 是当前“watchAcceleration”的引用  
  67.  var watchID = null;  
  68.    
  69.  // 等待加载PhoneGap  
  70.  document.addEventListener("deviceready", onDeviceReady, false);  
  71.    
  72.  // PhoneGap加载完毕  
  73.  function onDeviceReady() {  
  74.   startWatch();  
  75.  }  
  76.    
  77.  // 开始监视加速度  
  78.  function startWatch() {  
  79.    
  80.  // 每隔3秒钟更新一次加速度数据  
  81.  var options = { frequency: 3000 };  
  82.    
  83.  watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);  
  84.  }  
  85.    
  86.  // 停止监视加速度  
  87.  function stopWatch() {  
  88.   if (watchID) {  
  89.    navigator.accelerometer.clearWatch(watchID);  
  90.    watchID = null;  
  91.   }  
  92.  }  
  93.    
  94.  // onSuccess: 获取当前加速度数据的快照  
  95.  function onSuccess(acceleration) {  
  96.   var element = document.getElementById('accelerometer');  
  97.   element.innerHTML = 'Acceleration X: ' + acceleration.x + '<br />' +  
  98.        'Acceleration Y: ' + acceleration.y + '<br />' +  
  99.        'Acceleration Z: ' + acceleration.z + '<br />' +  
  100.        'Timestamp: '      + acceleration.timestamp + '<br />';  
  101.  }  
  102.    
  103.  // onError: 获取加速度失败  
  104.  function onError() {  
  105.   alert('onError!');  
  106.  }  
  107.    
  108. </script> 
  109.  
  110. </head> 
  111. <body> 
  112.  <div id="accelerometer">Waiting for accelerometer...</div> 
  113. </body> 
  114. </html> 

#p#

iPhone的特异情况:

PhoneGap API在请求的时间间隔,PhoneGap将调用success回调指向的函数,并传递加速度计数据。

不过,PhoneGap将对设备的请求间隔时间限制为最小40ms,最大1000ms。

例如,如果你设定每隔3秒(3000毫秒)请求一次,PhoneGap仍然每隔1秒请求一次设备,但是每隔3秒才调用一次success回调函数。

accelerometer.clearWatch  
 
停止watch ID参数指向的加速度监视。

  1. navigator.accelerometer.clearWatch(watchID);    
  2. navigator.accelerometer.clearWatch(watchID); 

watchID:由accelerometer.watchAcceleration返回的引用标识ID。

支持的平台:

Android

BlackBerry WebWorks (OS 5.0或更高版本)

iPhone

简单的范例:

  1. var watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);    
  2.     
  3. // ... 后续处理 ...    
  4.     
  5. navigator.accelerometer.clearWatch(watchID);    
  6. var watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);  
  7.  
  8. // ... 后续处理 ...  
  9.  
  10. navigator.accelerometer.clearWatch(watchID); 

完整的范例:

  1. <!DOCTYPE html>    
  2. <html>    
  3. <head>    
  4. <title>Acceleration Example</title>    
  5.     
  6. <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>    
  7. <script type="text/javascript" charset="utf-8">    
  8.     
  9.     // watch id 是当前“watchAcceleration”的引用    
  10.     var watchID = null;    
  11.         
  12.     // 等待加载PhoneGap    
  13.     document.addEventListener("deviceready", onDeviceReady, false);    
  14.         
  15.     // PhoneGap加载完毕    
  16.     function onDeviceReady() {    
  17.         startWatch();    
  18.     }    
  19.         
  20.     // 开始监视加速度    
  21.     function startWatch() {    
  22.         
  23.         // 每隔3秒钟更新一次加速度数据    
  24.         var options = { frequency: 3000 };    
  25.         watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);    
  26.     }    
  27.         
  28.     // 停止监视加速度    
  29.     function stopWatch() {    
  30.         if (watchID) {    
  31.             navigator.accelerometer.clearWatch(watchID);    
  32.             watchID = null;    
  33.         }    
  34.     }    
  35.         
  36.     // onSuccess: 获取当前加速度数据的快照    
  37.     function onSuccess(acceleration) {    
  38.         var element = document.getElementById('accelerometer');    
  39.         element.innerHTML = 'Acceleration X: ' + acceleration.x + '<br />' +    
  40.                             'Acceleration Y: ' + acceleration.y + '<br />' +    
  41.                             'Acceleration Z: ' + acceleration.z + '<br />' +    
  42.                             'Timestamp: '      + acceleration.timestamp + '<br />';    
  43.     }    
  44.         
  45.     // onError: 获取加速度失败    
  46.     function onError() {    
  47.         alert('onError!');    
  48.     }    
  49.         
  50. </script>    
  51. </head>    
  52. <body>    
  53.     <div id="accelerometer">Waiting for accelerometer...</div>    
  54.     <button onclick="stopWatch();">Stop Watching</button>    
  55. </body>    
  56. </html>    
  57. <!DOCTYPE html> 
  58. <html> 
  59. <head> 
  60. <title>Acceleration Example</title> 
  61.  
  62. <script type="text/javascript" charset="utf-8" src="phonegap.js"></script> 
  63. <script type="text/javascript" charset="utf-8"> 
  64.  
  65.  // watch id 是当前“watchAcceleration”的引用  
  66.  var watchID = null;  
  67.    
  68.  // 等待加载PhoneGap  
  69.  document.addEventListener("deviceready", onDeviceReady, false);  
  70.    
  71.  // PhoneGap加载完毕  
  72.  function onDeviceReady() {  
  73.   startWatch();  
  74.  }  
  75.    
  76.  // 开始监视加速度  
  77.  function startWatch() {  
  78.    
  79.   // 每隔3秒钟更新一次加速度数据  
  80.   var options = { frequency: 3000 };  
  81.   watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);  
  82.  }  
  83.    
  84.  // 停止监视加速度  
  85.  function stopWatch() {  
  86.   if (watchID) {  
  87.    navigator.accelerometer.clearWatch(watchID);  
  88.    watchID = null;  
  89.   }  
  90.  }  
  91.    
  92.  // onSuccess: 获取当前加速度数据的快照  
  93.  function onSuccess(acceleration) {  
  94.   var element = document.getElementById('accelerometer');  
  95.   element.innerHTML = 'Acceleration X: ' + acceleration.x + '<br />' +  
  96.        'Acceleration Y: ' + acceleration.y + '<br />' +  
  97.        'Acceleration Z: ' + acceleration.z + '<br />' +  
  98.        'Timestamp: '      + acceleration.timestamp + '<br />';  
  99.  }  
  100.    
  101.  // onError: 获取加速度失败  
  102.  function onError() {  
  103.   alert('onError!');  
  104.  }  
  105.    
  106. </script> 
  107. </head> 
  108. <body> 
  109.  <div id="accelerometer">Waiting for accelerometer...</div> 
  110.  <button onclick="stopWatch();">Stop Watching</button> 
  111. </body> 
  112. </html>  

#p#

Acceleration  

包含特定时间点采集到的加速计数据。

属性:

x:在X轴的运动量,[0, 1]范围(数字类型)

y:在Y轴的运动量,[0, 1]范围(数字类型)

z:在Z轴的运动量,[0, 1]范围(数字类型)

timestamp:以毫秒为单位的创建时间戳。(DOMTimeStamp类型)

PhoneGap API说明:

这个对象是由phoneGap创建和填充,并由Acce这个对象是由PhoneGap创建和填充,并由Accelerometer的方法返回。

支持的平台:

Android

BlackBerry WebWorks (OS 5.0或更高版本)

iPhone

简单的范例:

  1. function onSuccess(acceleration) {    
  2.     alert('Acceleration X: ' + acceleration.x + '\n' +    
  3.     'Acceleration Y: ' + acceleration.y + '\n' +    
  4.     'Acceleration Z: ' + acceleration.z + '\n' +    
  5.     'Timestamp: '      + acceleration.timestamp + '\n');    
  6. }    
  7.         
  8. function onError() {    
  9.     alert('onError!');    
  10. }    
  11.         
  12. navigator.accelerometer.getCurrentAcceleration(onSuccess,onError);    
  13. function onSuccess(acceleration) {  
  14.  alert('Acceleration X: ' + acceleration.x + '\n' +  
  15.  'Acceleration Y: ' + acceleration.y + '\n' +  
  16.  'Acceleration Z: ' + acceleration.z + '\n' +  
  17.  'Timestamp: '      + acceleration.timestamp + '\n');  
  18. }  
  19.    
  20. function onError() {  
  21.  alert('onError!');  
  22. }  
  23. navigator.accelerometer.getCurrentAcceleration(onSuccess,onError); 

完整的范例:

  1. <!DOCTYPE html>    
  2. <html>    
  3. <head>    
  4. <title>Acceleration Example</title>    
  5.         
  6. <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>    
  7. <script type="text/javascript" charset="utf-8">    
  8.         
  9.     // 等待加载PhoneGap    
  10.     document.addEventListener("deviceready", onDeviceReady, false);    
  11.         
  12.     // PhoneGap加载完毕    
  13.     function onDeviceReady() {    
  14.         navigator.accelerometer.getCurrentAcceleration(onSuccess, onError);    
  15.     }    
  16.         
  17.     // onSuccess: 获得加速度数据的快照    
  18.     function onSuccess(acceleration) {    
  19.         alert('Acceleration X: ' + acceleration.x + '\n' +    
  20.         'Acceleration Y: ' + acceleration.y + '\n' +    
  21.         'Acceleration Z: ' + acceleration.z + '\n' +    
  22.         'Timestamp: '      + acceleration.timestamp + '\n');    
  23.     }    
  24.         
  25.     // onError: 获取加速度失败    
  26.     function onError() {    
  27.         alert('onError!');    
  28.     }    
  29.         
  30. </script>    
  31.     
  32. </head>    
  33. <body>    
  34.     <h1>Example</h1>    
  35.     <p>getCurrentAcceleration</p>    
  36. </body>    
  37. </html>    
  38. <!DOCTYPE html> 
  39. <html> 
  40. <head> 
  41. <title>Acceleration Example</title> 
  42.    
  43. <script type="text/javascript" charset="utf-8" src="phonegap.js"></script> 
  44. <script type="text/javascript" charset="utf-8"> 
  45.    
  46.  // 等待加载PhoneGap  
  47.  document.addEventListener("deviceready", onDeviceReady, false);  
  48.    
  49.  // PhoneGap加载完毕  
  50.  function onDeviceReady() {  
  51.   navigator.accelerometer.getCurrentAcceleration(onSuccess, onError);  
  52.  }  
  53.    
  54.  // onSuccess: 获得加速度数据的快照  
  55.  function onSuccess(acceleration) {  
  56.   alert('Acceleration X: ' + acceleration.x + '\n' +  
  57.   'Acceleration Y: ' + acceleration.y + '\n' +  
  58.   'Acceleration Z: ' + acceleration.z + '\n' +  
  59.   'Timestamp: '      + acceleration.timestamp + '\n');  
  60.  }  
  61.    
  62.  // onError: 获取加速度失败  
  63.  function onError() {  
  64.   alert('onError!');  
  65.  }  
  66.    
  67. </script> 
  68.  
  69. </head> 
  70. <body> 
  71.  <h1>Example</h1> 
  72.  <p>getCurrentAcceleration</p> 
  73. </body> 
  74. </html> 
  75.  
  76. accelerometerSuccess   

提供加速度信息的onSuccess回调函数。

  1. function(acceleration) {    
  2.    // 进一步处理    
  3. }    
  4. function(acceleration) {  
  5.    // 进一步处理  

参数:

acceleration: 在某一时刻的加速度(Acacceleration:在某一时刻的加速度。(Acceleration对象类型)

  1. function onSuccess(acceleration) {    
  2.     alert('Acceleration X: ' + acceleration.x + '\n' +    
  3.     'Acceleration Y: ' + acceleration.y + '\n' +    
  4.     'Acceleration Z: ' + acceleration.z + '\n' +    
  5.     'Timestamp: '      + acceleration.timestamp + '\n');    
  6. }    
  7. function onSuccess(acceleration) {  
  8.  alert('Acceleration X: ' + acceleration.x + '\n' +  
  9.  'Acceleration Y: ' + acceleration.y + '\n' +  
  10.  'Acceleration Z: ' + acceleration.z + '\n' +  
  11.  'Timestamp: '      + acceleration.timestamp + '\n');  
  12. }  
  13.  
  14. accelerometerError   

加速度方法的onError回调函数。

  1. function() {    
  2.    // 错误处理    
  3. }    
  4. function() {  
  5.    // 错误处理  
  6. }  
  7. accelerometerOptions   

定制检索加速度计的可选参数。

选项:

frequency:多少毫秒获取一次Acceleration。(数字类型)(默认值:10000)。

小结:解析PhoneGap API帮助文档翻译Accelerometer加速度计的内容介绍完了,希望通过PhoneGap API内容的学习能对你有所帮助!

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-09-13 10:17:26

PhoneGap AP

2011-09-13 11:06:08

PhoneGap AP

2011-09-13 10:40:25

PhoneGap AP

2011-09-13 14:07:45

PhoneGap AP

2011-09-13 14:40:16

PhoneGap AP

2011-09-13 16:08:58

PhoneGap AP

2011-09-13 13:47:56

PhoneGap AP

2011-12-19 15:30:25

AccelerometPhoneGap AP

2011-09-13 15:51:11

PhoneGap AP

2011-09-13 16:24:11

PhoneGap AP

2011-12-30 14:16:02

AccelerometPhoneGap AP视频

2021-11-15 09:46:26

数据iOS安卓

2023-06-22 19:57:04

2012-12-13 13:27:29

Corona SDK

2020-04-20 13:27:20

传感器可穿戴技术医疗保健

2010-05-05 17:19:55

云计算

2010-03-16 14:07:33

智能手机数据安全

2020-10-19 10:08:03

微软斜屏技术

2020-03-25 14:56:45

物联网新基建肺炎
点赞
收藏

51CTO技术栈公众号