摘 要:Android是一個(gè)開(kāi)放的移動(dòng)互聯(lián)網(wǎng)開(kāi)發(fā)平臺(tái),對(duì)我國(guó)移動(dòng)互聯(lián)網(wǎng)行業(yè)必將產(chǎn)生深遠(yuǎn)的影響。隨著android的市場(chǎng)占有率的增加,android應(yīng)用的需求也越來(lái)越多。本項(xiàng)目主要對(duì)天氣項(xiàng)目進(jìn)行模擬設(shè)計(jì),能夠方便用戶(hù)對(duì)天氣進(jìn)行事先的規(guī)劃,有一定的實(shí)用性。
關(guān)鍵詞:Android;天氣預(yù)報(bào);項(xiàng)目開(kāi)發(fā)
中圖分類(lèi)號(hào):TN929.53
1 Android介紹
Google于2007年公布了Android 1.0操作系統(tǒng),經(jīng)過(guò)幾年的開(kāi)發(fā)改良逐漸擴(kuò)展到平板電腦領(lǐng)域及移動(dòng)互聯(lián)領(lǐng)域。目前已經(jīng)成為重要的手機(jī)操作系統(tǒng),對(duì)我國(guó)的移動(dòng)互聯(lián)網(wǎng)產(chǎn)業(yè)必將產(chǎn)生深遠(yuǎn)的影響。本文結(jié)合Android天氣項(xiàng)目對(duì)Android應(yīng)用開(kāi)發(fā)進(jìn)行介紹。
2 天氣項(xiàng)目介紹
天氣預(yù)報(bào)已經(jīng)成為人們離不開(kāi)的應(yīng)用,如電視天氣預(yù)報(bào),手機(jī)應(yīng)用如天氣通、小米天氣等等。天氣預(yù)報(bào)已經(jīng)對(duì)人們的出行、生產(chǎn)、生活產(chǎn)生巨大的影響。本項(xiàng)目主要對(duì)天氣項(xiàng)目進(jìn)行模擬設(shè)計(jì),使用戶(hù)對(duì)天氣進(jìn)行事先的預(yù)判與規(guī)劃。
2.1 項(xiàng)目開(kāi)發(fā)環(huán)境。Android應(yīng)用是以Java作為編寫(xiě)程序的主要語(yǔ)言,Android的開(kāi)發(fā)環(huán)境由 Java、Android SDK、ADT和Eclipse組成。
2.2 項(xiàng)目資源準(zhǔn)備。天氣項(xiàng)目中使用一些視頻文件存儲(chǔ)在SD卡中,視頻的使用有更好的用戶(hù)體驗(yàn)。本項(xiàng)目采用的手機(jī)是小米2手機(jī),視頻文件存儲(chǔ)在/storage/sdcard0/MIUI/weather中,主要有“晴天”,“小雨”,“多云”,“云霧”幾個(gè)視頻MP4文件。
2.3 項(xiàng)目用到的對(duì)象。項(xiàng)目中主要應(yīng)用SurfaceView對(duì)象、SurfaceHolder對(duì)象、MediaPlayer對(duì)象、Canvas對(duì)象。這些對(duì)象的是Android系統(tǒng)提供的,方便用戶(hù)進(jìn)行設(shè)計(jì)。項(xiàng)目中應(yīng)用的方法有surfaceCreated方法、drawLine等方法,可以覆寫(xiě)這些方法達(dá)到我們的需求。項(xiàng)目布局主要應(yīng)用FrameLayout布局,幀式布局的使用有疊加的效果。
MediaPlayer可以播放音頻和視頻,另外也可以通過(guò)VideoView來(lái)播放視頻,雖然VideoView比MediaPlayer簡(jiǎn)單易用,但定制性不如用MediaPlayer,MediaPlayer播放音頻比較簡(jiǎn)單,但是要播放視頻就需要SurfaceView。
SurfaceView并實(shí)現(xiàn)SurfaceHolder.Callback接口使用接口的原因:因?yàn)槭褂肧urfaceView有一個(gè)原則,所有的繪圖工作必須得在Surface被創(chuàng)建之后才能開(kāi)始,而在Surface 被銷(xiāo)毀之前必須結(jié)束。所以Callback中的surfaceCreated和surfaceDestroyed就成了繪圖處理代碼的邊界。需要重寫(xiě)的方法:
Public void surfaceChanged(SurfaceHolder holder,int format,int width,int height){}
//在surface的大小發(fā)生改變時(shí)激發(fā)
Public void surfaceCreated(SurfaceHolder holder){}
//在創(chuàng)建時(shí)激發(fā),一般在這里調(diào)用畫(huà)圖的線程。
Public void surfaceDestroyed(SurfaceHolder holder) {}
//銷(xiāo)毀時(shí)激發(fā),一般在這里將畫(huà)圖的線程停止、釋放。
3 項(xiàng)目的主要界面
3.1 主界面顯示當(dāng)時(shí)的天氣及對(duì)應(yīng)的天氣視頻,下面有更新按鈕,點(diǎn)擊按鈕則對(duì)天氣進(jìn)行更新,則主界面顯示更新后的天氣及天氣視頻。
圖1 圖2
圖3 圖4
3.2 天氣預(yù)測(cè)。顯示未來(lái)幾天的天氣預(yù)報(bào),顯示未來(lái)的最高、最低溫度,并用線段連接上,顯示未來(lái)的天氣走勢(shì)。如下圖。
圖5
4 Android天氣預(yù)報(bào)展望
天氣預(yù)報(bào)有著重要的作用,人們根據(jù)天氣預(yù)報(bào)可以做出很多的預(yù)判。但很多天氣項(xiàng)目軟件還是不能滿(mǎn)足需求,比如PM2.5值、極端天氣推送、自動(dòng)定位城市的天氣等等還是有不盡人意的地方,這也是天氣軟件要改進(jìn)與提高的地方。希望通過(guò)我們共同努力,積極促進(jìn)我國(guó)移動(dòng)互聯(lián)行業(yè)的發(fā)展,提高國(guó)家信息產(chǎn)業(yè)的整體水平。
參考文獻(xiàn):
[1]公磊.基于Android的移動(dòng)終端應(yīng)用程序開(kāi)發(fā)與研究[J].計(jì)算機(jī)與現(xiàn)代化,2008(08):85-89.
[2]黃佳星.基于Android的移動(dòng)互聯(lián)網(wǎng)應(yīng)用框架方案[J].電信工程技術(shù)與標(biāo)準(zhǔn)化,2012(08):77-80.
[3]李剛.瘋狂的Android講義[M].北京:電子工業(yè)出版社,2013.
[4]曾文權(quán).Android應(yīng)用開(kāi)發(fā)基礎(chǔ)教程[M].北京:電子工業(yè)出版社,2013.
作者簡(jiǎn)介:朱雷(1971-),男,遼寧遼陽(yáng)人,教師,講師,學(xué)士學(xué)位,研究方向:軟件開(kāi)發(fā)、軟件測(cè)試。
作者單位:遼寧建筑職業(yè)學(xué)院,遼陽(yáng) 111000