Android開發之方向感應器的使用? (2011-10-13 20:56:05)轉載▼

來源:互聯網
上載者:User

標籤:vertica   register   sum   nbsp   cli   ott   管理器   delay   好的   

Android開發之方向感應器的使用 (2011-10-13 20:56:05) 轉載
標籤: android 感應器 方向 指南針 雜談 分類: 3GAndroid學習筆記
Android中的方向感應器在生活中是一個很好的應用,典型的例子是指南針的使用,我們先來簡單介紹一下感應器中三個參數x,y,z的含義,以一幅圖來說明。
                                     圖 1 補充說明:圖中的座標軸x,y,z和感應器中的X,Y,Z沒有任何聯絡!如所示,綠色部分表示一個手機,帶有小圈那一頭是手機頭部感應器中的X:如所示,規定X正半軸為北,手機頭部指向OF方向,此時X的值為0,如果手機頭部指向OG方向,此時X值為90,指向OH方向,X值為180,指向OE,X值為270
感應器中的Y:現在我們將手機沿著BC軸慢慢向上抬起,即手機頭部不動,尾部慢慢向上翹起來,直到AD跑到BC右邊並落在XOY平面上,Y的值將從0~180之間變動,如果手機沿著AD軸慢慢向上抬起,即手機尾部不懂,直到BC跑到AD左邊並且落在XOY平面上,Y的值將從0~-180之間變動,這就是方向感應器中Y的含義。
感應器中的Z:現在我們將手機沿著AB軸慢慢向上抬起,即手機左邊框不動,右邊框慢慢向上翹起來,直到CD跑到AB右邊並落在XOY平面上,Z的值將從0~180之間變動,如果手機沿著CD軸慢慢向上抬起,即手機右邊框不動,直到AB跑到CD左邊並且落在XOY平面上,Z的值將從0~-180之間變動,這就是方向感應器中發Z的含義。
瞭解了方向感應器中X,Y,Z的含義之後下面我們就開始學習如何使用首先我們建立一個感應器管理器和一個感應器監聽器,管理器用來管理感應器以及建立各種各樣的感應器,監聽器用來監視感應器的變化並且進行相應的操作private SensorManager sensorManager;private MySensorEventListener mySensorEventListener;mySensorEventListener= new MySensorEventListener();//這個監聽器當然是我們自己定義的,在方向感應器感應到手機方向有變化的時候,我們可以採取相應的操作,這裡緊緊是將x,y,z的值列印出來private final class MySensorEventListener implements  SensorEventListener{
@Override//可以得到感應器即時測量出來的變化值public void onSensorChanged(SensorEvent event) {//方向感應器if(event.sensor.getType()==Sensor.TYPE_ORIENTATION){//x表示手機指向的方位,0表示北,90表示東,180表示南,270表示西float x = event.values[SensorManager.DATA_X];float y = event.values[SensorManager.DATA_Y];float z = event.values[SensorManager.DATA_Z];//tv_orientation是介面上的一個TextView標籤,不再贅述tv_orientation.setText("Orientation:"+x+","+y+","+z);}}
我們在onResume方法中建立一個方向感應器,並向系統註冊監聽器protected void onResume() {    Sensor sensor_orientation=sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);    sensorManager.registerListener(mySensorEventListener,sensor_orientation, SensorManager.SENSOR_DELAY_UI);super.onResume();}最後我們在onPause()中登出所有感應器的監聽,釋放方向感應器資源!protected void onPause() {//登出所有感應器的監聽sensorManager.unregisterListener(mySensorEventListener);super.onPause();}
到此,有關方向感應器的介紹完畢!
  有關本課程的Eclipse工程檔案源碼,點此下載
來源: http://blog.sina.com.cn/s/blog_5a48dd2d0100u4lx.html

null

Android開發之方向感應器的使用? (2011-10-13 20:56:05)轉載▼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.