Sensor传感器(二),实现摇一摇
来源:互联网 发布:linux piwik安装 编辑:程序博客网 时间:2024/06/11 02:53
利用Sensor.TYPE_ACCELEROMETER可以实现摇一摇功能。
import android.app.Activity;import android.content.Context;import android.hardware.Sensor;import android.hardware.SensorEvent;import android.hardware.SensorEventListener;import android.hardware.SensorManager;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends Activity implements SensorEventListener { private Button button; private TextView textView; private SensorManager manager; private Sensor sensor; private float lastX = 0.0f; private final float SHOCK_THRESHOLD = 20.0f;// 晃动的幅度 private final int COUNT = 3;// 连续晃动的次数 private int shockCount = 0; private boolean shocked = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button) this.findViewById(R.id.button1); textView = (TextView) this.findViewById(R.id.textView); manager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); sensor = manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) {//重置 // TODO Auto-generated method stub shocked=false; shockCount = 0; lastX=0.0f; } }); } @Override protected void onResume() { // TODO Auto-generated method stub super.onResume(); manager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_UI); } @Override protected void onPause() { // TODO Auto-generated method stub super.onPause(); manager.unregisterListener(this); } @Override public void onAccuracyChanged(Sensor arg0, int arg1) { // TODO Auto-generated method stub } @Override public void onSensorChanged(SensorEvent event) { // TODO Auto-generated method stub final float x = event.values[0]; if (Math.abs(lastX - x) >= SHOCK_THRESHOLD) { shockCount++; shocked = false; } lastX = x; textView.setText("晃动了" + shockCount + "次"); if (!shocked && shockCount >= 3 && (shockCount % COUNT == 0)) { shocked = true; Toast.makeText(MainActivity.this, "-------喝前摇一摇->>", 1).show();// System.out.println("-------喝前摇一摇->>"); } }}```Xml文件:activity_main.xml
dimens.xml
<!-- Default screen margins, per the Android Design guidelines. --><dimen name="activity_horizontal_margin">16dp</dimen><dimen name="activity_vertical_margin">16dp</dimen>
“`
0 0
- Sensor传感器(二),实现摇一摇
- Android传感器---Motion Sensor(二)
- Android传感器---Position Sensor(二)
- Android传感器---Motion Sensor(二)
- Android传感器---Position Sensor(二)
- Sensor——摇一摇(传感器)
- sensor传感器-摇一摇
- 【安卓小细节汇总】sensor传感器实现摇一摇功能
- smartphone sensor(智能手机传感器)
- 近距离传感器(proximity sensor)
- Android 传感器(Sensor)API教程 (二) 传感器事件
- Android传感器学习二---动作传感器Motion Sensor
- Sensor传感器
- Sensor传感器
- Sensor(传感器)
- sensor(传感器)
- sensor(传感器)
- linux sensor 驱动之 psensor(proximity-sensor距离传感器)
- 改变textview字体的颜色
- IOCP 浅析
- 《关于痴者》---大学之后的学习工作
- A*算法
- 三整数排序
- Sensor传感器(二),实现摇一摇
- 使用Spark分析拉勾网招聘信息(二): 获取数据
- plotly.js
- 深度学习中的 Batch_Size的作用
- C++STL的next_permutation
- 分布式session共享
- linux驱动开发:input子系统二
- 圆形里面写字
- WebSocket(壹) 握手连接