用户覆盖:

大部分设备同时具有陀螺仪和加速度计,但几乎每设备有一个加速度计。特别是较旧的设备和较便宜的设备没有陀螺仪。不要忘记,因为它是一个孩子的应用程序,也许父母不希望小孩使用他们的超级700美元的平板电脑,并可能会使用更便宜的。便宜的设备往往没有陀螺仪。所以加速度计+1。

用户体验

三维坐标系中的加速度计测量加速度。在大多数情况下(当用户实际上没有跳过或抛出设备时),加速的最大部分是重力。仅靠重力就可以很容易地确定倾斜和轻微的移动。此外,您可以使用重力软件传感器来消除奇怪的移动,并使用线性加速度来消除重力。陀螺仪检测旋转。它比加速度计更敏感,更精确并且产生的事件更快,但对于这种用例来说似乎是一种矫枉过正。如果你想制作3D赛车游戏或飞行模拟器,这将是陀螺仪的胜利,但对于儿童应用程序来说,这太过分了。

电池使用

这里没有比赛。陀螺仪使用3-30倍的电池(可能更多,取决于设备),而加速度计对电池非常温和。此外,对于大多数用户来说,加速度计已经处于活动状态(自动旋转屏幕),因此这里没有传感器电池的使用情况。 +1加速度计

编程

传感器是非常容易和简单的Android应用程序来实现。由于陀螺仪检测到旋转速度,如果设备保持静止(并且可能在+ -0.01rad/s范围内有一点噪音),它会给出所有0值,所以您只需要一个小的if块即可消除非常微小的移动(例如,当陀螺仪值小于0.2弧度/秒时)。使用加速计时,需要一些额外的计算来确定设备的方向,以及哪个轴实际上是需要更多注意力来确定移动方向的轴。这并不难,但它会为您的工作线添加一些额外的代码行和一些额外的调试。陀螺仪+1。

结论

对于一个简单的儿童版,加速度计是要走的路。我不会再想这件事了。既然你不关心精度,你实际上消除了陀螺仪获得的点数。