最近做的項目要用到距離傳感器,所以寫下這篇文章記錄下心得。
其實心得只有一點,看官方的說明文檔真的灰常重要。完了。。
貼上代碼:
~~~
package com.example.mysensor;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;
public class MainActivity extends Activity {
private myListener listener;
private SensorManager sm;
private TextView tv;
private Sensor sensor;
private Handler handler = new Handler()
{
@Override
public void handleMessage ( android.os.Message msg)
{
float data = (Float)msg.obj;
String str = String.valueOf(data);
tv.setText(str);
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listener = new myListener();
tv = (TextView)this.findViewById(R.id.text);
new Thread(new myThread()).start();
}
private class myListener implements SensorEventListener
{
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
// TODO Auto-generated method stub
}
@Override
public void onSensorChanged(SensorEvent event) {
// TODO Auto-generated method stub
float value = event.values[0];
Message message = Message.obtain();
message.obj = value;
handler.sendMessage(message);
}
}
@Override
protected void onDestroy()
{
sm.unregisterListener(listener);
listener = null;
super.onDestroy();
}
private class myThread implements Runnable
{
@Override
public void run() {
// TODO Auto-generated method stub
sm = (SensorManager)getSystemService(SENSOR_SERVICE);
sensor = sm.getDefaultSensor(Sensor.TYPE_PROXIMITY);
sm.registerListener(listener, sensor, SensorManager.SENSOR_DELAY_GAME);
}
}
}
~~~
- 前言
- 安卓ListView一個簡單代碼的注釋和探討
- 安卓wifi熱點編程代碼的若干注釋
- 安卓距離傳感器編程
- 簡單的ScrollView
- 簡單的ListView
- 簡單的ArrayAdapter
- AsyncTask的初步學習
- AsyncTask再度學習
- Handler初步學習
- 開啟系統Activity
- 隱式調用Activity
- Activity的生命周期
- startActivityForResult的初步學習
- 多點觸控拉伸圖片
- LruCache圖片緩存技術
- SQLiteOpenHelper數據庫操作
- 短信攔截器
- 簡單的Notification
- ListView優化以及checkbox狀態問題
- 安卓多線程下載
- 安卓JSON解析初步探討
- 選項卡樣式的fragment
- DrawerLayout實現簡單的側滑功能
- 安卓軟引用解決圖片OOM問題
- 安卓隱式Intent啟動Activity和BroadcastReceiver若干注意點
- Dialog學習筆記
- ActionBar使用