編輯:關於Android編程
SENSOR_TYPE_ORIENTATION這個android 2.2之後就不推薦用了!!!
手機狀態
數值狀態
數值范圍
手機水平放置,頂部指向正北方
x、y、z方向值為0
0
水平逆時針旋轉
x不斷減少
360 ~ 0
水平順時針旋轉
x不斷增大
0 ~ 360
當手機左側抬起時
z不斷減少
0 ~ -180
當手機右側抬起時
z不斷增大
0 ~ 180
當手機頂部抬起時
y不斷減少
0 ~ -180
當手機底部抬起時
y不斷增大
0 ~ 180
經過實驗,我們發現當手機頂部指向正北方時方向值為0,頂部指向正東方時方向值為90,頂部指向正南方時方向值為180,頂部指向正西方時方向值為270。根據這些數據我們就可以根據方向值的范圍盤端當前我們的方位,可以確定指南針的讀數。
示例代碼:
package com.example.sensors; import android.app.Activity; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.widget.TextView; public class MainActivity extends Activity implements SensorEventListener{ private TextView changeText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); SensorManager sensorManager= (SensorManager) getSystemService(SENSOR_SERVICE) ; Sensor gyposcope = sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION); sensorManager.registerListener(this, gyposcope, SensorManager.SENSOR_DELAY_GAME); changeText = (TextView) findViewById(R.id.changeText); } @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; } @Override public void onSensorChanged(SensorEvent event) { Log.i("test", event.values.toString()); changeText.setText(event.values[0]+" "+event.values[1]+" "+event.values[2]); } @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { } }
如果你按照上一課創建了你的Android項目,那麼它包含默認的 Hello World 的源文件,能夠讓你的項目馬上運行起來。 你如何運行你的應用以來與兩件事:你是否
Android有很多種drawable類型,除了前幾篇詳細講解的shape、selector、layer-list,還有上一篇提到的color、bitmap、
bionic 目錄– libc (C庫)| |– arch-arm (ARM架構,包含系統調用匯編實現)| |– arch-x86 (
指紋識別是什麼?提到指紋識別我們就要先弄清楚什麼事指紋,指紋為何能夠做到區別性。指紋,由於其具有終身不變性、唯一性和方便性,已幾乎成為生物特征識別的代名詞。指紋是指人的手