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