据我所知(PS:本人见识比较短……)Android模拟器好像还不支持摇晃,也就是说,虽然模拟器能够监听到加速度传感器的变化,但是在电脑上用鼠标晃动模拟器,加速度传感器根本没有变化……
但是,这不代表无法实现!!!我在相关网上查看资料的时候,发现一个非常不错的东东——SensorSimulator.jar,实现了开发晃动检测的功能。无图无真相,请看下图:
该工具的官方主页:http://www.openintents.org/en/node/6 ,下载地址:http://openintents.googlecode.com/files/VoiceNote-source-1.0.0.zip,说明文档:http://code.google.com/p/openintents/wiki/SensorSimulator
想在Android模拟器上尝试晃动检测的朋友可以试一试。需要说明的是,官方给的说明文档不太好用……可以看看VoiceNote-source-1.0.0.zip中的Demo,这个还是不错的。该工具的目录结构如下:
其中,bin里存放着SensorSimulator.jar,就是上面图片显示的工具,用来为模拟器提供变化的加速度数值。Lib中存放着sensorsimulator-lib.jar,在你开发带有检测手机摇晃功能的程序时,需要将sensorsimulator-lib.jar导入到你的项目中。Samples中存放着Demo,各位朋友在开发之前,可以先看看这个Demo,比较简单。SensorSimulator中存放着SensorSimulator.jar的源代码。SensorSimulatorSettings里存放着安装在模拟器上的Android小程序。使用SensorSimulator工具前,需要将SensorSimulatorSettings安装到模拟器中。界面如下:
IP地址和Socket端口号可以在SensorSimulator.jar中看到。IP地址基本上就是你的局域网IP,端口号由你自己来定。当填写完后,选择"Testing"选项卡,点击"Connect",如果设置正确无误,可以看到如下效果。
在这里,我们只关心accelerometer,即加速度传感器。当我们移动SensorSimulator.jar中左上角的方块时,会发现Accelerometer的数值已开始发生变化,说明连接成功。接下来我们就可以开发我们自己的程序了。O(∩_∩)o 哈哈
在开发程序的过程中,需要注意以下几点:
1将sensorsimulator-lib.jar导入到项目中。
2 在测试之前,要先打开SensorSimulatorSettings小软件,连接上SensorSimulator.jar工具。
3 在导入了sensorsimulator-lib.jar后,我们需要使用SensorManagerSimulator类,而不是SensorManager。
private SensorManagerSimulator mSensorManager;
4 其他的代码编写工作就差不多了。(PS:我对这个工具的研究不是很深,朋友们开发的时候遇到什么问题,千万别拍我……)
OK了,大家可以开始自己的代码之旅啦!