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