基于A(yíng)ndroid嵌入式平臺傳感器應用開(kāi)發(fā)水平儀
摘要:詳細介紹了如何利用Android系統的傳感器開(kāi)發(fā)水平儀應用的全過(guò)程。通過(guò)對該案例開(kāi)發(fā)的講解,介紹了傳感器應用的開(kāi)發(fā)方法以及通過(guò)Eclipse開(kāi)發(fā)Android應用程序的過(guò)程。
本文引用地址:http://dyxdggzs.com/article/149233.htm互聯(lián)網(wǎng)巨頭Google公司于2007年11月5日推出了全新的嵌入式軟件平臺---Android,該平臺由操作系統、中間件、用戶(hù)界面以及應用軟件組成,是一個(gè)真正開(kāi)放的移動(dòng)應用開(kāi)發(fā)平臺。
2007年11月初,Google與其他33家手機廠(chǎng)商、軟硬件供應商、手機芯片供應商、移動(dòng)運營(yíng)商聯(lián)合組成了開(kāi)放手機聯(lián)盟(OpenHandsetAlliance),發(fā)布了名為Android的手機軟件平臺,并宣布該平臺完全開(kāi)放。同時(shí)Google希望Android平臺成為一套標準化、開(kāi)放式的移動(dòng)嵌入式軟件平臺。
由于A(yíng)ndroid系統具有開(kāi)發(fā)性、平等性、無(wú)界性以及方便性等優(yōu)點(diǎn),所以很快被業(yè)界所接受。從2008年初開(kāi)始,越來(lái)越多的開(kāi)發(fā)人員投身到Android應用的開(kāi)發(fā)當中。
而Android系統的一大亮點(diǎn)之一就是傳感器的使用,利用傳感器可以開(kāi)發(fā)出很多新奇有趣的應用程序。例如計步器、水平儀,甚至在很多游戲中都可以使用傳感器來(lái)操作游戲。傳感器的種類(lèi)有很多種,其中包括加速度傳感器、姿態(tài)傳感器、磁場(chǎng)傳感器、溫度傳感器以及光傳感器等,介紹的水平儀應用就是使用姿態(tài)傳感器的。
2案例功能
將結合水平儀案例的開(kāi)發(fā)詳細介紹如何在A(yíng)ndroid平臺下開(kāi)發(fā)傳感器應用,下面首先對水平儀的功能及界面進(jìn)行簡(jiǎn)單的介紹。
2。1程序界面
程序運行后的效果如圖1所示,用戶(hù)可以通過(guò)調整手機的姿態(tài)來(lái)控制界面中各個(gè)氣泡的位置。與真正的水平儀一樣,在使用手機水平儀時(shí),需要將手機平放到某個(gè)平面上才可以。
圖1 水平儀應用程序界面
2。2軟件功能 運行該程序,當改變手機的姿態(tài)時(shí),界面中的氣泡便會(huì )根據手機的姿態(tài)向高處進(jìn)行相應的移動(dòng)。 當手機所處的平面水平時(shí),各個(gè)氣泡都應該位于中間的指定區域。 3開(kāi)發(fā)環(huán)境搭建 正式進(jìn)入代碼開(kāi)發(fā)之前,首先需要對開(kāi)發(fā)環(huán)境進(jìn)行搭建,其搭建步驟如下所列。 (1)安裝Java開(kāi)發(fā)環(huán)境JDK。 (2)從網(wǎng)上下載Android開(kāi)發(fā)環(huán)境SDK的壓縮包,并將其解壓到磁盤(pán)上的某個(gè)位置。 (3)將SDK解壓目錄中的tools目錄添加到系統的PATH環(huán)境變量中。 (4)下載并安裝Eclipse集成開(kāi)發(fā)環(huán)境。 (5)為Eclipse安裝Android開(kāi)發(fā)插件ADT,并在Eclipse的Preferences中配置Android插件的SDKLocation。 (6)在Eclipse的AVDManager中創(chuàng )建Android虛擬設備(AVD),并啟動(dòng)模擬器。 (7)下載并安裝用來(lái)調試Android傳感器應用的Sensorsimulator傳感器模擬器軟件。 (8)在模擬器中安裝Sensorsimulator所對應的apk文件并對其進(jìn)行調試使Sensorsimulator應用程序能夠與Android模擬器進(jìn)行通信。 4開(kāi)發(fā)前的準備 前面完成了開(kāi)發(fā)環(huán)境的搭建,但在正式進(jìn)行代碼開(kāi)發(fā)之前,還需要再做一些開(kāi)發(fā)前的準備工作,其步驟如下: (1)首先啟動(dòng)之前安裝好Eclipse。 (2)然后依次點(diǎn)擊File|New|Other|Android|AndroidProject進(jìn)入項目的創(chuàng )建界面。 (3)在項目創(chuàng )建界面中,輸入項目的名稱(chēng)、所使用的目標平臺、所在的包名等信息,如圖2所示。
圖2 在Eclipse 中創(chuàng )建Android 項目
(4)點(diǎn)擊Finish完成項目的創(chuàng )建。 (5)在程序中將會(huì )用到的圖片資源存放到項目文件夾的res/drawable-mdpi目錄下,如圖3所示。 圖3 圖片資源 (6)為應用程序引入調試時(shí)使用的Sensorsimulator支持jar包,該jar包位于Sensorsimulator安裝目錄中的bin目錄下: 5自定義View的開(kāi)發(fā) 本案例需要自定義一個(gè)View來(lái)繪制水平儀的用戶(hù)界面,首先需要在項目文件夾的src/wyf/ytl目錄下創(chuàng )建一個(gè)名為Main-View的java類(lèi),并使其繼承自View類(lèi),其代碼框架如下: packagewyf。ytl;//聲明所在包 importandroid。content。Context;//引入Context類(lèi) importandroid。graphics。Bitmap;//引入Bitmap類(lèi) importandroid。graphics。BitmapFactory;//引入相關(guān)類(lèi) importandroid。graphics。Canvas;//引入Canvas類(lèi) importandroid。graphics。Color;//引入Color類(lèi) importandroid。graphics。Paint;//引入Paint類(lèi) importandroid。graphics。RectF;//引入RectF類(lèi) importandroid。graphics。Paint。Style;//引入Style類(lèi) importandroid。util。AttributeSet;//引入AttributeSet類(lèi) importandroid。view。View;//引入View類(lèi) publicclassMainViewextendsView{ Paintpaint=newPaint();//畫(huà)筆 //圖片資源的聲明 BitmapshangBitmap1;//上面的大矩形圖 BitmapshangBitmap2;//上面的氣泡 BitmapzuoBitmap1;//左面的大矩形圖 BitmapzuoBitmap2;//左面圖的氣泡 BitmapzhongBitmap1;//中間的大圓圖 BitmapzhongBitmap2;//中間的小氣泡 BitmapxiaBitmap1;//右下的矩形圖
評論