小R科技-WIFI机器人网·机器人创意工作室

 找回密码
 立即注册
查看: 5138|回复: 6

安卓重力感应问题

[复制链接]
发表于 2014-2-12 00:48:49 | 显示全部楼层 |阅读模式
求大神解救,重力感应程序到底怎么写,用来控制小车的。为什么在模拟器上老是报错???
回复

使用道具 举报

发表于 2014-2-12 09:53:19 | 显示全部楼层
  1. //重力感应模块
  2.                 sensorMgr = (SensorManager)getSystemService(SENSOR_SERVICE);    //初始化感应器
  3.             Sensor sensor = sensorMgr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);     //实例化一个重力感应sensor
  4.             SensorEventListener lsn = new SensorEventListener() { //设置重力感应的监听事件   
  5.                        
  6.                         public void onSensorChanged(SensorEvent e) {//当重力感应发生变化时,获取x、y、z三个方向的重力感应加速度值
  7.                                 // TODO Auto-generated method stub
  8.                                 x = e.values[SensorManager.DATA_X];   
  9.                             y = e.values[SensorManager.DATA_Y];   
  10.                             z = e.values[SensorManager.DATA_Z];
  11.                             
  12.                             if(mCheckBox.isChecked()){//如果启动重力感应模块,则执行下边的操作
  13.                                     verticalSeekBar1.setVisibility(View.VISIBLE);//显示seekbar
  14.                                     if(x < 2){//前进
  15.                                             sendMsg(upMsg);
  16.                                     }else if(x > 7){//后退
  17.                                             sendMsg(downMsg);
  18.                                     }else if(y <-1){//左转
  19.                                             sendMsg(leftMsg);
  20.                                     }else if(y > 1){//右转
  21.                                             sendMsg(rightMsg);
  22.                                     }else{//停止
  23.                                             sendMsg(stopMsg);
  24.                                     }
  25.                             }else
  26.                             {
  27.                                     verticalSeekBar1.setVisibility(View.GONE);//seekbar隐藏
  28.                             }
  29.                         }

  30.                         public void onAccuracyChanged(Sensor sensor, int accuracy) {
  31.                                 // TODO Auto-generated method stub
  32.                                
  33.                         }
  34.                 };
  35.                 sensorMgr.registerListener(lsn, sensor, SensorManager.SENSOR_DELAY_GAME);
  36.         }
复制代码

回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-12 16:44:04 | 显示全部楼层
robotStudio 发表于 2014-2-12 09:53

谢啦  版主大神
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-12 23:19:16 | 显示全部楼层
cp3 发表于 2014-2-12 16:44
谢啦  版主大神

还有版主大神  我想问你一下就是为什么 x<2是前进 ,  X>7后退???  能给我讲一下逻辑吗???
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-12 23:19:17 | 显示全部楼层
cp3 发表于 2014-2-12 16:44
谢啦  版主大神

还有版主大神  我想问你一下就是为什么 x<2是前进 ,  X>7后退???  能给我讲一下逻辑吗???
回复 支持 反对

使用道具 举报

发表于 2014-2-13 09:36:10 | 显示全部楼层
cp3 发表于 2014-2-12 23:19
还有版主大神  我想问你一下就是为什么 x7后退???  能给我讲一下逻辑吗???

x y 是手机x轴和y轴的坐标值,当手机倾斜是x和y轴的数值就会发生变化,在调试程序的时候可以把x y值打印输出,方便你调试。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-14 00:06:39 | 显示全部楼层
robotStudio 发表于 2014-2-13 09:36
x y 是手机x轴和y轴的坐标值,当手机倾斜是x和y轴的数值就会发生变化,在调试程序的时候可以把x y值打印输 ...

哦 谢谢啦  版主大神
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

新品特惠推荐上一条 /2 下一条

QQ|QQ技术咨询1|QQ技术咨询2|商务合作微信1:xiaorgeek001|商务合作微信2:XiaoRGEEK|诚聘英才|Archiver|手机版|小R科技-WIFI机器人网·机器人创意工作室 ( 粤ICP备15000788号-6 )

GMT+8, 2024-4-27 13:22 , Processed in 1.096957 second(s), 18 queries .

Powered by XiaoR GEEK X3.4

© 2014-2021 XiaoR GEEK

快速回复 返回顶部 返回列表