Android傳感器教程含代碼

Android傳感器教程

傳感器 可以用來監測設備的三維運動或環境變化。愛掏網 - it200.com

Android提供了傳感器API來處理不同類型的傳感器。愛掏網 - it200.com

Android支持三種類型的傳感器:

1) 運動傳感器

用于測量沿三個軸的加速力和旋轉力。愛掏網 - it200.com

2) 位置傳感器

用于測量設備的物理位置。愛掏網 - it200.com

3) 環境傳感器

用于測量環境的變化,如溫度、濕度等。愛掏網 - it200.com

Android傳感器API

Android傳感器API提供了許多類和接口。愛掏網 - it200.com傳感器API的重要類和接口如下:

1) SensorManager類

android.hardware.SensorManager 類提供了以下方法:

  • 獲取傳感器實例,
  • 訪問和列出傳感器,
  • 注冊和注銷傳感器監聽器等。愛掏網 - it200.com

您可以通過調用getSystemService()方法并將SENSOR_SERVICE常量傳遞給它來獲取SensorManager的實例。愛掏網 - it200.com

SensorManager sm = (SensorManager)getSystemService(SENSOR_SERVICE);

2) 傳感器類

android.hardware.Sensor 類提供了獲取傳感器信息的方法,例如傳感器名稱、傳感器類型、傳感器分辨率等。愛掏網 - it200.com

3) 傳感器事件類

其實例由系統創建。愛掏網 - it200.com它提供有關傳感器的信息。愛掏網 - it200.com

4) 傳感器事件監聽接口

它提供了兩個回調方法,用于獲取傳感器值 (x、y 和 z) 更改或傳感器精度更改的信息。愛掏網 - it200.com

公共和抽象方法 描述
void onAccuracyChanged(Sensor sensor, int accuracy) 當傳感器的精度發生變化時調用此方法。愛掏網 - it200.com
void onSensorChanged(SensorEvent event) 當傳感器的值發生變化時調用此方法。愛掏網 - it200.com

Android簡單的傳感器應用示例

讓我們看看兩個傳感器示例。愛掏網 - it200.com

  1. 打印x、y和z軸值的傳感器示例。愛掏網 - it200.com在這里,我們將要看到這個。愛掏網 - it200.com
  2. 當設備被搖晃時改變背景顏色的傳感器示例。愛掏網 - it200.com點擊以 改變活動傳感器示例的背景顏色

activity_main.xml

這個文件中只有一個TextView。愛掏網 - it200.com

<RelativeLayout xmlns:androclass="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="92dp"
        android:layout_marginTop="114dp"
        android:text="TextView" />

</RelativeLayout>

Activity類

讓我們編寫代碼,打印出x軸、y軸和z軸的值。愛掏網 - it200.com

package com.example.sensorsimple;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
import android.hardware.SensorManager;
import android.hardware.SensorEventListener;
import android.hardware.SensorEvent;
import android.hardware.Sensor;
import java.util.List;
public class MainActivity extends Activity {
    SensorManager sm = null;
    TextView textView1 = null;
    List list;

    SensorEventListener sel = new SensorEventListener(){
        public void onAccuracyChanged(Sensor sensor, int accuracy) {}
        public void onSensorChanged(SensorEvent event) {
            float[] values = event.values;
            textView1.setText("x: "+values[0]+"\ny: "+values[1]+"\nz: "+values[2]);
        }
    };

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        /* Get a SensorManager instance */
        sm = (SensorManager)getSystemService(SENSOR_SERVICE);

        textView1 = (TextView)findViewById(R.id.textView1);

        list = sm.getSensorList(Sensor.TYPE_ACCELEROMETER);
        if(list.size()>0){
            sm.registerListener(sel, (Sensor) list.get(0), SensorManager.SENSOR_DELAY_NORMAL);
        }else{
            Toast.makeText(getBaseContext(), "Error: No Accelerometer.", Toast.LENGTH_LONG).show();
        }
    }

    @Override
    protected void onStop() {
        if(list.size()>0){
          sm.unregisterListener(sel);
        }
        super.onStop();
    }
}

輸出:

聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 小婷又紧又深又滑又湿好爽| 特级黄色免费片| 日本三级韩国三级美三级91 | 男生和女生一起差差差很痛视频| 成人精品视频一区二区三区尤物| 国产亚洲人成网站在线观看| 久久天天躁日日躁狠狠躁| 久久国产精品无码网站| 国产精品久久自在自线观看| 男男chinese同志gay露脸飞机| 少妇人妻偷人精品一区二区| 免费福利在线视频| videoshd泰国| 热99re久久精品这里都是精品免费| 日本欧美大码aⅴ在线播放| 国产国语在线播放视频| 久久国产精品久久国产精品| 韩国r级2020年最新| 日本pissjapantv厕所自| 国产va在线播放| 一级黄色免费大片| 男人边吃奶边做视频免费网站 | 国产性猛交╳XXX乱大交| 久久亚洲伊人中字综合精品| 蜜桃视频一日韩欧美专区| 成年人看的毛片| 国产强伦姧在线观看无码| 久久精品免费一区二区| 色欲色av免费观看| 性久久久久久久| 亚洲韩国在线一卡二卡| 2020天天干| 日韩综合无码一区二区| 国产一在线观看| аⅴ资源中文在线天堂| 美女扒开内裤无遮挡网站| 嫩草伊人久久精品少妇av| 亚洲深深色噜噜狠狠爱网站| 日本成本人视频| 无需付费大片在线免费| 免费欧洲美女牲交视频|