




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
-1-傳感器的使用地圖定位Activity當作AlertDialog顯示Fragment的使用為ActionBar添加Tabs本章目標傳感器的使用傳感器能夠探測、感受外界的信號、物理條件(如光、熱、濕度)或化學組成(如煙霧),并將探知的信息按照一定規律變換成為電信號或其他所需形式的信息輸出,滿足對信息的傳輸、處理、存儲、顯示、記錄和控制等要求,傳感器是實現自動檢測和自動控制的首要環節。Sensor類用于描述每個硬件傳感器的屬性-2-類型常量功能描述Sensor.TYPE_ACCELEROMETER加速傳感器,它沿著三個坐標軸返回當前的加速度Sensor.TYPE_GYROSCOPE陀螺儀傳感器,在三個坐標軸上以角度為單位返回當前設備方向Sensor.TYPE_LIGHT亮度傳感器,以lux(勒克斯)為單位返回單個值的環境光傳感器,描述了環境光強度,用于動態控制屏幕亮度Sensor.TYPE_MAGNETIC_FIELD地磁傳感器,沿著三個坐標軸確定當前的磁場Sensor.TYPE_ORIENTATION方向傳感器,返回設備的方向Sensor.TYPE_PRESSURE壓力傳感器,以kilopascals(千帕斯卡)為單位返回單個值的壓力傳感器,該值表示了在當前設備上所施加的壓力Sensor.TYPE_PROXIMITY近程傳感器,以米為單位指示設備與目標對象之間距離的鄰近距離傳感器,如何選擇目標對象以及支持的距離,將取決于鄰近距離探測器的硬件實現。鄰近距離傳感器的一個典型的用法是在用戶的耳朵承受該設備時進行檢測并自動調整屏幕的亮度或者初始化一個語音命令Sensor.TYPE_TEMPERATURE溫度傳感器,以攝氏度為單位返回溫度的溫度計,所返回的溫度可以是周圍房間溫度、設備電池溫度或者遠程傳感器溫度SensorManagerSensorManager是傳感器的一個綜合管理類。-3-方法功能描述getSensorList()獲得指定傳感器類型的所有可用的傳感器列表registerListener()注冊一個傳感器監聽器unregisterListener()注銷一個傳感器監聽器getDefaultSensor()獲得默認的傳感器對象getInclination()得到地磁傳感器傾斜角的弧度值getOrientation()得到設備旋轉的方向常量.功能描述SENSOR_DELAY_FASTEST以最快速的更新速率SENSOR_DELAY_GAME選擇一個適合在控制游戲中使用的更新速率SENSOR_DELAY_NORMAL默認更新速率SENSOR_DELAY_UI指定一個適于更新UI功能的速率SENSOR_STATUS_ACCURACY_LOW傳感器的精確度很低并且需要校準SENSOR_STATUS_ACCURACY_MEDIUM傳感器的數據具有平均精確度,校準可能會改善閱讀效果SENSOR_STATUS_ACCURACY_HIGH傳感器使用的是最高精確度SENSOR_STATUS_UNRELIABLE傳感器數據不可靠,需要校準傳感器且當前不能讀取數據SensorManagersm=(SensorManager)getSystemService(SENSOR_SERVICE);List<Sensor>sensors=sm.getSensorList(Sensor.TYPE_ORIENTATION);List<Sensor>sensors=sm.getSensorList(Sensor.TYPE_ALL);SensorEventListenerSensorEventListener是傳感器監聽接口,包括兩個方法onSensorChanged(SensorEventevent)方法:監控傳感器值的改變,該方法的參數是一個SensorEvent對象,該對象具有sensor(傳感器對象)、accuracy(精確度)、values(新值)、timestamp(事件)4個描述傳感器事件的屬性。onAccuracyChanged(Sensorsensor,intaccuracy)方法:響應傳感器精準度的變化,該方法具有兩個參數:第1個參數表示傳感器;第2個參數是傳感器精準度的反饋值。-4-//注冊一個傳感器監聽器sm.registerListener(this,sensor,SensorManager.SENSOR_DELAY_NORMAL);//注銷傳感器監聽器sm.unregisterListener(this);描述8.1地圖定位-百度地圖SDK由于傳統GPS定位具有啟動時間長、室內可能無法定位等弊端,因此為了使用戶得到更好的體驗,實際開發中應盡量避免使用傳統GPS定位方法。本節將介紹如何使用百度地圖SDK實現定位功能。-5-百度地圖SDK介紹地圖:提供地圖(2D、3D)的展示和縮放、平移、旋轉、改變視角等地圖操作;地理編碼:提供地理坐標和地址之間相互轉換的能力;線路規劃:支持公交信息查詢、公交換乘查詢、駕車線路規劃和步行路徑檢索;覆蓋物:提供多種地圖覆蓋物(自定義標注、幾何圖形、文字繪制、地形圖圖層、熱力圖圖層等),滿足開發者的各種需求;定位:采用多種定位模式,使用定位SDK獲取位置信息,使用地圖SDK我的位置圖層進行位置展示;導航:支持調啟百度地圖導航和Web導航來滿足用戶對導航功能的需求除此之外,還有POI檢索、LBS云檢索、離線地圖和其他功能等。地圖定位-百度地圖SDK開發百度地圖SDK的準備工作:登錄百度地圖開放平臺注冊百度開發者帳號(/map/index.php)申請開發百度地圖SDK所使用的密鑰獲取SDK開發文檔與支持參考開發文檔與百度地圖官方提供的DEMO進行開發-6-注意:在測試百度地圖時,模擬器可能無法顯示地圖,請使用真機進行測試;直接運行此項目會無法顯示地圖,這是因為申請密鑰時填寫的安全碼組成方式為“數字簽名+;+包名”,數字簽名可能不同,因此還是建議自行申請密鑰。特殊的對話框有時我們希望能夠展示更加復雜的Dialog,并且能夠對其中的控件進行靈活的事件處理等操作,雖然使用AlertDialog同樣能夠實現,但是相對于Activity的靈活性來說,還是有所不足。本節主要介紹如何將Activity作為Dialog顯示。-7-將Activity作為Dialog顯示,主要分為以下幾個步驟:編寫主題樣式(為了保留Android4.0主題樣式,需要編寫此文件,否則可省略)在AndroidManifest.xml中對此Activity定義主題樣式獲取SDK開發文檔與支持為Activity編寫layout布局文件Fragment簡介1-8-Fragment(碎片)是Android3.0時添加的新控件,Fragment和Activity十分相似,甚至可以通過簡單的修改Activity的父類和部分生命周期方法即可輕松地將Activity轉為Fragment。Fragment還提供了靈活的頁面布局方式,可以將多個Fragmen合并放到同一個Activity中,也可以同一個Fragment重用到多個Activity中,Fragment和Activity非常相似,具有自己的生命周期,可以接收自己的事件,并且允許用戶動態的對其進行添加、刪除和替換操作。Fragment不能單獨顯示,需要依附一個Activity才能顯示,而且他的生命周期直接受到所依附的Activity生命周期影響。Fragment簡介2-9-一個新聞應用,主要有兩個頁面,分別為FragmentA和FragmentB,FragmentA是新聞列表頁面,FragmentB是新聞詳情頁,點擊FragmentA中的條目,內容會在FragmentB中展示。如果在平板電腦上應用,那么我們可以將這兩個Fragment同時顯示到一個Activity中,從而使頁面更加豐富,而且用戶體驗簡單方便;如果是應用到更小屏幕的手機,那么就需要兩個頁面分別來展示列表和內容。Fragment生命周期-10-Activity中添加Fragment-11-向Activity添加Fragment有兩種方式通過activity的layout布局文件添加<fragmentandroid:id="@+id/fragmenta"android:name="com.dh.ch08_8d4.MyFragmentA"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"/>通過代碼動態添加FragmentMyFragmentAfragmentA=newMyFragmentA();MyFragmentBfragmentB=newMyFragmentB();FragmentManagermanager=getFragmentManager();FragmentTransactiontransaction=manager.beginTransaction();transaction.add(R.id.fl_fragmenta_activity,fragmentA);transaction.add(R.id.fl_fragmentb_activity,fragmentB);mit();ActionBar擴展-Tabs-12-目前各種各樣的Tabs(選項卡)應用非常廣泛,它最大的用途就是實現多個頁面來回切換,使用起來非常便捷,ActionBar提供了一個更加智能,更加統一的Tabs,他可以實現自動匹配屏幕大小,因此,也是官方推薦的一種展示方式。ActionBar擴展-Tabs-13-在ActionBar的Tabs中,每個Tab對應一個Fragment,因此首先需要創建3個FragmentprotectedclassMyTabListenerimplementsTabListener{ ... publicMyTabListener(Activityact,Stringtag,Class<?>fragmentCls){…} //Tab被選中時調用
@Override publicvoidonTabSelected(Tabarg0,FragmentTransactionft){…} //Tab取消選中
@Override publicvoidonTabUnselected(Tabarg0,FragmentTransactionft){…} //Tab被重新選中
@Override publicvoidonTabReselected(Tabarg0,FragmentTransactionft){…}}在MyActionBarActivity.java中添加內部類MyTabListener用作監聽Tabs點擊事件ActionBar擴展-Tabs-14-//顯示ActionBarTabsactionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);//向Tabs中添加Fragment并進行監聽Tabtab=actionBar.newTab().setText("AFragment").setTabListener( newMyTabListener(this,"a",AFragment.class));actionBar.addTab(tab);在MyActionBarActivity.java的onCreate()中添加Tab-15-小結:Android對每個設備的傳感器實現進行了抽象,Sensor類用于描述每個
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DB32/ 4576-2023南四湖流域(江蘇區域)水污染物綜合排放標準
- DB31/T 997-2016城市道路交通狀態指數評價指標體系
- DB31/T 329.6-2019重點單位重要部位安全技術防范系統要求第6部分:中小學、幼兒園、托育機構
- DB31/T 1364-2022檢驗檢測機構能力驗證技術規范
- DB31/T 1300-2021跆拳道場所運營服務規范
- DB31/T 1213-2020金屬熱處理回火工序單位產品能源消耗限額
- DB31/T 1173-2019咖啡廳(館)等級劃分與評定
- DB31/ 1098-2018畜禽養殖業污染物排放標準
- 2025電子產品采購合同
- 自動扶梯在使用過程中的能耗分析與節能措施考核試卷
- 消費者權益保護工作培訓課件
- 長城:一部世界文化遺產的史詩
- 二次供水水箱清洗合同
- 地腳螺栓安裝方案
- 工廠管理制度制度
- 餐飲服務食品安全監督量化分級管理制度
- 2023年中國財稅服務行業市場全景評估及未來投資趨勢預測
- 醫療衛生事業單位面試題型及答題技巧
- 腫瘤科運用PDCA循環提高疼痛評估的規范率品管圈成果匯報
- 管道安全檢查表
- 心理劇比賽點評金句
評論
0/150
提交評論