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>
這是網上網友分享的,簡單整理了一下,你看是否可以幫到你