Android 简单几行代码实现摇一摇功能
生活随笔
收集整理的這篇文章主要介紹了
Android 简单几行代码实现摇一摇功能
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、activity 實現加速度監(jiān)聽類? ?。。。。implements SensorEventListener
public class MainActivity extends AppCompatActivity implements SensorEventListener {?
2、activity實現兩個方法:
@Overridepublic void onSensorChanged(SensorEvent sensorEvent) {Sensor mySensor = sensorEvent.sensor;if (mySensor.getType() == Sensor.TYPE_ACCELEROMETER) {float x = sensorEvent.values[0];float y = sensorEvent.values[1];float z = sensorEvent.values[2];long curTime = System.currentTimeMillis();if ((curTime - lastUpdate) > 100) {long diffTime = (curTime - lastUpdate);lastUpdate = curTime;float speed = Math.abs(x + y + z - last_x - last_y - last_z)/ diffTime * 10000;if (speed > SHAKE_THRESHOLD) {bb++;if (bb%3==0)Log.i("lgq","yyyyyy=--------"+bb); // getRandomNumber();}last_x = x;last_y = y;last_z = z;}}}@Overridepublic void onAccuracyChanged(Sensor sensor, int i) {}3、初始化數據,設置加速度監(jiān)聽,實現搖一搖功能
?
初始化:
private long lastUpdate = 0; private float last_x, last_y, last_z; private static final int SHAKE_THRESHOLD = 600;private SensorManager senSensorManager; private Sensor senAccelerometer;?
設置加速度監(jiān)聽:
@Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);senSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);senAccelerometer = senSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);senSensorManager.registerListener(this, senAccelerometer , SensorManager.SENSOR_DELAY_NORMAL);}?
4、運行項目搖一搖即可實現執(zhí)行回調方法onSensorChanged,實現方法打印:
Log.i("lgq","yyyyyy=--------"+bb);
總結
以上是生活随笔為你收集整理的Android 简单几行代码实现摇一摇功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AD18等长线、蛇形线的设置
- 下一篇: Swift - 警告提示框(UIAler