除了手機(jī)錄制音/視頻外,手機(jī)拍照也已經(jīng)不是什么新鮮事了,Android相應(yīng)地提供了手機(jī)拍照功能API。要使用Android系統(tǒng)進(jìn)行拍照,使用到的類有很多。具體介紹如下。
□ SurfaceView:該類是一個視圖組件,實現(xiàn)了照片的預(yù)覽功能。
□ LocationManager可以用來獲取當(dāng)前的位置,追蹤設(shè)備的移動路線,或設(shè)定敏感區(qū)域,在進(jìn)入或離開敏感區(qū)域時設(shè)備會發(fā)出特定警報。
□ LocationProviders是能夠提供定位功能的組件集合,集合中的每種組件以不同的技術(shù)提供設(shè)備的當(dāng)前位置,區(qū)別在于定位的精度、速度和成本等方面。
LocationListener接口用于接收從LocationManager的位置發(fā)生改變時的通知。如果LocationListener被注冊添加到LocationManager對象,并且此LocationManager對象調(diào)用了requestLocationUpdates(String, long, float, LocationListener)方法,那么接口中的相關(guān)方法將會被調(diào)用。其公共方法如表1所示。
表1 LocationListener類的方法
抽象方法 |
參數(shù)描述 |
說明 |
public abstract void onLocationChanged (Location location) |
location:位置發(fā)生變化后的新位置 |
當(dāng)位置發(fā)生改變后被調(diào)用 |
public abstract void onProviderDisabled(String provider) |
provider:與之關(guān)聯(lián)的location provider名稱 |
在provider被用戶關(guān)閉后被調(diào)用 |
public abstract void onPorviderEnabled (String provider) |
provider:與之關(guān)聯(lián)的location provider名稱 |
provider被用戶開啟后調(diào)用 |
public abstract void onStatusChanged (String provider, int Status, Bundle extras) |
provider:與變化相關(guān)的location provider名稱。
status :如果服務(wù)已停止,并且在短時間內(nèi)不會改變,狀態(tài)碼為OUT_OF_SERVICE;如果服務(wù)暫時停止,并且在短時間內(nèi)會恢復(fù),狀態(tài)碼為TEMPORARILY_UNAVAILABLE;如果服務(wù)正常有效,狀態(tài)碼為AVAILABLE。
extras: 一組可選參數(shù),其包含provider的特定狀態(tài)。下面列出一組共用的鍵值對,其實任何鍵的provider都需要提供的值
|
在Provider的狀態(tài)在可用、暫時不可用和無服務(wù)三個狀態(tài)直接切換時被調(diào)用 |
□ Location類,表示某一特定時間地理位置的相關(guān)信息。其方法如表2所示。
表2 LocationListener類的方法
方法 |
說明 |
getLatitude() |
取得緯度——Latitude |
getLongitude() |
取得經(jīng)度——Longitude |
getAccuracy() |
取得精確度——Accuracy |
getAltitude() |
取得高度——Altitude |
getTime() |
取得時間——Time |
getSpeed() |
取得速度——Speed |
getBearing() |
取得方位——Bearing |