日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android---加速传感器

發(fā)布時(shí)間:2024/3/12 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android---加速传感器 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.首先獲得傳感器管理器的實(shí)例

sensorManager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE);

2.通過傳感器管理器獲得加速傳感器

accelerateSensor = getSensorManager(context).getDefaultSensor(Sensor.TYPE_ACCELEROMETER);

3.注冊加速傳感器的監(jiān)聽器

sensorManager.registerListener(listener, sensor, rate)

參數(shù)說明:

listener:加速傳感器監(jiān)聽器實(shí)例

sensor :加速傳感器實(shí)例,實(shí)現(xiàn)搖一搖使用的是accelerateSensor

rate :感應(yīng)器反應(yīng)速度,有四個(gè)常量共選擇


SENSOR_DELAY_NORMAL:匹配屏幕方向的變化,默認(rèn)傳感器速度

SENSOR_DELAY_UI:匹配用戶接口

如果更新UI建議使用SENSOR_DELAY_GAME:

匹配游戲,游戲開發(fā)建議使用SENSOR_DELAY_FASTEST.:匹配所能達(dá)到的最快

根據(jù)情況選擇,一般情況選擇第一種就可以


傳感器監(jiān)聽器:SensorEventListener有兩個(gè)回調(diào)方法

onSensorChanged(SensorEvent event)和onAccuracyChanged(Sensor sensor, int accuracy)

第一個(gè)是傳感器值變化的相應(yīng)方法

第二個(gè)是反應(yīng)速度變化的相應(yīng)方法

兩個(gè)方法會(huì)同時(shí)被調(diào)用

onSensorChanged(SensorEvent event) 介紹

onSensorChanged(SensorEvent event)

event的實(shí)例的values變量非常重要,根據(jù)傳感器的不同,里面的值代表的含義也不相同,以加速傳感器為例:


values該變量的類型是float[]數(shù)組,最多有三個(gè)元素:

float x = values[0] 代表X軸

float y = values[1] 代表Y軸

float z = values[2] 代表Y軸

public class ShakeSensorListener implements SensorEventListener {@Overridepublic void onSensorChanged(SensorEvent sensorEvent) {int sensorType=sensorEvent.sensor.getType();float []values=sensorEvent.values;float x = Math.abs(values[0]);float y = Math.abs(values[1]);float z = Math.abs(values[2]);if (sensorType==Sensor.TYPE_ACCELEROMETER){int ACCELERATE_VALUE=15;//傳感器閾值if (x >= ACCELERATE_VALUE || y >= ACCELERATE_VALUE|| z >= ACCELERATE_VALUE) {Toast.makeText(MainActivity.this,"accelerate speed :"+ (x >= ACCELERATE_VALUE ? x: y >= ACCELERATE_VALUE ? y : z),Toast.LENGTH_SHORT).show();long[]patterns={100,1000,100,400};//靜止時(shí)間 震動(dòng)時(shí)間VibrateHelper.Vibrate(MainActivity.this,patterns,false);Log.i("zy","搖到?jīng)]");}}}

總結(jié)

以上是生活随笔為你收集整理的android---加速传感器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。