学习了这么多章的android觉得还是传感器有趣,以前经典的重点加速度游戏,一个球让你在迷宫里走来走去的游戏相信很多刚接触智能手机的人都会玩过。
传感器的种类有很多种大致是以下几个:
方向传感器(Orientation sensor)
加速感应器(Accelerometer sensor)
陀螺仪传感器(Gyroscope sensor)
磁场传感器(Magnetic field sensor)
距离传感器(Proximity sensor)
光线传感器(Light sensor)
气压传感器(Pressure sensor)
温度传感器(Temperature sensor)
重力感应器(Gravity sensor,Android 2.3引入)
线性加速感应器(Linear acceleration sensor ,Android 2.3引入)
旋转矢量传感器(Rotation vector sensor,Android 2.3)
相对湿度传感器(Relative humidity sensor,Android 4.0)
近场通信(NFC)传感器(Android 2.3引入),NFC和其他不一样,具有读写功能。
开发一个指南针也是相当简单的只需要在百度的素材里面找到一个指南针的图片,把它设置到跟着传感器动
1.三维坐标系的概念:
X轴的方向:沿着屏幕水平方向从左到右,如果手机如果不是是正方形的话,较短的边需要水平 放置,较长的边需要垂直放置。
Y轴的方向:从屏幕的左下角开始沿着屏幕的的垂直方向指向屏幕的顶端
Z轴的方向:当水平放置时,指向天空的方向
2.方向传感器的三个值:
values[0]:方位角,手机绕着Z轴旋转的角度。0表示正北(North),90表示正东(East), 180表示正南(South),270表示正西(West)。假如values[0]的值刚好是这四个值的话, 并且手机沿水平放置的话,那么当前手机的正前方就是这四个方向,可以利用这一点来 写一个指南针!
values[1]:倾斜角,手机翘起来的程度,当手机绕着x轴倾斜时该值会发生变化。取值 范围是[-180,180]之间。假如把手机放在桌面上,而桌面是完全水平的话,values1的则应该 是0,当然很少桌子是绝对水平的。从手机顶部开始抬起,直到手机沿着x轴旋转180(此时屏幕 乡下水平放在桌面上)。在这个旋转过程中,values[1]的值会从0到-180之间变化,即手机抬起 时,values1的值会逐渐变小,知道等于-180;而加入从手机底部开始抬起,直到手机沿着x轴 旋转180度,此时values[1]的值会从0到180之间变化。我们可以利用value[1]的这个特性结合 value[2]来实现一个平地尺!
value[2]:滚动角,沿着Y轴的滚动角度,取值范围为:[-90,90],假设将手机屏幕朝上水平放在 桌面上,这时如果桌面是平的,values2的值应为0。将手机从左侧逐渐抬起,values[2]的值将 逐渐减小,知道垂直于手机放置,此时values[2]的值为-90,从右侧则是0-90;加入在垂直位置 时继续向右或者向左滚动,values[2]的值将会继续在-90到90之间变化!