天天看點

位置服務與地圖應用

位置服務與地圖應用:

位置服務(Location Based Services,LBS)又稱為服務或基于位置的服務。Andorid平台支援提供位置服務的API,在開發過程中主要用到LocationManager 和LocationProviders對象。

為開發能夠提供位置服務,首先需要得到LocationManager對象,擷取方法如下:

String serviceString = Context.LOCATION_SERVICE;

LocationManager  locationManager = (LocationManager)getSystemService(serviceString);

以上代碼第二行函數,可以擷取Android提供的系統級服務。第一行指明的是擷取的服務是位置服務。

ANDROID支援的系統級服務如下:

LOCATION_SERVICE:控件位置等服務

WINDOW_SERVICE:最頂層的視窗管理器

LAYOUT_INFLATER_SERVICE:将XML資源執行個體化為VIEW

POWER_SERVICE:電源管理

ALARM_SERVICE:在指定時間接受INTENT

NOTIFICATION_SERVICE:背景事件通知

KEYGUARD_SERVICE:鎖定或解鎖鍵盤

SEARCH_SERVICE:通路系統的搜尋服務

VIBRATOR_SERVICE:通路支援振動的硬體

CONNECTIVITY_SERVICE:網絡連接配接管理

WIFI_SERVICE:Wi-Fi連接配接管理

INPUT_METHOD_SERVICE:輸入法管理

在擷取到LocationManager後, 還需要指定LocationManager的定位方法,然後才能夠調用 LocationManager.getLastKnowLocation()方法擷取目前位置。目前LocationManager支援的定位方法有如下兩種:

1.GPS定位:可提供更加精确的位置資訊,但定位速度和品質受到衛星數量和環境情況的影響;

2.網絡定位:提供的位置資訊精度較差,但速度較GPS定位快,LocationManager支援定位方法如下表:

LocationManager   

說明

GPS_PROVIDER

使用GPS定位,利用衛星提供精确的位置資訊,需要權限:

android.permissions.ACCESS_FINE_LOCATION使用者權限。

NETWORK_PROVIDER

使用網絡定位,利用基站 或WIFI提供挖的位置資訊,需要具有如下權限:

android.permissions.ACCESS_COARSE_LOCATION或

android.permission.ACCESS_FINE_LOCATION

模拟HTTP請求

HTTP請求有兩種方式:POST與GET方式

JAVA跟ANDROID中都用HttpURLConnection來解析使用HTTP請求,ANDROID中也是如此的。呵呵。。

POST方式送出:

<a target="_blank" href="http://blog.51cto.com/attachment/201112/195814667.png"></a>

<a target="_blank" href="http://blog.51cto.com/attachment/201112/195831155.png"></a>

通路網絡資料時應該在全局檔案中加個:可以通路INTERNET的權限哦,不然會報到 錯的。

在ANDROID中也可以通過HTTPClient來模拟HTTP請求哦,使用更友善的。

HttpClient http = new DefaultHttpClient();………………………HttpClient是一個接口哦.

<a target="_blank" href="http://blog.51cto.com/attachment/201112/195842243.png"></a>

     本文轉自華華世界 51CTO部落格,原文連結:http://blog.51cto.com/mzh3344258/733375,如需轉載請自行聯系原作者

繼續閱讀