Pro Android學習筆記(一五七):感測器(7):其他一些感測器
Wei:本來想下面接著的是NFC,NFC是支援讀寫的,和其他感測器在程式設計上很不一樣,但是手頭上找不到支援NFC的手機,記得以前三星Galaxy系列支援,例如幾年前的S3,而國產手機要比較貴的才支援,P6和Z7 mini都不支援,有興趣可以閱讀http://blog.csdn.net/pku_android/article/details/7430788。
重力感測器(Gravity Sensors)
重力感測器不是物理感測器,是在加速度感測器的基礎上,結合其他的硬體,例如陀螺儀,獲得更精確的資料。其讀數含義同加速度感測器。
線性加速度感測器(Linear Acceleration Sensors)
線性加速度感測器也不是物理感測器,是在加速度感測器的基礎上,結合其他的硬體,例如陀螺儀,獲得更精確的資料。線性加速度感測器的數值是加速度減去重力。對於靜止的物體,x,y,z為均為接近0的很小值。
旋轉向量感測器(Rotation Vector Sensors)
通過旋轉向量感測器將獲得四元數(quaternion),即[w,x,y,z],得到裝置的空間擺放情況,偉大的數學,不認識。大抵看用於3D遊戲等,在此只做讀取。利用旋轉向量感測器也可以獲得裝置的位置。下面是相關的程式碼:
public class VirtualJax extends Activity implements SensorEventListener{
....
private float[] rotVecValues = null;
private float[] rotvecR = new float[9],rotQ = new float[4];
private float[] rotvecOrientValues = new float[3];
@Override
public void onSensorChanged(SensorEvent event) {
... ...
if(event.sensor.getType() == Sensor.TYPE_ROTATION_VECTOR){
if(rotVecValues == null){
rotVecValues = new float[event.values.length];
}
for(int i = 0; i < rotVecValues.length; i++){
rotVecValues[i] = event.values[i];
}
if(rotVecValues != null){
SensorManager.getQuaternionFromVector(rotQ, rotVecValues);
SensorManager.getRotationMatrixFromVector(rotvecR, rotVecValues);
SensorManager.getOrientation(rotvecR, rotvecOrientValues);
}
}
public void doUpdate(View v){
......
if(rotvecOrientValues != null && mRotation == Surface.ROTATION_0){
msg += String.format("Rotation Vector Sensor:\nazimuth %7.3f\npitch %7.3f\nroll %7.3f\nw,x,y,z %6.2f,%6.2f,%6.2f,%6.2f\n",
Math.toDegrees(rotvecOrientValues[0]),
Math.toDegrees(rotvecOrientValues[1]),
Math.toDegrees(rotvecOrientValues[2]),
rotQ[0],rotQ[1],rotQ[2],rotQ[3]);
}
nowOne.setText(msg);
......
}
}
執行情況如下:
相關推薦
Pro Android學習筆記 十一 瞭解Intent 中
Intent的構成Intent可以帶有action,data(由URI表達),extra data(key/value map,鍵值對),指定的類名(成為component name)。一個intent至少攜帶上述的一個內容。Action。Action名,在上一筆記中已經給出兩種例子,一種是系統自帶的,如In
Pro Android學習筆記(一五七):感測器(7):其他一些感測器
Wei:本來想下面接著的是NFC,NFC是支援讀寫的,和其他感測器在程式設計上很不一樣,但是手頭上找不到支援NFC的手機,記得以前三星Galaxy系列支援,例如幾年前的S3,而國產手機要比較貴的才支援,P6和Z7 mini都不支援,有興趣可以閱讀http://blog.csdn.net/pku_andro
Pro Android學習筆記(一五五) 感測器(5) 磁場感測器和方位(上)
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
Pro Android學習筆記(一三七):Home Screen Widgets(3):配置Activity
map onclick widgets info xtra ces extends height appwidget 文章轉載僅僅能用於非商業性質,且不能帶有虛擬貨幣、積分、註冊等附加條件。轉載須註明出處http://blog.csdn.net/flowingfly
Pro Android學習筆記 五七 Preferences 1 ListPreference
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
Pro Android學習筆記(一)——ContentProvider(上)
ContentProvider,Android四大元件之一。他是系統提供的一種抽象的資料服務。Android Developer對她的概述為: 大概意思就是說ContentProvider(內容提供者)就是為應用程式提供資料。他壓縮資料並通過ContentResol
Pro Android學習筆記(一六二):聯絡人API(5):讀Raw Contacts
我們將讀取Raw Contacts的資訊。 Raw Contacts提供的資訊 程式碼和之前獲取整合聯絡人的表頭資訊類似,只是URI不同,Raw contacts的URI為ContactsContract.RawContacts.CONTENT_URI。 private void showHasWhat
Pro Android學習筆記(一六十):聯絡人API(3):聯絡人資料
聯絡人資訊 檢視reference中android.provider.ContactsContract.CommonDataKinds可以知道該版本的Android API聯絡人中帶有哪些資訊。在API level 19中,我們看到有以下的資訊: 而各個資訊,例如Email,又有著他的結構,我們可以繼續
Pro Android學習筆記(五十):ActionBar(3):搜尋條
ActionBar中的搜尋條 我們同樣可以在Action Bar中嵌入搜尋條。在小例子中,我們在action bar中嵌入一個搜尋框的widget(稱為search view)。當我們輸入搜尋內容,能夠在指定的activity中開啟(稱為searchable activitiy),本例不做實質的搜尋,只是
Pro Android學習筆記(一六四):聯絡人API(7):新增聯絡人
新增新的聯絡人,就要增添raw contacts,需要android.permission.WRITE_CONTACTS的許可權。下面是程式碼片段: //新增聯絡人的程式碼片段,入口為addContactTest()。showInfo()為在activity框中顯示資訊
Pro Android學習筆記(二五):使用者介面和控制(13):LinearLayout和TableLayout
佈局Layout Layout是容器,用於對所包含的view進行佈局。layout是view的子類,所以可以作為view嵌入到其他的layout中。Android的layout有LinearLayout、TableLayout,RelativeLayout、FrameLayout、GridLayout。 線
Pro Android學習筆記(一五四):感測器(4):陀螺儀、加速感測器
陀螺儀 陀螺儀(Gyroscope sensor)測量裝置轉動的角速度。最早的陀螺儀發明在中國,科學應用則在西方,陀螺儀是為士大夫坐轎子看書是免收燭光搖曳發明的,這在很久之前一部西方拍的科教片看到,具體名字忘了。Pro Android 4.0中說陀螺儀的誤差會慢慢積累,因此通與加速感測器一致使用,通過Ka
Pro Android學習筆記(四五):Dialog(2):DialogFragment
DialogFragment的例項newInstance()已經在上一次學習筆記中實現。我們建立dialog的UI,可以通過重寫DialogFragment的兩個函式當中的一個來實現,這兩個函式是onCreateView()和onCreateDialog(),前者返回view,後者返回dialog,如同通過
Pro Android學習筆記 ActionBar(1):Home圖標區
ces tom 新的 方便 find rac vertica lba manifest ?? Pro Android學習筆記(四八):ActionBar(1):Home圖標區 2013年03月10日 ? 綜合 ? 共 3256字 ? 字號 小 中 大 ? 評論關閉
Pro Android學習筆記(三十) Menu(1) 瞭解Menu
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
Pro Android學習筆記(三四) Menu(5) 動態選單
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
Pro Android學習筆記(十二) 瞭解Intent(下)
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
Pro Android學習筆記 五十 ActionBar 3 搜尋條
ActionBar中的搜尋條我們同樣可以在Action Bar中嵌入搜尋條。在小例子中,我們在action bar中嵌入一個搜尋框的widget(稱為search view)。當我們輸入搜尋內容,能夠在指定的activity中開啟(稱為searchable activitiy),本例不做實質的搜尋,只是在指定
Pro Android學習筆記(六十) Preferences(4) MultiSelect List Preferen
ListPreference提供單選列表,我們可以通過CheckBoxPreference提供多選列表。此外,Android在3.0後提供MultiSelectListPreference,它的實現和ListPreference相似,不同的是還可以不選擇或者多個選擇。如圖所示。XML檔案在複合例子中加入相關的
Pro Android學習筆記(五一) ActionBar(4) 標準和Tab模式
之前,我們學習的Action Bar是標準模式,Tab模式的如下圖所示。對於Tab,我們在Android學習筆記(二二): 多頁顯示-Tag的使用中學習過,但Action Bar的tab更適合fragment的使用。我們在之前實現的標準Action Bar的基礎上新增導航用的tab,程式碼如下:public