四、GPS 定位功能實現
全球衛星定位系統(Global Positioning System,GPS)是一個中距離圓型軌道衛星導航系統,它可以為地球表面超98%的地區提供準確的定位、測速和高精度的時間標準服務,在各個領域都有廣泛的應用。
Android 支持GPS 服務的API.該服務可以用來獲取當前設備的地理位置,應用程式通過該API 獲得地理位置,並可以定時請求更新當前設備的地理定位信息。該系統將用到GPS API 中包幾個重要的功能類:
LocATIonManager,用於管理Android 用戶定位服務;LocationProvider,提供多種定位方式供開發者選擇;Criteria,是應用通過LocationProvider 中設置的屬性來選擇合適的定位提供者。
獲取用戶當前位置的步驟如下:
1、在AndroidManifeST.xml 中聲明相應的權限:
< android:name="「android.permission.ACCESS_COARSE_LOCATION」" permission>
2、獲取LocationManager 對象:
LocationManager locationManager =(LocationManager)getSystemSERvice (Context.LOCATION_SERVICE);
3、設置Criteria 對象:
Criteria criteria = newCriteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);
criteria.setCostAllowed(false);
criteria.setPowerRequirement(Criteria.POWER_LOW);
4、設置Provider:
String provider = locationManager.getBestProvider(criteria,true);
Location location= locationManager.getLastKnownLocation(provider);
五、導航功能實現
在正式版本的Android SDK 中,移除了原有M5 版本裡面的DrivingDirection package,所以無法透過程序來規劃導航線路。因此導航功能的實現我們是通過載入web 導航網頁的方式實現的。Android 提供了一個名為WebView的控制項來專門瀏覽網頁。
WebView控制項是基於WebKit 瀏覽器網頁排版引擎的一個java接口,它能夠完美支持html、javascript、css.有時我們可以把整個UI 甚至數據處理都交給WebView,配合PHP 等伺服器端程序,這樣的Android 應用開發更為簡單UI 更為豐富。因此本系統的導航功能的主要工作就集中在編寫Google Map Api javascript 版本的導航網頁以及WebView與javascript 的數據交互中。
1、WebView 的定義及設置:
首先要在XML 布局文件中定義WebView控制項;然後在程序中裝載這個控制項,設置屬性;最後通過loadUrl 方法實現網頁的載入。
WebView 常用的類有:WebSettings、WebViewClient、WebChromeClient.
WebSettings 用來設置WebView的一些屬性狀態,如:
// 設置可以訪問文件
webSettings.setAllowFileAccess(true);
// 設置支持縮放
webSettings.setBuiltInZoomControls(true);
WebViewClient 專門輔助WebView處理各種通知、請求等事件類,通過WebView 的setWebViewClient 方法來指定一個WebViewClient 對象,如下:
webView.setWebViewClient(newWebViewClient()
{
public boolean shouldOverrideUrlLoading(WebViewview,String url){
view.loadUrl(url);
return true;
}
})
WebChromeClient 類專門用來輔助WebView對話框、網站圖標、網站Title、加載進度等。使用方法如下:
webView.setWebChromeClient(newWebChromeClient()
{
@Override
// 該方法為處理javascript 中的alert 事件
public boolean onJsAlert (WebView view,String url,Stringmessage,
JsResult result){
// TODO Auto- generated method stub
return super.onJsAlert(view,url,message,result);
});
設置完WebView後主要工作就是Html 網頁的編寫。