Android編程實現(xiàn)獲取所有傳感器數(shù)據(jù)的方法
本文實例講述了Android編程實現(xiàn)獲取所有傳感器數(shù)據(jù)的方法。分享給大家供大家參考,具體如下:
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="加速度"
android:id="@+id/edt1"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="磁場"
android:id="@+id/edt2"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="定位"
android:id="@+id/edt3"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="陀螺儀"
android:id="@+id/edt4"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="光線"
android:id="@+id/edt5"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="壓力"
android:id="@+id/edt6"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="溫度"
android:id="@+id/edt7"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="距離"
android:id="@+id/edt8"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="重力"
android:id="@+id/edt9"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="線性加速度"
android:id="@+id/edt10"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="旋轉(zhuǎn)矢量"
android:id="@+id/edt11"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="defalut"
android:id="@+id/edt12"
/>
</LinearLayout>
main.java
/*
*
* IBMEyes.java
* sample code for IBM Developerworks Article
* Author: W. Frank Ableson
* fableson@msiservices.com
*
*/
package com.msi.ibm.eyes;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
import android.hardware.Sensor;
import android.hardware.SensorManager;
import android.hardware.SensorListener;
public class IBMEyes extends Activity implements SensorListener {
final String tag = "IBMEyes";
SensorManager sm = null;
TextView View1 = null;
TextView View2 = null;
TextView View3 = null;
TextView View4 = null;
TextView View5 = null;
TextView View6 = null;
TextView View7 = null;
TextView View8 = null;
TextView View9 = null;
TextView View10 = null;
TextView View11 = null;
TextView View12 = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
sm = (SensorManager) getSystemService(SENSOR_SERVICE);
setContentView(R.layout.main);
View1 = (TextView) findViewById(R.id.edt1);
View2 = (TextView) findViewById(R.id.edt2);
View3 = (TextView) findViewById(R.id.edt3);
View4 = (TextView) findViewById(R.id.edt4);
View5 = (TextView) findViewById(R.id.edt5);
View6 = (TextView) findViewById(R.id.edt6);
View7 = (TextView) findViewById(R.id.edt7);
View8 = (TextView) findViewById(R.id.edt8);
View9 = (TextView) findViewById(R.id.edt9);
View10 = (TextView) findViewById(R.id.edt10);
View11 = (TextView) findViewById(R.id.edt11);
View12 = (TextView) findViewById(R.id.edt12);
}
public void onSensorChanged(int sensor, float[] values) {
synchronized (this) {
String str = "X:" + values[0] + ",Y:" + values[1] + ",Z:" + values[2];
switch (sensor){
case Sensor.TYPE_ACCELEROMETER:
View1.setText("加速度:" + str);
break;
case Sensor.TYPE_MAGNETIC_FIELD:
View2.setText("磁場:" + str);
break;
case Sensor.TYPE_ORIENTATION:
View3.setText("定位:" + str);
break;
case Sensor.TYPE_GYROSCOPE:
View4.setText("陀螺儀:" + str);
break;
case Sensor.TYPE_LIGHT:
View5.setText("光線:" + str);
break;
case Sensor.TYPE_PRESSURE:
View6.setText("壓力:" + str);
break;
case Sensor.TYPE_TEMPERATURE:
View7.setText("溫度:" + str);
break;
case Sensor.TYPE_PROXIMITY:
View8.setText("距離:" + str);
break;
case Sensor.TYPE_GRAVITY:
View9.setText("重力:" + str);
break;
case Sensor.TYPE_LINEAR_ACCELERATION:
View10.setText("線性加速度:" + str);
break;
case Sensor.TYPE_ROTATION_VECTOR:
View11.setText("旋轉(zhuǎn)矢量:" + str);
break;
default:
View12.setText("NORMAL:" + str);
break;
}
}
}
public void onAccuracyChanged(int sensor, int accuracy) {
Log.d(tag,"onAccuracyChanged: " + sensor + ", accuracy: " + accuracy);
}
@Override
protected void onResume() {
super.onResume();
sm.registerListener(this,
Sensor.TYPE_ACCELEROMETER |
Sensor.TYPE_MAGNETIC_FIELD |
Sensor.TYPE_ORIENTATION |
Sensor.TYPE_GYROSCOPE |
Sensor.TYPE_LIGHT |
Sensor.TYPE_PRESSURE |
Sensor.TYPE_TEMPERATURE |
Sensor.TYPE_PROXIMITY |
Sensor.TYPE_GRAVITY |
Sensor.TYPE_LINEAR_ACCELERATION |
Sensor.TYPE_ROTATION_VECTOR,
SensorManager.SENSOR_DELAY_NORMAL);
}
@Override
protected void onStop() {
sm.unregisterListener(this);
super.onStop();
}
}
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》、《Android資源操作技巧匯總》、《Android文件操作技巧匯總》、《Android開發(fā)入門與進階教程》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對大家Android程序設(shè)計有所幫助。
- android 傳感器(OnSensorChanged)使用介紹
- Android利用方向傳感器獲得手機的相對角度實例說明
- Android 利用方向傳感器實現(xiàn)指南針具體步驟
- Android利用Sensor(傳感器)實現(xiàn)指南針小功能
- Android開發(fā)中的重力傳感器用法實例詳解
- Android利用Sensor(傳感器)實現(xiàn)水平儀功能
- Android實現(xiàn)電子羅盤(指南針)方向傳感器的應(yīng)用
- Android開發(fā)中方向傳感器定義與用法詳解【附指南針實現(xiàn)方法】
- Android實現(xiàn)計步傳感器功能
- Android傳感器的簡單使用方法
相關(guān)文章
Android開源組件SlidingMenu側(cè)滑菜單使用介紹
這篇文章主要介紹了Android開源組件SlidingMenu側(cè)滑菜單使用介紹,本文給出了SlidingMenu的項目地址、使用代碼、使用配置、常用的一些屬性設(shè)置中文注解等內(nèi)容,需要的朋友可以參考下2015-01-01
Kotlin之在Gradle中無參(no-arg)編譯器插件的使用詳解
這篇文章主要介紹了Kotlin之在Gradle中無參(no-arg)編譯器插件的使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
Android Studio gradle 編譯提示‘default not found’ 解決辦法
這篇文章主要介紹了Android Studio gradle 編譯提示‘default not found’ 解決辦法的相關(guān)資料,需要的朋友可以參考下2016-12-12
Android Studio 當(dāng)build時候出錯解決辦法
這篇文章主要介紹了 Android Studio在build的時候出現(xiàn)transformClassesWithDexForDebug錯誤解決辦法的相關(guān)資料,需要的朋友可以參考下2017-05-05
Android 實現(xiàn)調(diào)用系統(tǒng)照相機拍照和錄像的功能
這篇文章主要介紹了Android 實現(xiàn)調(diào)用系統(tǒng)照相機拍照和錄像的功能的相關(guān)資料,需要的朋友可以參考下2016-11-11
Android viewpager無限輪播獲取網(wǎng)絡(luò)圖片功能
這篇文章主要為大家詳細(xì)介紹了Android viewpager無限輪播獲取網(wǎng)絡(luò)圖片功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-09-09
Android自定義View實現(xiàn)鐘擺效果進度條PendulumView
這篇文章主要介紹了Android自定義View實現(xiàn)鐘擺效果進度條PendulumView,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-09-09

