999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android平臺Google地圖的開發

2015-02-22 11:41:28王雨澤
河南科技 2015年23期
關鍵詞:功能

王雨澤

(南京市第一中學,江蘇 南京 210001)

Android是時下一個熱門名詞,它是Google公司發布的基于Linux的開源手機平臺,該平臺由操作系統、中間件和應用軟件組成,是第一個可以完全定制、免費、開發的移動設備操作平臺。Android平臺有豐富的應用程序,也大幅度降低了應用程序的開發費用。而且,Android底層使用開源的Linux操作系統,同時開放了應用程序開發工具,使所有程序開發人員都在統一、開放的開發平臺上進行開發,保證了Android應用程序的可移植性。

1 Android的系統架構

Android操作系統的系統架構像是在蛋糕店購買的一個多層蛋糕,在移動設備的硬件和用戶之間是Android軟件堆棧。Android軟件堆棧可以分為以下四個層次。

1.1 應用程序層

用戶在Android操作系統上執行的是應用程序,這也是用戶直接接觸的Android操作系統。基本上,Android默認內置一些核心應用程序,包含瀏覽器、日歷、通信錄和打電話等,所有Android應用程序都是使用Java語言開發的。

1.2 應用程序框架層

位于應用程序層之下的是應用程序框架層,這一層提供高級的建構組件,即用于創建Android應用程序的一組類集合,換句話說,應用程序框架代表Android操作系統實現的眾多Java類,我們只需調用適當對象的方法,或繼承指定類來擴展其功能,就可以快速創建Android應用程序。

1.3 Android運行時庫和其他庫層

Android運行時庫由Dalvik虛擬機和核心Java函數庫(提供了JAVA語言核心庫內的大部分功能)組成,Dalvik虛擬機是Google針對移動設備所實現的Java虛擬機,Android應用程序是使用Java語言編寫和編譯,在Dalvik VM上執行,換句話說,Java程序代碼在編譯成Java類文件后,還需轉換成Dalvik的Dex個是,才能在Dalvik虛擬機上執行。同時,Android提供了豐富的函數庫,負責支持應用程序框架各組件的執行,這是一些使用C/C++語言編寫的函數庫,包括瀏覽器引擎的WebKit、3D繪圖的OpenGL、數據庫的SQLite和支持多種媒體播放的函數庫。

1.4 Linux內核層

Linux內核負責提供系統的核心服務,包括線程、低級的內存管理、網絡、進程管理、電源管理和硬件的驅動程序。

2 Google Map

提起Google,人們最先想到的一定是它的搜索引擎,不過繼搜索引擎之后,Google地圖的影響力越來越大。在Android系統剛剛起步的時候,Google就看到了基于定位服務的應用潛力,并將Google地圖的成功經驗帶入了Android系統當中。很多基于定位功能的應用程序最終都需要顯示地圖,Google地圖已經可以非常成熟地顯示交互式地圖,其商業模式還允許第三方網站將Google地圖嵌入到自己的頁面中。Google地圖的大部分功能都可以在Android平臺上實現,Android平臺下的開發者可以將Google地圖嵌入到自己的應用程序中。

Google地圖是 Google 公司提供的電子地圖服務,包括局部詳細的衛星照片。能提供三種視圖:一是矢量地圖(傳統地圖),可提供政區和交通以及商業信息;二是不同分辨率的衛星照片(俯視圖,跟 Google Earth 上的衛星照片基本一樣);三是地形視圖,可以用以顯示地形和等高線。

3 基于Android平臺的Google Map 應用實例

本實例是以eclipse與android SDK為開發工具,開發一款在Android平臺上運行的Google地圖應用,具有注冊用戶,登陸的功能,能在屏幕上顯示出地圖,并能夠選擇普通模式和衛星模式,能夠具有定位功能,在地圖上完成標注點并繪制標注點之間的軌跡的功能。主要思路就是將Google API包加入至項目中,然后在顯示地圖的布局文件中添加顯示Google map的組件。并在顯示地圖Activity中添加圖層,實現標注點和繪制軌跡的功能。定位則是通過調用底層GPS服務,來獲得當前的位置信息。登陸與注冊功能則是和J2EE項目中的同類功能基本相同。

3.1 開發環境的搭建

Android應用程序由Java語言編寫,因此我們選用開源的eclipse作為IDE,并安裝android SDK和AVD即可,在這里就不多贅述了,可查閱相關教程完成。

3.2 登陸與注冊

本實例只存儲一個用戶名與密碼即可,因此我們選用SharedPreference這種數據結構來存儲用戶名和密碼。Android平臺的應用開發,將功能實現與布局分開,即我們在java文件中實現功能,在xml文件中實現程序圖形界面的布局。我們在java代碼中如果需要用到布局文件中的某個按鈕(Button)或者是編輯框(EditText)等組件時,是通過這個組件在整個項目中的ID去訪問,在java程序初始化的時候,用 findViewById這么一個方法去訪問某個組件。按鈕控件我們需要添加單擊事件以及單擊響應時間。實現的部分代碼如下:

3.3 地圖的顯示

要顯示Google Map,我們需要在Google網站上申請一個Google API key, 并通過這個唯一的Google API key來“激活”我們所開發的應用程序。在Google上可以搜索到詳細教程步驟,在此也不贅述了。在獲取到密鑰后,我們在主布局中添加相應的xml代碼,就可以在屏幕上顯示Google地圖了。

實現定位功能的主要核心代碼如下:

3.4 標注點以及標注點間繪制軌跡

在Google Map中我們可以定義一個圖層類(Overlay),并在這個圖層上繪制標注點以及標注點之間的軌跡。Canvas是Android.Graphics包中的一個類,顧名思義,就是畫布的意思,我們可以在canvas上繪制各種我們想要的圖像。除了在畫布上繪制之外,還需要設置一些關于畫布的屬性,比如,畫布的顏色、尺寸等。

繪制軌跡的時候通過Google map的一項服務功能,即向服務器發送兩個點之間的經緯度,然后從服務器返回路線,再在地圖上沿著街道繪制出可行的線路,即完成了導航的功能。從請求這個服務的URL中能夠看出,當mode=driving時,返回的線路是駕駛路線,這個時候考慮到車道的單雙向問題,可以為駕駛員提供單雙行道的路線信息,不會違法交通規則;而當mode=walking時,返回的路線是步行路線,這個時候考慮的則是街道是否允許步行什么地方有人行橫道等等。

這個功能的難點是在解析從服務器返回的xml文檔上,解析的主要代碼如下:

3.5 運行結果

經過調試和修改后,實例部分運行的結果如下:

圖 地圖定位和繪制軌跡

4 結語

Android手機應用程序開發著眼于它的整個體系構架,是一項復雜的工程。本文分析了Android體系的層次架構,并通過一個應用實例開發驗證了其平臺的可用性。下一步的工作是在此基礎上,結合用戶個性化的需求進行拓展開發,以提供更加個性化的服務。

[1]張波,趙雙明.基于Android平臺的百度地圖開發研究[J].軟件導刊,2015,14(7):96-98.

[2]張仕成.基于Google Android 平臺的應用程序開發與研究[J].電腦知識與技術.2009,5(28):7959-7962.

[3]柳林,唐新明等.移動終端位置服務系統的實現[J].計算機工程與設計,2007,28(5):1069-1071.

[4]Darcey,S.Android移動應用開發從入門到精通[M].北京:人民郵電出版社,2010.

[5]Menglee,W.Android編程入門經典[M].北京:清華大學出版社,2012.

猜你喜歡
功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
關于非首都功能疏解的幾點思考
懷孕了,凝血功能怎么變?
媽媽寶寶(2017年2期)2017-02-21 01:21:24
“簡直”和“幾乎”的表達功能
中西醫結合治療甲狀腺功能亢進癥31例
辨證施護在輕度認知功能損害中的應用
主站蜘蛛池模板: 成人亚洲国产| 成人午夜天| 亚洲人网站| 全部免费毛片免费播放 | 国产精品手机在线观看你懂的| 2021国产精品自产拍在线| 亚洲国产精品不卡在线| 亚洲一区波多野结衣二区三区| 国产成人福利在线视老湿机| 亚洲国产精品无码久久一线| 最新精品久久精品| 本亚洲精品网站| 成年看免费观看视频拍拍| 99伊人精品| 2020精品极品国产色在线观看| 国产va视频| 国产视频一区二区在线观看| 又黄又湿又爽的视频| 丰满人妻被猛烈进入无码| 亚洲无码高清免费视频亚洲| 丰满人妻被猛烈进入无码| 白浆视频在线观看| 亚洲精品无码不卡在线播放| 一级毛片网| 欧美特级AAAAAA视频免费观看| 午夜啪啪福利| 成人午夜天| 99国产精品一区二区| 欧美午夜视频在线| 成人福利在线免费观看| 中文字幕av无码不卡免费| 丝袜国产一区| 天天躁日日躁狠狠躁中文字幕| 中文字幕在线观| 亚洲免费成人网| 精品国产www| 婷婷色丁香综合激情| 91人妻日韩人妻无码专区精品| 沈阳少妇高潮在线| 中文字幕第4页| 亚洲经典在线中文字幕| 91区国产福利在线观看午夜| 热久久这里是精品6免费观看| 在线观看无码av五月花| 久久窝窝国产精品午夜看片| 国产亚洲视频在线观看| 欧美一级特黄aaaaaa在线看片| 久久国产拍爱| 国产SUV精品一区二区6| 欧美精品在线视频观看| 无码免费视频| 午夜福利在线观看入口| 女人18一级毛片免费观看| 亚洲伊人天堂| 色婷婷色丁香| 乱人伦中文视频在线观看免费| 91视频区| 国产成人久视频免费| 久久青青草原亚洲av无码| 91黄视频在线观看| 国产在线日本| 亚洲人成在线精品| 欧日韩在线不卡视频| 国产激情无码一区二区免费| 亚洲精品自拍区在线观看| 亚洲性日韩精品一区二区| 国产高清自拍视频| 99久久亚洲精品影院| 自慰高潮喷白浆在线观看| 欧美在线综合视频| 在线国产毛片| 久久久久九九精品影院| 国产极品粉嫩小泬免费看| 中日韩欧亚无码视频| 亚洲成a∧人片在线观看无码| 中文字幕调教一区二区视频| 97se亚洲综合在线| 男人的天堂久久精品激情| 亚洲无线国产观看| 成人精品视频一区二区在线| 99久久精品国产麻豆婷婷| 成年女人a毛片免费视频|