激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

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

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

Android使用GPS獲取用戶地理位置并監(jiān)聽位置變化的方法

2021-04-23 15:18octobershiner Android

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

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

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
 * 一個演示定位用戶的位置并且監(jiān)聽位置變化的代碼
 * */
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. */
 //創(chuàng)建lcoationmanager對象
 private locationmanager manager;
 private static final string tag = "location demo";
 @override
 public void oncreate(bundle savedinstancestate) {
  super.oncreate(savedinstancestate);
  setcontentview(r.layout.main);
  //獲取系統(tǒng)的服務,
  manager = (locationmanager)getsystemservice(context.location_service);
  location location = manager.getlastknownlocation(locationmanager.gps_provider);
  //第一次獲得設備的位置
  updatelocation(location);
  //重要函數(shù),監(jiān)聽數(shù)據(jù)測試
  manager.requestlocationupdates(locationmanager.gps_provider, 6000, 10,
   locationlistener);
 }
 /*此處更新一下,當activity不處于活動狀態(tài)時取消gps的監(jiān)聽*/
  public void onpause(){
  super.onpause();
  locationmanager.removelistener(locationlistener);
 }
 //創(chuàng)建一個事件監(jiān)聽器
 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){ }
 };
//獲取用戶位置的函數(shù),利用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系統(tǒng)的安全性,對服務采用授權(quán)的機制,所以需要修改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虛擬機上的調(diào)試問題,其實是可以模擬的,大家啟動虛擬機,然后打開ddms的界面,左側(cè)device欄目會動態(tài)顯示虛擬機上各項服務啟動的情況,待出虛擬機現(xiàn)解鎖界面后,單機device欄目下面的emulator行,這時會發(fā)現(xiàn)下面的emulator control下面會有 location control ,打開里面的manual標簽,哈哈相信你已經(jīng)看到了經(jīng)緯度,你可以更改。運行你的程序,然后單擊剛才經(jīng)緯度設置的send按鈕就可以模擬接受到新的地理位置了。

Android使用GPS獲取用戶地理位置并監(jiān)聽位置變化的方法

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

最終效果如下圖所示:

Android使用GPS獲取用戶地理位置并監(jiān)聽位置變化的方法

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费国产一级特黄久久 | 神马久久蜜桃 | 午夜网站视频 | 日本一区二区在线 | 国产精品成人免费一区久久羞羞 | 黄色视屏免费观看 | 在线视频观看国产 | 精品一区二区三区免费视频 | 中文字幕综合 | 日韩深夜视频 | 黄色片免费看看 | 久久里面有精品 | av观看国产 | 操碰视频在线观看 | 国产精品久久久久久久久久大牛 | 热99在线视频 | 欧美爱爱视频免费看 | 精品91av| 国产视频精品在线 | 国产精品久久久网站 | 4p嗯啊巨肉寝室调教男男视频 | 久久久久久久久久久av | 国产精品久久av | 一级免费视频 | 香蕉在线播放 | 色婷婷一区二区三区 | 亚洲福利在线视频 | 久草手机在线视频 | 久艹在线视频 | 可以看逼的视频 | 91麻豆精品国产91久久久无需广告 | 91九色视频在线播放 | 欧美性猛交xxxxx按摩国内 | 在线免费av观看 | 91一区二区三区久久久久国产乱 | 一级免费在线 | 九九热在线精品视频 | 四虎久草 | 91午夜视频 | 免费一级在线 | 国产成人精品自拍视频 |