實驗十三:顯示目前經緯度位置.

Slides:



Advertisements
Similar presentations
开发入门 一个 android 初学者的心得与体会. 前言 两周前张老师通知我说,让我根据教练助手的学习与开发的过程讲下 android 开发的心得与体会,我觉得自己在这么多 Android 前辈大佬面前讲 android 简 直是班门弄斧。由于是刚入门的初学者,水平有限,很多方面还很不足,对 错误或不周到之处欢迎批评指正。顺便还得提下,我这个标题有抄袭积聚童.
Advertisements

JAVA 概述 主讲:张雷. J2ME API 地址: 广东科贸信息工程 张雷学习要求 了解各种程序设计语言及其特点 了解各种程序设计语言及其特点 了解 JAVA 的发展史和其特点 了解 JAVA 的发展史和其特点.
Android ADT + Android SDK Eclipse Eclipse 編輯器 JAVA JAVA 開發工具.
「國土資訊系統自然環境基本資料庫分組─ 經濟地理資訊圖資建置第1期計畫」
第13章 繪圖與多媒體 13-1 顯示圖檔-行動相簿 13-2 音樂播放-音樂播放器 13-3 影片播放-視訊播放器
第一章 Android简介与环境搭建 QQ号: QQ群: (Android编程入门) 网络资源:
四資二甲 第三週作業 物件導向程式設計.
Android环境搭建 倚动软件工厂实验室 网络课程地址:
實驗五:多媒體播放器選單介面.
Part 2 開發Android應用程式的流程
位置與地圖應用 此投影片為講解Android如何取得定位經緯度和使用Google Map地圖.
第二章 B4A程式語言的開發環境 課程名稱:程式設計 授課老師:李春雄 博士
類別與物件 Class & Object.
ArrayAdapter & Spinner
期末專題報告 MyPosition - 我在何處報你知 組員:曾哲浩 蔡承翰 指導老師:陳朝鈞.
Android App 系統開發教學 Luna 陳雯琳 2014/12/18
使用Android Studio 開發Android App 靜宜大學資管系 楊子青
厦门大学数据库实验室 报告人:谢荣东 导师:林子雨 2014年8月30日
實驗四:單位轉換程式.
第2章 建立Android應用程式 2-1 Java語言、XML文件與Android 2-2 建立第一個Android應用程式
CH3 Eclipse.
Android + JUnit 單元測試 建國科技大學資管系 饒瑞佶 2012/8/19V4.
Ch06 再談選單元件 物件導向系統實務.
使用Android控制Arduino 史先强
Android開發環境建置與設定 Android智慧型手機程式設計 程式設計與應用班 建國科技大學 資管系 饒瑞佶 2012/4 V1
第10章 App微信分享的实现 倚动实验室.
安裝與設置 Android 發展環境 靜宜大學資工系 蔡奇偉副教授 ©.
第11章 Android GPS位置服务与地图编程
第9章 位置服务与地图应用.
第一个Android程序 本讲大纲: 1、创建Android应用程序 2、Android项目结构说明 3、运行Android应用程序
第8章 Android内容提供者(ContentProvider)应用
Chapter 6 Advanced UI Design.
Java 程式設計 講師:FrankLin.
Ch5 Android應用程式的主要組成.
Chapter 7 Android應用元件 Android應用元件可以幫助我們獲得系統資源訊息(ActivityManager)、提供系統服務(Service)、搜尋系統服務(SearchManager)、監聽Intent訊息(Broadcast Receiver)以及資料共享(ContentProvider和ContentResolver)。
Android Intent 建國科技大學 資管系 饒瑞佶 2011/1.
Chapter 6 進階UI設計.
第4章 Android生命周期.
ContentProvider與資料共享
第9章 使用意圖啟動活動與內建應用程式 9-1 意圖的基礎 9-2 使用意圖啟動活動
CH7 佈局、按鈕與文字編輯元件.
Android + Service 建國科技大學 資管系 饒瑞佶.
Android開發環境建置與設定 建國科技大學 資管系 饒瑞佶 2010/10.
實驗十四:顯示與控制地圖.
第2讲 移动应用开发基础知识(二) 宋婕
第6章 建立Android使用介面 6-1 介面元件的基礎 6-2 Android的事件處理 6-3 按鈕元件 6-4 文字元件
Android 视频教程简介.
C/C++/Java 哪些值不是头等程序对象
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
使用Android模拟器 本讲大纲: 1、模拟器概述 2、Android虚拟设备和模拟器 3、Android模拟器启动与停止 4、控制模拟器
第10章 GPS位置服务与地图编程.
實驗十一:待辦事項程式 (儲存在手機上).
主编:钟元生 赵圣鲁.
實驗十五:標記目前位置.
網路應用.
實驗九:延續實驗八, 製作一個完整音樂播放器
課程網站
Location Based Services - LBS
實驗十六:匯出APK安裝檔與軟體上架.
辅导课程十一.
實驗十:影片播放.
Android Speech To Text(STT)
辅导课程十二.
Activity的生命週期: 播放音樂與影片 靜宜大學資管系 楊子青
用Intent啟動程式中的其他Activity、運用WebView顯示網頁 靜宜大學資管系 楊子青
JAVA 程式設計與資料結構 第三章 物件的設計.
讀取網路資料及JSON開放資料 靜宜大學資管系 楊子青
東吳大學『樂齡大學』 外雙溪環境與生態 產業 黃顯宗 東吳大學 微生物學系 101.
加速感測器 靜宜大學資管系 楊子青.
控制UI界面 本讲大纲: 1、使用XML布局文件控制UI界面 2、在代码中控制UI界面 3、使用XML和Java代码混合控制UI界面
Presentation transcript:

實驗十三:顯示目前經緯度位置

實驗十三 主題 目的 環境需求 本實驗為練習使用模擬器模擬GPS位置 將取得的經緯度座標顯示出來 學習如何使用Android模擬器模擬GPS的座標 了解LocationManager如何取得GPS的經緯度座標 環境需求 Java SE Development Kit (JDK) Android SDK Eclipse ADT 本實驗為練習使用模擬器模擬GPS位置,將取得的經緯度座標顯示出來。

實驗十三範例 當位置變更的時候顯示出目前的經緯度 模擬器模擬經緯度 實際執行結果 使用模擬器模擬GPS的座標,應用程式將取得的經緯度座標顯示在畫面中。 模擬器模擬經緯度 實際執行結果

加入使用取得定位的權限 AndroidManifest.xml 3 4 新增Uses Permission 點選Permissions 1 加入定位的權限 1:將專案的AndroidManifest.xml檔案點2下開啟 2:點選Permissions頁籤 3:點選Add 4:在跳出視窗中選擇Uses Permission,點選確定 點選Permissions 1 2

加入使用取得定位的權限 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 5 5:在Name中選擇android.permission.ACCESS_FINE_LOCATION 也可以直接在AndroidManifest.xml加上可以使用定位的權限<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

res/layout/activity_main.xml 6 6:打開專案中的res/layout中的activity_main.xml佈局檔將兩個TextView放入垂直線性佈局中用來顯示經緯度

src/MainActivity.java public class MainActivity extends Activity{ LocationManager myLocationManager; String best; TextView longitude, latitude; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); longitude= (TextView)findViewById(R.id.textView1); latitude = (TextView)findViewById(R.id.textView2); myLocationManager = (LocationManager) getSystemService(LOCATION_SERVICE); Criteria c = new Criteria(); c.setAccuracy(Criteria.ACCURACY_COARSE); best=myLocationManager.getBestProvider(c, true); if(best!=null){ Location loc = myLocationManager.getLastKnownLocation(best); showLocation(loc); } 7 取得LocationManager物件 8 設定精準度 9 打開src中的MainActivity.java活動視窗程式 7:命名全域變數,並在setContentView(R.layout.main);下方,利用findViewById()方法,將兩個TextView元件找出,分別存到longitude, latitude兩個變數中,用來顯示經緯度 8:使用getSystemService(LOCATION_SERVICE)方法取得LocationManager物件 9: 產生Criteria類別物件,並使用setAccuracy()方法設定定位提供者精準度的條件 10:使用LocationManager類別的etBestProvider()方法,依據Criteria設定取得最佳位置的提供者 11.使用LocationManager類別的getLastKnownLocation()方法取得最後取得的定位位置 12. 呼叫自訂showLocation()方法,顯示經緯度在TextView上 10 11 12

src/MainActivity.java private void showLocation (Location location) { 13 private void showLocation (Location location) { if (location != null) { longitude.setText("經度:"+String.valueOf(location.getLongitude())); latitude.setText("緯度:"+String.valueOf(location.getLatitude())); } 13:自定ShowLocation()方法,使用Location類別中的getLongitude()方法取得經度,getLatitude()方法取得緯度,並將取得的經緯度顯示在文字框中

註冊監聽位置改變事件 14 15 14:覆寫Activity中的onResume()方法,在此方法中使用LocationManager的requestLocationUpdates()方法監聽位置更新事件 15:將滑鼠移至錯誤處,在提示視窗中選取”讓MainActivity實作LocationListener”

註冊監聽位置改變事件 16 16:將滑鼠移到MainActivity,會跳出修正提示視窗,點選新增未實作方法,此時會在程式中自動加入以下方法 public void onLocationChanged(Location location) {} //當位置發生改變時需要呼叫的方法 public void onProviderDisabled(String provider) {} //當停用位置提供器需要呼叫的方法 public void onProviderEnabled(String provider) {} //當啟用位置提供器需要呼叫的方法 public void onStatusChanged(String provider, int status, Bundle extras) {} //當硬體狀態發生改變需要呼叫的方法

src/MainActivity.java @Override protected void onPause() { super.onPause(); myLocationManager.removeUpdates(this); } public void onLocationChanged(Location arg0) { showLocation(arg0); //…. 17 解除註冊監聽位置改變事件 18 位置發生改變,顯示經緯度 17:覆寫Activity中的onPause()方法,在此方法中使用LocationManager的removeUpdates()方法關閉監聽位置更新事件 18:在onLocationChanged()方法中呼叫ShowLocation()方法,傳入目前位置(location),用來更新介面上顯示經緯度文字框中的經緯度。

Emulator Control 模擬經緯度 Emulator Control可以用來模擬GPS訊號傳遞到模擬器上,若Eclipse未看到此視窗,請點選視窗顯示視圖其他AndroidEmulator Control,就會將此視窗鑲嵌在Eclipse中。 若在電腦中開多個模擬器,請先在Device視窗中選擇要傳送GPS訊號到的那台模擬器。 模擬經緯度

Emulator Control Emulator Control視窗可以直接將位置座標傳送到模擬器中 Manual 可以直接指定特定的經緯度 KML(Keyhole Markup Language) Google Map 和Google Earth使用的座標格式 GPX(GPS Exchange Format) GPS的紀錄格式 http://mygeoposition.com/ 可取得特定的經緯度座標和不同的座標格式 模擬的經緯度可以有三種格式 1. Manual:直接指定特定的經緯度 2. KML(Keyhole Markup Language):Google Map 和Google Earth使用的座標格式 3. GPX(GPS Exchange Format):一般GPS的紀錄格式 http://mygeoposition.com/ 此網站可以用來取得特定的經緯度座標和不同的座標格式