當前位置:編程學習大全網 - 編程語言 - android溫度傳感器獲得的是什麽溫度

android溫度傳感器獲得的是什麽溫度

1)溫度傳感器返回當前的溫度,單位是攝氏度(°C)。

2)具體代碼如下

[java] view

plaincopyprint?

package com.example.androidapp;

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.view.Menu;

import android.view.View;

import android.widget.Button;

import android.widget.TextView;

public class MainActivity extends Activity {

private SensorManager mSensorManager=null;

private Sensor mSensor=null;

private TextView textView1=null;

private Button button1=null;

private Button button2=null;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

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

/*獲取系統服務(SENSOR_SERVICE)返回壹個SensorManager對象*/

mSensorManager=(SensorManager)getSystemService(SENSOR_SERVICE);

/*通過SensorManager獲取相應的(溫度傳感器)Sensor類型對象*/

mSensor=mSensorManager.getDefaultSensor(Sensor.TYPE_TEMPERATURE);

/*註冊相應的SensorService*/

button1=(Button)findViewById(R.id.button1);

button1.setOnClickListener(new Button.OnClickListener() {

@Override

public void onClick(View arg0) {

mSensorManager.registerListener(mSensorEventListener, mSensor

, SensorManager.SENSOR_DELAY_NORMAL);

}

});

/* 銷毀相應的SensorService

* 很關鍵的部分,註意,說明文檔中提到,即使Activity不可見的時候,感應器依然會繼續工作

* 所以壹定要關閉觸發器,否則將消耗用戶大量電量*/

button2=(Button)findViewById(R.id.button2);

button2.setOnClickListener(new Button.OnClickListener() {

@Override

public void onClick(View v) {

mSensorManager.unregisterListener(mSensorEventListener, mSensor);

}

});

}

/*聲明壹個SensorEventListener對象用於偵聽Sensor事件,並重載onSensorChanged方法*/

private final SensorEventListener mSensorEventListener=new SensorEventListener() {

@Override

public void onSensorChanged(SensorEvent event) {

if(event.sensor.getType()==Sensor.TYPE_TEMPERATURE){

/*溫度傳感器返回當前的溫度,單位是攝氏度(°C)。*/

float temperature=event.values[0];

textView1.setText(String.valueOf(temperature)+"°C");

}

}

@Override

public void onAccuracyChanged(Sensor sensor, int accuracy) {

// TODO Auto-generated method stub

}

};

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

}

  • 上一篇:大壹,差不多學完c語言了,網上哪裏有c語言的編程題目?我就是想多做做題,提高能力,謝謝大家了
  • 下一篇:請教:在c語言中,畫了壹個圓,通過按鍵使其上下左右移動得到新圓。如何刪除移動之前的圓? 編程怎麽實現
  • copyright 2024編程學習大全網