最近项目中有个摇一摇功能,于是写个Demo,以作分享,顺便复习下传感器方面的应用。
1,main代码:
public class MainActivity extends Activity implements SensorEventListener {
private final int DURATION_TIME = 600;
private Vibrator mVibrator;
SensorManager mSensorManager;
private RelativeLayout mImgUp;
private RelativeLayout mImgDn;
private SoundPool mSndPool;
private HashMap<Integer, Integer> mSoundPoolMap = new HashMap<Integer, Integer>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化控件
mImgUp = (RelativeLayout) findViewById(R.id.shakeImgUp);
mImgDn = (RelativeLayout) findViewById(R.id.shakeImgDown);
// 获取传感器管理服务
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
// 获取震动服务
mVibrator = (Vibrator) getSystemService(Service.VIBRATOR_SERVICE);
// 获取加速度传感器服务
Sensor mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
// 注册监听,获取传感器的变化值
mSensorManager.registerListener(this, mSensor, SensorManager.SENSOR_DELAY_UI);
// 加载音效
loadSound();
}
@Override
public void onSensorChanged(SensorEvent event) {
int sensorType = event.sensor.getType();