一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Android - Android使用GPS獲取用戶地理位置并監聽位置變化的方法

Android使用GPS獲取用戶地理位置并監聽位置變化的方法

2021-04-23 15:18octobershiner Android

這篇文章主要介紹了Android使用GPS獲取用戶地理位置并監聽位置變化的方法,實例分析了Android編程中GPS定位的實現與使用技巧,需要的朋友可以參考下

本文實例講述了android使用gps獲取用戶地理位置并監聽位置變化的方法。分享給大家供大家參考,具體如下:

locationactivity.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/* locationactivity.java
 * @author octobershiner
 * 2011 7 22
 * se.hit
 * 一個演示定位用戶的位置并且監聽位置變化的代碼
 * */
package uni.location;
import android.app.activity;
import android.content.context;
import android.location.location;
import android.location.locationlistener;
import android.location.locationmanager;
import android.os.bundle;
import android.os.vibrator;
import android.util.log;
import android.widget.textview;
public class locationactivity extends activity {
 /** called when the activity is first created. */
 //創建lcoationmanager對象
 private locationmanager manager;
 private static final string tag = "location demo";
 @override
 public void oncreate(bundle savedinstancestate) {
  super.oncreate(savedinstancestate);
  setcontentview(r.layout.main);
  //獲取系統的服務,
  manager = (locationmanager)getsystemservice(context.location_service);
  location location = manager.getlastknownlocation(locationmanager.gps_provider);
  //第一次獲得設備的位置
  updatelocation(location);
  //重要函數,監聽數據測試
  manager.requestlocationupdates(locationmanager.gps_provider, 6000, 10,
   locationlistener);
 }
 /*此處更新一下,當activity不處于活動狀態時取消gps的監聽*/
  public void onpause(){
  super.onpause();
  locationmanager.removelistener(locationlistener);
 }
 //創建一個事件監聽器
 private final locationlistener locationlistener = new locationlistener() {
   public void onlocationchanged(location location) {
   updatelocation(location);
   }
   public void onproviderdisabled(string provider){
    updatelocation(null);
    log.i(tag, "provider now is disabled..");
   }
   public void onproviderenabled(string provider){
    log.i(tag, "provider now is enabled..");
   }
   public void onstatuschanged(string provider, int status,bundle extras){ }
 };
//獲取用戶位置的函數,利用log顯示
 private void updatelocation(location location) {
   string latlng;
   if (location != null) {
   double lat = location.getlatitude();
   double lng = location.getlongitude();
   latlng = "latitude:" + lat + " longitude:" + lng;
   } else {
   latlng = "can't access your location";
   }
   log.i(tag, "the location has changed..");
   log.i(tag, "your location:" +latlng);
 }
}

只修改activity文件是不夠的,因為android系統的安全性,對服務采用授權的機制,所以需要修改manifest.xml文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="uni.location"
  android:versioncode="1"
  android:versionname="1.0">
 <uses-sdk android:minsdkversion="8" />
 <application android:icon="@drawable/icon" android:label="@string/app_name">
  <activity android:name=".locationactivity"
     android:label="@string/app_name">
   <intent-filter>
    <action android:name="android.intent.action.main" />
    <category android:name="android.intent.category.launcher" />
   </intent-filter>
  </activity>
 </application>
  <uses-permission android:name="android.permission.access_fine_location" />
</manifest>

很多朋友可能會有疑問,那就是gps定位在android虛擬機上的調試問題,其實是可以模擬的,大家啟動虛擬機,然后打開ddms的界面,左側device欄目會動態顯示虛擬機上各項服務啟動的情況,待出虛擬機現解鎖界面后,單機device欄目下面的emulator行,這時會發現下面的emulator control下面會有 location control ,打開里面的manual標簽,哈哈相信你已經看到了經緯度,你可以更改。運行你的程序,然后單擊剛才經緯度設置的send按鈕就可以模擬接受到新的地理位置了。

Android使用GPS獲取用戶地理位置并監聽位置變化的方法

在這個demo中 我用到了log顯示狀態,推薦使用這種方法,很好用,想了解的朋友可以參考一下我的另一篇文章,學會巧妙的使用log,跟推薦大家搜一下sundyzlh的教學視頻。
 
關于log的使用可參考上一篇《android編程之基于log演示一個activity生命周期實例詳解

最終效果如下圖所示:

Android使用GPS獲取用戶地理位置并監聽位置變化的方法

希望本文所述對大家android程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产一级在线观看 | 夫妻性生活在线 | 色婷丁香 | 2021国产麻豆剧传媒剧情 | 国产一区二区三区欧美精品 | 大象传媒2021秘密入口 | 四虎影免看黄 | 涩色网 | 视频大全在线观看网址 | 成年男女免费视频观看性 | 楚乔传第二部全60集免费观看 | 亚洲伦理一区 | 亚洲情欲网 | 美女脱了内裤让男生尿囗 | 亚洲一成人毛片 | 亚洲成色爱我久久 | 亚洲v成人天堂影视 | 欧美精品一线二线大片 | 久久久久久免费观看 | 色狼屋| 亚洲午夜精品久久久久久抢 | 亚洲国产成人在人网站天堂 | 亚洲精品综合一区二区 | 亚洲日韩欧美一区二区在线 | 欧美高清milf在线播放 | 久久成人伊人欧洲精品AV | 亚洲精品91在线 | 精品久久久久久久久久香蕉 | 亚洲精品AV无码喷奶水糖心 | 国产传媒天美果冻 | 美女被吸乳老师羞羞漫画 | 日本高清视频网站 | 男人与禽交的方法 | 大肚孕妇的高h辣文 | 精品国产成人 | 门卫老张和女警花小说 | 亚洲免费色图 | 亚洲国产成人综合 | 污斗罗大陆 | 欧美最新在线 | 福利姬 magnet|