设为首页 加入收藏

TOP

Android开发---摇一摇功能实现【源码】
2014-11-24 03:32:27 来源: 作者: 【 】 浏览:2
Tags:Android 开发 --- 功能 实现 源码

以前做的一个小应用里面有摇一摇功能,有必要写下来做个笔记。


摇一摇功能主要用到加速度传感器Sensor.TYPE_ACCELEROMETER


摇一摇功能主要是监听手机加速度变化,当超过设定的某一值时,即触发事件。


一、简单的一个示例源码


下给出一段简单的实现代码:


功能:原先textview1显示为“初始文本”, 当摇晃之后,textview1变为”摇一摇成功!!!“并伴随震动(点击按钮可回到”初始文本“)。


public class SensorTestActivity extends Activity implements SensorEventListener
{
TextView tv = null;
Button button = null;
SensorManager sensorManager = null;
Vibrator vibrator = null;


@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);


button = (Button) findViewById(R.id.button1);
tv = (TextView) findViewById(R.id.textview1);
button.setOnClickListener(new View.OnClickListener()
{


@Override
public void onClick(View v)
{
tv.setText("初始文本");
}
});


sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
vibrator = (Vibrator) getSystemService(Service.VIBRATOR_SERVICE);


}


@Override
protected void onPause()
{
super.onPause();
sensorManager.unregisterListener(this);
}


@Override
protected void onResume()
{
super.onResume();
sensorManager.registerListener(this,
sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
SensorManager.SENSOR_DELAY_NORMAL);
}


@Override
public void onAccuracyChanged(Sensor sensor, int accuracy)
{
//当传感器精度改变时回调该方法,Do nothing.
}


@Override
public void onSensorChanged(SensorEvent event)
{


int sensorType = event.sensor.getType();
//values[0]:X轴,values[1]:Y轴,values[2]:Z轴
float[] values = event.values;
if (sensorType == Sensor.TYPE_ACCELEROMETER)
{
if ((Math.abs(values[0]) > 17 || Math.abs(values[1]) > 17 || Math
.abs(values[2]) > 17))
{
Log.d("sensor x ", "============ values[0] = " + values[0]);
Log.d("sensor y ", "============ values[1] = " + values[1]);
Log.d("sensor z ", "============ values[2] = " + values[2]);
tv.setText("摇一摇成功!!!");
//摇动手机后,再伴随震动提示~~
vibrator.vibrate(500);
}


}
}


}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Log4j入门使用教程 下一篇对Android应用进行单元测试

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·工业机器人TCP校准中 (2025-12-25 05:19:17)
·opc 通讯协议与 TCP (2025-12-25 05:19:15)
·labview中tcp/ip通信 (2025-12-25 05:19:13)
·新书介绍《Python数 (2025-12-25 04:49:47)
·怎么利用 Python 进 (2025-12-25 04:49:45)