欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android開發(fā)獲取傳感器數據的方法示例【加速度傳感器,磁場傳感器,光線傳感器,方向傳感器】

 更新時間:2017年11月06日 11:02:57   作者:神馬  
這篇文章主要介紹了Android開發(fā)獲取傳感器數據的方法,結合實例形式分析了Android獲取加速度傳感器、磁場傳感器、光線傳感器及方向傳感器數據的相關操作技巧,需要的朋友可以參考下

本文實例講述了Android開發(fā)獲取傳感器數據的方法。分享給大家供大家參考,具體如下:

package mobile.android.sensor;
import java.util.List;
import android.app.Activity;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.widget.TextView;
public class Main extends Activity implements SensorEventListener {
  private TextView tvAccelerometer;
  private TextView tvMagentic;
  private TextView tvLight;
  private TextView tvOrientation;
  private TextView tvSensors;
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    // 獲得SensorManager對象
    SensorManager sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
    // 注冊加速度傳感器
    sensorManager.registerListener(this,
        sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
        SensorManager.SENSOR_DELAY_FASTEST);
    // 注冊磁場傳感器
    sensorManager.registerListener(this,
        sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD),
        SensorManager.SENSOR_DELAY_FASTEST);
    // 注冊光線傳感器
    sensorManager.registerListener(this,
        sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT),
        SensorManager.SENSOR_DELAY_FASTEST);
    // 注冊方向傳感器
    sensorManager.registerListener(this,
        sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION),
        SensorManager.SENSOR_DELAY_FASTEST);
    tvAccelerometer = (TextView) findViewById(R.id.tvAccelerometer);
    tvMagentic = (TextView) findViewById(R.id.tvMagentic);
    tvLight = (TextView) findViewById(R.id.tvLight);
    tvOrientation = (TextView) findViewById(R.id.tvOrientation);
    tvSensors = (TextView) findViewById(R.id.tvSensors);
    // 獲得當前手機支持的所有傳感器
    List<Sensor> sensors = sensorManager.getSensorList(Sensor.TYPE_ALL);
    for (Sensor sensor : sensors) {
      // 輸出當前傳感器的名稱
      tvSensors.append(sensor.getName() + "\n");
    }
  }
  @Override
  public void onSensorChanged(SensorEvent event) {
    // 通過getType方法獲得當前傳回數據的傳感器類型
    switch (event.sensor.getType()) {
    case Sensor.TYPE_ACCELEROMETER: // 處理加速度傳感器傳回的數據
      String accelerometer = "加速度\n" + "X:" + event.values[0] + "\n"
          + "Y:" + event.values[1] + "\n" + "Z:" + event.values[2]
          + "\n";
      tvAccelerometer.setText(accelerometer);
      break;
    case Sensor.TYPE_LIGHT: // 處理光線傳感器傳回的數據
      tvLight.setText("亮度:" + event.values[0]);
      break;
    case Sensor.TYPE_MAGNETIC_FIELD: // 處理磁場傳感器傳回的數據
      String magentic = "磁場\n" + "X:" + event.values[0] + "\n" + "Y:"
          + event.values[1] + "\n" + "Z:" + event.values[2] + "\n";
      tvMagentic.setText(magentic);
      break;
    case Sensor.TYPE_ORIENTATION: // 處理方向傳感器傳回的數據
      String orientation = "方向\n" + "X:" + event.values[0] + "\n" + "Y:"
          + event.values[1] + "\n" + "Z:" + event.values[2] + "\n";
      tvOrientation.setText(orientation);
      break;
    }
  }
  @Override
  public void onAccuracyChanged(Sensor sensor, int accuracy) {
  }
}

PS:這里獲得的只是傳感器采集數據,還需要對數據分析,變成有用的信息。

更多關于Android相關內容感興趣的讀者可查看本站專題:《Android開發(fā)入門與進階教程》、《Android視圖View技巧總結》、《Android編程之activity操作技巧總結》、《Android操作SQLite數據庫技巧總結》、《Android操作json格式數據技巧總結》、《Android資源操作技巧匯總》及《Android控件用法總結

希望本文所述對大家Android程序設計有所幫助。

相關文章

  • Android列表點擊事件定義的一些思考

    Android列表點擊事件定義的一些思考

    大家好,本篇文章主要講的是Android列表點擊事件定義的一些思考,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Android使用Xutils3進行斷點下載的實例

    Android使用Xutils3進行斷點下載的實例

    在本篇內容中小編給各位整理了關于Android使用Xutils3進行斷點下載的實例以及相關代碼,需要的朋友們參考下。
    2019-07-07
  • Android基于OpenGL的GLSurfaceView創(chuàng)建一個Activity實現(xiàn)方法

    Android基于OpenGL的GLSurfaceView創(chuàng)建一個Activity實現(xiàn)方法

    這篇文章主要介紹了Android基于OpenGL的GLSurfaceView創(chuàng)建一個Activity實現(xiàn)方法,結合實例形式分析了Android中OpenGL圖形操作類GLSurfaceView的功能、用法及相關使用技巧,需要的朋友可以參考下
    2016-10-10
  • Android?registerForActivityResult新用法實現(xiàn)兩個Activity間數據傳遞

    Android?registerForActivityResult新用法實現(xiàn)兩個Activity間數據傳遞

    這篇文章主要為大家介紹了Android?registerForActivityResult新用法實現(xiàn)兩個Activity間數據傳遞詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • Android實現(xiàn)支付寶支付密碼輸入界面

    Android實現(xiàn)支付寶支付密碼輸入界面

    這篇文章主要為大家詳細介紹了Android實現(xiàn)支付寶支付密碼輸入界面,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 淺析android中的線程封裝

    淺析android中的線程封裝

    下面我就簡單的說一下android對線程的c++封裝。需要的朋友可以過來參考下。希望對大家有所幫助
    2013-09-09
  • Android使用Handler和Message更新UI

    Android使用Handler和Message更新UI

    這篇文章主要介紹了Android使用Handler和Message更新UI的相關資料,感興趣的小伙伴們可以參考一下
    2016-07-07
  • Android仿QQ長按刪除彈出框功能示例

    Android仿QQ長按刪除彈出框功能示例

    對于列表來說,如果想操作某個列表項,一般會采用長按彈出菜單的形式,默認的上下文菜單比較難看,而QQ的上下文菜單就人性化多了,整個菜單給用戶一種氣泡彈出的感覺,而且會顯示在手指按下的位置,接下來通過本文給大家分享Android仿QQ長按刪除彈出框功能,一起看看吧
    2017-03-03
  • Android自定義View實現(xiàn)價格區(qū)間選擇控件

    Android自定義View實現(xiàn)價格區(qū)間選擇控件

    這篇文章主要為大家詳細介紹了Android如何利用自定義View實現(xiàn)價格區(qū)間選擇控件,文中的示例代碼講解詳細,感興趣的小伙伴可以嘗試一下
    2022-11-11
  • Android 自定義View實現(xiàn)單擊和雙擊事件的方法

    Android 自定義View實現(xiàn)單擊和雙擊事件的方法

    下面小編就為大家?guī)硪黄狝ndroid 自定義View實現(xiàn)單擊和雙擊事件的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09

最新評論