android传感器
① Android应用程序中如何每隔一段时间获取传感器的数据
mySensorManager.registerListener( //注册监听
mySensorListener, //监听器SensorListener对象
SensorManager.SENSOR_ACCELEROMETER,//传感器的类型为加速度
SensorManager.SENSOR_DELAY_UI); //频度
关注一下它的参数吧
② Android利用传感器测量高度 长度
可以的,比如测量远处的高楼,是多高距离你多远。
用陀螺仪还可以测量出来距离,就是移动的距离……
③ Android传感器,我拿自己的手机调试程序,用Sensor.TYPE_ALL可以获得6个传感器,但是真正注册每个传感器
另外几个传感器是物理上不存在的,只是系统虚拟的所以没有值
④ 判断android手机的上下左右平移 需要什么传感器
陀螺仪,空中鼠标就是用这个
⑤ Android 外置传感器通过USB连接数据传送的问题
用arino很容易,安卓与arino之间用串口通信,安卓端用Usb类库,arnio端用Serial库。
我也在看这类,我看到有USB对SPI,I2C接口的转换器(某宝有卖),理论上,用这个,可以实现安卓直接与SPI,I2C接口传感器通讯,但这个转换器成本应该高过一块arino板了。而且不具备AD和DA功能,所以,建议还是连接arino后,用arino来控制传感器吧。很多简单的工作,让arino来完成就好了。把arino当成一个串口通讯的usb传感器。
⑥ 安卓传感器类型有哪些
都有,
⑦ android 判断支持哪些传感器
Android中判断手机是否支持传感器,可以通过SensorManager这个类来获取手机所有的传感器列表,如下代码:
package com.example.testsensor;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class DemoSensorActivity extends Activity {
private Button button;
private TextView show;
private SensorManager sm;
private StringBuffer str;
private List<Sensor> allSensors;
private Sensor s;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button = (Button) findViewById(R.id.button);
show = (TextView) findViewById(R.id.show);
button.setOnClickListener(new ButtonListener());
sm = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
allSensors = sm.getSensorList(Sensor.TYPE_ALL);// 获得传感器列表
}
class ButtonListener implements OnClickListener {
public void onClick(View v) {
str = new StringBuffer();
str.append("该手机有" + allSensors.size() + "个传感器,分别是:\n");
for (int i = 0; i < allSensors.size(); i++) {
s = allSensors.get(i);
switch (s.getType()) {
case Sensor.TYPE_ACCELEROMETER:
str.append(i + "加速度传感器");
break;
case Sensor.TYPE_GYROSCOPE:
str.append(i + "陀螺仪传感器");
break;
case Sensor.TYPE_LIGHT:
str.append(i + "环境光线传感器");
break;
case Sensor.TYPE_MAGNETIC_FIELD:
str.append(i + "电磁场传感器");
break;
case Sensor.TYPE_ORIENTATION:
str.append(i + "方向传感器");
break;
case Sensor.TYPE_PRESSURE:
str.append(i + "压力传感器");
break;
case Sensor.TYPE_PROXIMITY:
str.append(i + "距离传感器");
break;
case Sensor.TYPE_TEMPERATURE:
str.append(i + "温度传感器");
break;
default:
str.append(i + "未知传感器");
break;
}
}
show.setText(str);
}
}
}
⑧ android 如何判断手机是否有方向传感器
直接判断SensorManager sm是否为空,为空的话就是另一个图标
不是为空就是一个图标,不过现在的手机一般都有方向传感器,这是基本的,三轴陀螺仪传感器就有可能会没有,像方向传感器和光线传感器、加速度传感器一般都会有的。这些是基本智能手机的基本
⑨ android重力传感器怎么用
package com.example.example;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.widget.TextView;
public class MainActivity extends Activity {
private TextView grivaty;
private SensorManager sensorMgr = null;
private float x,y,z;
@Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initUI();
}
private void initUI() { // TODO
Auto-generated method stub grivaty = (TextView)findViewById(R.id.grivaty); //通过服务得到传感器管理对象
sensorMgr = (SensorManager) getSystemService(SENSOR_SERVICE); //得到重力传感器实例
//TYPE_ACCELEROMETER 加速度传感器(重力传感器)类型。
//TYPE_ALL 描述所有类型的传感器。
//TYPE_GYROSCOPE 陀螺仪传感器类型
//TYPE_LIGHT 光传感器类型
//TYPE_MAGNETIC_FIELD 恒定磁场传感器类型。
//TYPE_ORIENTATION 方向传感器类型。
//TYPE_PRESSURE 描述一个恒定的压力传感器类型
//TYPE_PROXIMITY 常量描述型接近传感器
//TYPE_TEMPERATURE 温度传感器类型描述
final Sensor sensor = sensorMgr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); SensorEventListener lsn = new SensorEventListener() { @SuppressWarnings("deprecation") //传感器获取值改变时响应此函数
public void onSensorChanged(SensorEvent e) { x = e.values[SensorManager.DATA_X]; y = e.values[SensorManager.DATA_Y];
z = e.values[SensorManager.DATA_Z];
// getsensor();
grivaty.setText("x=" + x + " y=" + y + " z=" + z );//左右x值,左正右负,前后位y值,前负后正
}
public void onAccuracyChanged(Sensor s, int accuracy) { } };
//注册listener,第三个参数是检测的精确度
sensorMgr.registerListener(lsn, sensor, SensorManager.SENSOR_DELAY_GAME); } }
布局文件:main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:id="@+id/grivaty" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </RelativeLayout>
这是网上网友分享的,简单整理了一下,你看是否可以帮到你