亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Android平臺(tái)Google地圖的開(kāi)發(fā)

        2015-02-22 11:41:28王雨澤
        河南科技 2015年23期
        關(guān)鍵詞:函數(shù)庫(kù)畫(huà)布實(shí)例

        王雨澤

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

        Android是時(shí)下一個(gè)熱門(mén)名詞,它是Google公司發(fā)布的基于Linux的開(kāi)源手機(jī)平臺(tái),該平臺(tái)由操作系統(tǒng)、中間件和應(yīng)用軟件組成,是第一個(gè)可以完全定制、免費(fèi)、開(kāi)發(fā)的移動(dòng)設(shè)備操作平臺(tái)。Android平臺(tái)有豐富的應(yīng)用程序,也大幅度降低了應(yīng)用程序的開(kāi)發(fā)費(fèi)用。而且,Android底層使用開(kāi)源的Linux操作系統(tǒng),同時(shí)開(kāi)放了應(yīng)用程序開(kāi)發(fā)工具,使所有程序開(kāi)發(fā)人員都在統(tǒng)一、開(kāi)放的開(kāi)發(fā)平臺(tái)上進(jìn)行開(kāi)發(fā),保證了Android應(yīng)用程序的可移植性。

        1 Android的系統(tǒng)架構(gòu)

        Android操作系統(tǒng)的系統(tǒng)架構(gòu)像是在蛋糕店購(gòu)買(mǎi)的一個(gè)多層蛋糕,在移動(dòng)設(shè)備的硬件和用戶(hù)之間是Android軟件堆棧。Android軟件堆棧可以分為以下四個(gè)層次。

        1.1 應(yīng)用程序?qū)?/h3>

        用戶(hù)在Android操作系統(tǒng)上執(zhí)行的是應(yīng)用程序,這也是用戶(hù)直接接觸的Android操作系統(tǒng)?;旧?,Android默認(rèn)內(nèi)置一些核心應(yīng)用程序,包含瀏覽器、日歷、通信錄和打電話(huà)等,所有Android應(yīng)用程序都是使用Java語(yǔ)言開(kāi)發(fā)的。

        1.2 應(yīng)用程序框架層

        位于應(yīng)用程序?qū)又碌氖菓?yīng)用程序框架層,這一層提供高級(jí)的建構(gòu)組件,即用于創(chuàng)建Android應(yīng)用程序的一組類(lèi)集合,換句話(huà)說(shuō),應(yīng)用程序框架代表Android操作系統(tǒng)實(shí)現(xiàn)的眾多Java類(lèi),我們只需調(diào)用適當(dāng)對(duì)象的方法,或繼承指定類(lèi)來(lái)擴(kuò)展其功能,就可以快速創(chuàng)建Android應(yīng)用程序。

        1.3 Android運(yùn)行時(shí)庫(kù)和其他庫(kù)層

        Android運(yùn)行時(shí)庫(kù)由Dalvik虛擬機(jī)和核心Java函數(shù)庫(kù)(提供了JAVA語(yǔ)言核心庫(kù)內(nèi)的大部分功能)組成,Dalvik虛擬機(jī)是Google針對(duì)移動(dòng)設(shè)備所實(shí)現(xiàn)的Java虛擬機(jī),Android應(yīng)用程序是使用Java語(yǔ)言編寫(xiě)和編譯,在Dalvik VM上執(zhí)行,換句話(huà)說(shuō),Java程序代碼在編譯成Java類(lèi)文件后,還需轉(zhuǎn)換成Dalvik的Dex個(gè)是,才能在Dalvik虛擬機(jī)上執(zhí)行。同時(shí),Android提供了豐富的函數(shù)庫(kù),負(fù)責(zé)支持應(yīng)用程序框架各組件的執(zhí)行,這是一些使用C/C++語(yǔ)言編寫(xiě)的函數(shù)庫(kù),包括瀏覽器引擎的WebKit、3D繪圖的OpenGL、數(shù)據(jù)庫(kù)的SQLite和支持多種媒體播放的函數(shù)庫(kù)。

        1.4 Linux內(nèi)核層

        Linux內(nèi)核負(fù)責(zé)提供系統(tǒng)的核心服務(wù),包括線(xiàn)程、低級(jí)的內(nèi)存管理、網(wǎng)絡(luò)、進(jìn)程管理、電源管理和硬件的驅(qū)動(dòng)程序。

        2 Google Map

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

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

        3 基于Android平臺(tái)的Google Map 應(yīng)用實(shí)例

        本實(shí)例是以eclipse與android SDK為開(kāi)發(fā)工具,開(kāi)發(fā)一款在Android平臺(tái)上運(yùn)行的Google地圖應(yīng)用,具有注冊(cè)用戶(hù),登陸的功能,能在屏幕上顯示出地圖,并能夠選擇普通模式和衛(wèi)星模式,能夠具有定位功能,在地圖上完成標(biāo)注點(diǎn)并繪制標(biāo)注點(diǎn)之間的軌跡的功能。主要思路就是將Google API包加入至項(xiàng)目中,然后在顯示地圖的布局文件中添加顯示Google map的組件。并在顯示地圖Activity中添加圖層,實(shí)現(xiàn)標(biāo)注點(diǎn)和繪制軌跡的功能。定位則是通過(guò)調(diào)用底層GPS服務(wù),來(lái)獲得當(dāng)前的位置信息。登陸與注冊(cè)功能則是和J2EE項(xiàng)目中的同類(lèi)功能基本相同。

        3.1 開(kāi)發(fā)環(huán)境的搭建

        Android應(yīng)用程序由Java語(yǔ)言編寫(xiě),因此我們選用開(kāi)源的eclipse作為IDE,并安裝android SDK和AVD即可,在這里就不多贅述了,可查閱相關(guān)教程完成。

        3.2 登陸與注冊(cè)

        本實(shí)例只存儲(chǔ)一個(gè)用戶(hù)名與密碼即可,因此我們選用SharedPreference這種數(shù)據(jù)結(jié)構(gòu)來(lái)存儲(chǔ)用戶(hù)名和密碼。Android平臺(tái)的應(yīng)用開(kāi)發(fā),將功能實(shí)現(xiàn)與布局分開(kāi),即我們?cè)趈ava文件中實(shí)現(xiàn)功能,在xml文件中實(shí)現(xiàn)程序圖形界面的布局。我們?cè)趈ava代碼中如果需要用到布局文件中的某個(gè)按鈕(Button)或者是編輯框(EditText)等組件時(shí),是通過(guò)這個(gè)組件在整個(gè)項(xiàng)目中的ID去訪(fǎng)問(wèn),在java程序初始化的時(shí)候,用 findViewById這么一個(gè)方法去訪(fǎng)問(wèn)某個(gè)組件。按鈕控件我們需要添加單擊事件以及單擊響應(yīng)時(shí)間。實(shí)現(xiàn)的部分代碼如下:

        3.3 地圖的顯示

        要顯示Google Map,我們需要在Google網(wǎng)站上申請(qǐng)一個(gè)Google API key, 并通過(guò)這個(gè)唯一的Google API key來(lái)“激活”我們所開(kāi)發(fā)的應(yīng)用程序。在Google上可以搜索到詳細(xì)教程步驟,在此也不贅述了。在獲取到密鑰后,我們?cè)谥鞑季种刑砑酉鄳?yīng)的xml代碼,就可以在屏幕上顯示Google地圖了。

        實(shí)現(xiàn)定位功能的主要核心代碼如下:

        3.4 標(biāo)注點(diǎn)以及標(biāo)注點(diǎn)間繪制軌跡

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

        繪制軌跡的時(shí)候通過(guò)Google map的一項(xiàng)服務(wù)功能,即向服務(wù)器發(fā)送兩個(gè)點(diǎn)之間的經(jīng)緯度,然后從服務(wù)器返回路線(xiàn),再在地圖上沿著街道繪制出可行的線(xiàn)路,即完成了導(dǎo)航的功能。從請(qǐng)求這個(gè)服務(wù)的URL中能夠看出,當(dāng)mode=driving時(shí),返回的線(xiàn)路是駕駛路線(xiàn),這個(gè)時(shí)候考慮到車(chē)道的單雙向問(wèn)題,可以為駕駛員提供單雙行道的路線(xiàn)信息,不會(huì)違法交通規(guī)則;而當(dāng)mode=walking時(shí),返回的路線(xiàn)是步行路線(xiàn),這個(gè)時(shí)候考慮的則是街道是否允許步行什么地方有人行橫道等等。

        這個(gè)功能的難點(diǎn)是在解析從服務(wù)器返回的xml文檔上,解析的主要代碼如下:

        3.5 運(yùn)行結(jié)果

        經(jīng)過(guò)調(diào)試和修改后,實(shí)例部分運(yùn)行的結(jié)果如下:

        圖 地圖定位和繪制軌跡

        4 結(jié)語(yǔ)

        Android手機(jī)應(yīng)用程序開(kāi)發(fā)著眼于它的整個(gè)體系構(gòu)架,是一項(xiàng)復(fù)雜的工程。本文分析了Android體系的層次架構(gòu),并通過(guò)一個(gè)應(yīng)用實(shí)例開(kāi)發(fā)驗(yàn)證了其平臺(tái)的可用性。下一步的工作是在此基礎(chǔ)上,結(jié)合用戶(hù)個(gè)性化的需求進(jìn)行拓展開(kāi)發(fā),以提供更加個(gè)性化的服務(wù)。

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

        [2]張仕成.基于Google Android 平臺(tái)的應(yīng)用程序開(kāi)發(fā)與研究[J].電腦知識(shí)與技術(shù).2009,5(28):7959-7962.

        [3]柳林,唐新明等.移動(dòng)終端位置服務(wù)系統(tǒng)的實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2007,28(5):1069-1071.

        [4]Darcey,S.Android移動(dòng)應(yīng)用開(kāi)發(fā)從入門(mén)到精通[M].北京:人民郵電出版社,2010.

        [5]Menglee,W.Android編程入門(mén)經(jīng)典[M].北京:清華大學(xué)出版社,2012.

        猜你喜歡
        函數(shù)庫(kù)畫(huà)布實(shí)例
        商業(yè)模式畫(huà)布
        用于優(yōu)化雷達(dá)信號(hào)處理的VSIPL函數(shù)庫(kù)
        基于Python的開(kāi)源GIS應(yīng)用開(kāi)發(fā)
        Scratch求最值和平均值
        為什么要在畫(huà)布上割一刀?
        讓鮮花在畫(huà)布上盛開(kāi)
        基于BB60C的IQ數(shù)據(jù)采集與存儲(chǔ)系統(tǒng)設(shè)計(jì)
        大師的畫(huà)布
        完形填空Ⅱ
        完形填空Ⅰ
        国产网站视频| 日本一区二区三区免费播放| 国产亚洲午夜高清国产拍精品 | 成人免费ā片在线观看| 最新手机国产在线小视频| 日韩精品国产精品亚洲毛片| 国产免费又爽又色又粗视频| 精品无码一区二区三区亚洲桃色| 精品国产性色av网站| 日韩有码在线免费视频| 美女内射毛片在线看免费人动物| 亚洲欧美日韩中文无线码| 国产成人精品cao在线| 女女同女同一区二区三区| 波多野结衣爽到高潮大喷| 日本www一道久久久免费榴莲 | 国产中文字幕一区二区视频| 奇米影视色777四色在线首页| 亚洲 自拍 另类 欧美 综合| 国产成社区在线视频观看| 日本视频一区二区三区| 国产激情艳情在线看视频| 韩日美无码精品无码| 亚洲亚洲亚洲亚洲亚洲天堂| 手机在线看片国产人妻| 久久久受www免费人成| 日本韩国一区二区三区| 综合网在线视频| 中文国产成人精品久久一区| 国产一级一区二区三区在线播放| 疯狂添女人下部视频免费| 国产成人午夜精品免费视频| av资源吧首页在线观看| 欧美性白人极品1819hd| 18禁美女裸身无遮挡免费网站| 国产精品国产三级国产AvkTV| 人妻精品人妻一区二区三区四区| 18禁真人抽搐一进一出在线| 免费无码又爽又刺激高潮的视频网站| 在线免费观看毛视频亚洲精品| 欧美激情在线播放|