`
caiwb1990
  • 浏览: 315246 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

PhoneGap-Accelerometer

 
阅读更多
采集设备在x、y、z方向上的动作。

    accelerometer.getCurrentAcceleration
    accelerometer.watchAcceleration
    accelerometer.clearWatch


    accelerometerSuccess
    accelerometerError
    accelerometerOptions


Acceleration


accelerometer.getCurrentAcceleration
返回当前沿x、y和z方向的加速度。
navigator.accelerometer.getCurrentAcceleration(accelerometerSuccess, accelerometerError);

说明:
加速计是检测设备在当前方向上所做相对运动变化(增、减量)的运动传感器。加速计可以检测沿X、Y和Z轴的三维运动。
加速度数据通过accelerometerSuccess回调函数返回。
支持的平台:
    Android
    BlackBerry WebWorks (OS 5.0或更高版本)
    iPhone
function onSuccess(acceleration) {
	alert('Acceleration X: ' + acceleration.x + '\n' +
	'Acceleration Y: ' + acceleration.y + '\n' +
	'Acceleration Z: ' + acceleration.z + '\n' +
	'Timestamp: '      + acceleration.timestamp + '\n');
}
function onError() {
	alert('onError!');
}	
navigator.accelerometer.getCurrentAcceleration(onSuccess, onError);

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

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

	// 等待加载PhoneGap   
	document.addEventListener("deviceready", onDeviceReady, false); 

	// PhoneGap加载完毕
	function onDeviceReady() {
		navigator.accelerometer.getCurrentAcceleration(onSuccess, onError);
	}

	// onSuccess: 返回当前加速度数据的快照
	function onSuccess(acceleration) {
		alert('Acceleration X: ' + acceleration.x + '\n' +
			'Acceleration Y: ' + acceleration.y + '\n' +
			'Acceleration Z: ' + acceleration.z + '\n' +
			'Timestamp: '      + acceleration.timestamp + '\n');
	}

	// onError: 返回加速度数据失败
	function onError() {
		alert('onError!');
	}	
</script>
</head>
<body>
	<h1>Example</h1>
	<p>getCurrentAcceleration</p>
</body>
</html>

iPhone的特异情况:
    iPhone没有获取在任何给定点当前加速度数据的概念。
    你必须通过给定时间间隔查看加速度并获得数据。
    因此,getCurrentAcceleration函数会返回从phoneGap watchAccelerometer调用开始后的最近一个返回值。



accelerometer.watchAcceleration

在固定的时间间隔获取沿x、y和z轴的加速度。
var watchID = navigator.accelerometer.watchAcceleration(accelerometerSuccess,
							accelerometerError,
							[accelerometerOptions]);



说明:
加速计是检测设备在当前方向上所做相对运动变化(增、减量)的动作传感器。加速计可以检测沿X、Y和Z轴的三维运动。
accelerometer.watchAcceleration每隔固定时间就获取一次设备的当前加速度。每次取得加速度后,accelerometerSuccess回调函数会被执行。通过acceleratorOptions对象的frequency参数可以设定以毫秒为单位的时间间隔。
返回的watch id是加速度计监视周期的引用,可以通过accelerometer.clearWatch调用该watch ID以停止对加速度计的监视。

支持的平台:
    Android
    BlackBerry WebWorks (OS 5.0或更高版本)
    iPhone

function onSuccess(acceleration) {
	alert('Acceleration X: ' + acceleration.x + '\n' +
	'Acceleration Y: ' + acceleration.y + '\n' +
	'Acceleration Z: ' + acceleration.z + '\n' +
	'Timestamp: '      + acceleration.timestamp + '\n');
}
	
function onError() {
	alert('onError!');
}
	
var options = { frequency: 3000 };  // 每隔3秒更新一次
	
var watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);


<!DOCTYPE html>
<html>
<head>
<title>Acceleration Example</title>
	
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" charset="utf-8">

	// watch id 是当前“watchAcceleration”的引用
	var watchID = null;
	
	// 等待加载PhoneGap
	document.addEventListener("deviceready", onDeviceReady, false);
	
	// PhoneGap加载完毕
	function onDeviceReady() {
		startWatch();
	}
	
	// 开始监视加速度
	function startWatch() {
	
	// 每隔3秒钟更新一次加速度数据
	var options = { frequency: 3000 };
	
	watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);
	}
	
	// 停止监视加速度
	function stopWatch() {
		if (watchID) {
			navigator.accelerometer.clearWatch(watchID);
			watchID = null;
		}
	}
	
	// onSuccess: 获取当前加速度数据的快照
	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: 获取加速度失败
	function onError() {
		alert('onError!');
	}
	
</script>
</head>
<body>
	<div id="accelerometer">Waiting for accelerometer...</div>
</body>
</html>


iPhone的特异情况:

    在请求的时间间隔,PhoneGap将调用success回调指向的函数,并传递加速度计数据。
    不过,PhoneGap将对设备的请求间隔时间限制为最小40ms,最大1000ms。
    例如,如果你设定每隔3秒(3000毫秒)请求一次,PhoneGap仍然每隔1秒请求一次设备,但是每隔3秒才调用一次success回调函数。


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

navigator.accelerometer.clearWatch(watchID);


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

支持的平台:
    Android
    BlackBerry WebWorks (OS 5.0或更高版本)
    iPhone


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

// ... 后续处理 ...

navigator.accelerometer.clearWatch(watchID);


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

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

	// watch id 是当前“watchAcceleration”的引用
	var watchID = null;
	
	// 等待加载PhoneGap
	document.addEventListener("deviceready", onDeviceReady, false);
	
	// PhoneGap加载完毕
	function onDeviceReady() {
		startWatch();
	}
	
	// 开始监视加速度
	function startWatch() {
	
		// 每隔3秒钟更新一次加速度数据
		var options = { frequency: 3000 };
		watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);
	}
	
	// 停止监视加速度
	function stopWatch() {
		if (watchID) {
			navigator.accelerometer.clearWatch(watchID);
			watchID = null;
		}
	}
	
	// onSuccess: 获取当前加速度数据的快照
	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: 获取加速度失败
	function onError() {
		alert('onError!');
	}
	
</script>
</head>
<body>
	<div id="accelerometer">Waiting for accelerometer...</div>
	<button onclick="stopWatch();">Stop Watching</button>
</body>
</html>



Acceleration

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

属性:
    x:在X轴的运动量,[0, 1]范围(数字类型)
    y:在Y轴的运动量,[0, 1]范围(数字类型)
    z:在Z轴的运动量,[0, 1]范围(数字类型)
    timestamp:以毫秒为单位的创建时间戳。(DOMTimeStamp类型)

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

支持的平台:
    Android
    BlackBerry WebWorks (OS 5.0或更高版本)
    iPhone


function onSuccess(acceleration) {
	alert('Acceleration X: ' + acceleration.x + '\n' +
	'Acceleration Y: ' + acceleration.y + '\n' +
	'Acceleration Z: ' + acceleration.z + '\n' +
	'Timestamp: '      + acceleration.timestamp + '\n');
}
	
function onError() {
	alert('onError!');
}
	
navigator.accelerometer.getCurrentAcceleration(onSuccess,onError);


<!DOCTYPE html>
<html>
<head>
<title>Acceleration Example</title>
	
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" charset="utf-8">
	
	// 等待加载PhoneGap
	document.addEventListener("deviceready", onDeviceReady, false);
	
	// PhoneGap加载完毕
	function onDeviceReady() {
		navigator.accelerometer.getCurrentAcceleration(onSuccess, onError);
	}
	
	// onSuccess: 获得加速度数据的快照
	function onSuccess(acceleration) {
		alert('Acceleration X: ' + acceleration.x + '\n' +
		'Acceleration Y: ' + acceleration.y + '\n' +
		'Acceleration Z: ' + acceleration.z + '\n' +
		'Timestamp: '      + acceleration.timestamp + '\n');
	}
	
	// onError: 获取加速度失败
	function onError() {
		alert('onError!');
	}
	
</script>
</head>
<body>
	<h1>Example</h1>
	<p>getCurrentAcceleration</p>
</body>
</html>





accelerometerSuccess

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

function(acceleration) {
   // 进一步处理
}



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

function onSuccess(acceleration) {
	alert('Acceleration X: ' + acceleration.x + '\n' +
	'Acceleration Y: ' + acceleration.y + '\n' +
	'Acceleration Z: ' + acceleration.z + '\n' +
	'Timestamp: '      + acceleration.timestamp + '\n');




accelerometerError

加速度方法的onError回调函数。
复制
function() {
   // 错误处理
}



accelerometerOptions

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

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


分享到:
评论

相关推荐

    PhoneGap - API 中文说明

    PhoneGap - API 中文说明 Accelerometer 加速度计 Camera 相机 Capture 捕捉 Compass 指南针 Contacts 联系人 Device 设备 Events 活动 File 文件 Geolocation 地理位置 Media 媒体 Network 网络 Notification 通知...

    PhoneGap - API 中文说明.rar )

    PhoneGap - API 中文说明 Accelerometer 加速度计 Camera 相机 Capture 捕捉 Compass 指南针 Contacts 联系人 Device 设备 Events 活动 File 文件 Geolocation 地理位置 Media 媒体 Network 网络 Notification 通知...

    phonegap-android-master

    PhoneGap提供了一个桥梁,让Web开发者能够利用设备的原生功能,如摄像头、GPS、联系人列表和 accelerometer,而无需深入学习原生编程语言(如Java或Swift)。 2. **HTML5、CSS3和JavaScript**:PhoneGap应用的基础...

    《Apress Beginning PhoneGap》源码

    《Apress Beginning PhoneGap》 源码 PhoneGap-Accelerometer PhoneGap-Accelerometer-Image PhoneGap-Android-GWT-Hellworld PhoneGap-Camera PhoneGap-Compass PhoneGap-DeviceInfo 等

    PhoneGap,API帮助文档翻译整理1-Accelerometer(加速度计)

    ### PhoneGap中的Accelerometer(加速度计)API详解 #### 一、简介 加速度计是一种常见的硬件传感器,被广泛应用于智能手机和平板电脑等移动设备上。它主要用于测量设备在三维空间中的线性加速度,通常包括三个轴...

    Phonegap-simple-game1:Phonegap简单游戏

    例如,游戏可能使用Java插件来访问设备的 accelerometer(加速度计)或GPS,为游戏增加物理互动或位置感知元素。 在“Phonegap-simple-game1-master”这个压缩包中,通常会包含以下结构: 1. `www` 文件夹:包含...

    PhoneGap-2.9.0

    例如,通过Geolocation API获取用户的地理位置,通过Camera API拍照或选取图片,使用Accelerometer API检测设备的加速度等。 4. **PhoneGap Build**:除了本地开发环境,PhoneGap还提供了在线的PhoneGap Build服务...

    Phonegap-app-test:phonegap 游戏演示

    3. **插件系统**:PhoneGap 提供了插件系统,开发者可以通过插件访问设备的原生功能,如摄像头、GPS、 accelerometer 等。这些插件使用 Java(对于 Android)或 Objective-C/Swift(对于 iOS)编写,提供与 ...

    phonegap-978-1-7852-8609-4:PhoneGap 入门 [视频]

    4. **设备 API**:了解 PhoneGap 提供的各种设备 API,如 accelerometer(加速度计)、camera(相机)、geolocation(地理位置)等,这些 API 允许访问设备硬件功能。 5. **插件开发**:当内置 API 不足以满足需求...

    phonegap-device-motion:PhoneGap 培训

    在 PhoneGap 中,可以使用 `navigator.accelerometer` 对象来访问这些数据。 3. **监听设备运动事件**:开发者可以注册事件监听器,如 `window.addEventListener('devicemotion', yourCallbackFunction)`,来实时...

    phonegap-test-1

    PhoneGap提供了许多预定义的API,如`device`, `accelerometer`, `geolocation`等,它们都可通过JavaScript调用。 4. **PhoneGap的环境设置**: 开发者需要安装PhoneGap CLI(命令行接口),这将帮助创建新项目、...

    phonegap-change-color:PhoneGap 培训

    这个“phonegap-change-color:PhoneGap 培训”项目专注于演示如何通过 PhoneGap 改变应用程序的颜色,这可能是为了创建动态主题或者响应用户操作。PhoneGap 应用程序通常依赖于 JavaScript API 来与设备的硬件特性...

    phonegap-event

    - **设备事件**:这些事件与移动设备的硬件特性相关,比如 `accelerometer`(加速度计)、`battery`(电池状态)、`camera`(相机)、`compass`(指南针)等。 - **用户界面事件**:这些事件与用户的交互有关,如 ...

    PhoneGap-Ring-Capture-Game:用Phonegap制作的游戏作为MiriadaX课程的测试

    在本例中,可能使用了PhoneGap的Accelerometer插件,该插件允许JavaScript代码获取设备的加速度数据,并根据这些数据更新游戏状态。 游戏的主要文件结构可能包含以下几个部分: 1. `/www/index.html`: 这是游戏的...

    phonegap实现摇一摇打电话

    var watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, { frequency: 100 }); // 每100毫秒获取一次加速度数据 function onSuccess(acceleration) { // 检测加速度变化并判断是否为摇一...

    syncery-phonegap-build:Syncery 的 Phonegap 构建

    在 PhoneGap 中,JavaScript 负责处理应用程序的逻辑,与设备功能(如摄像头、GPS 或 accelerometer)交互,并通过 Cordova 插件系统调用原生平台的 API。 Syncery-phonegap-build-master 这个压缩包文件名暗示了它...

    PhoneGap:关于 PhoneGap 插件

    4. **Accelerometer 插件**:读取设备的加速度数据,可用于运动检测或游戏。 5. **Notification 插件**:显示各种通知,如警告框、振动或声音提示。 开发自定义 PhoneGap 插件通常涉及以下步骤: 1. **创建插件...

    phonegap plugins (插件集)

    这些插件是PhoneGap生态系统的关键组成部分,它们扩展了HTML5应用程序的能力,使其能够访问设备的硬件特性,如摄像头、GPS、蓝牙、 accelerometer(加速度计)、 contacts(联系人)和通知等。 1. **Android 插件**...

    Accelerometer

    1. **引入Accelerometer API**:在JavaScript代码中,你需要导入PhoneGap的Accelerometer模块。这通常是通过在HTML文件中添加相应的脚本引用来完成的。 2. **监听加速度变化**:使用`navigator.accelerometer....

    最新phonegap插件集合

    Accelerometer插件,用于读取设备的运动数据。 2. 用户界面插件:例如Toast插件,可以显示短暂的提示信息;Dialog插件,用于创建警告、确认等对话框。 3. 通信插件:如Cordova Network Information插件,检测网络...

Global site tag (gtag.js) - Google Analytics