張春紅
【摘要】本文采用MVC框架,視圖層用listview、gridview、ActionBar+ViewPager等組件在四大布局中根據需求布局,xml做相應優化,設計開發出一款音樂播放器。
【關鍵詞】Android;移動互聯網;智能手機;軟件設計
一、播放器設計目標
本系統屬于用戶平常所用的音樂播放器??梢员憷脩粼谄匠5纳钪袑σ魳肺募牟倏v。其設計要滿足以下方面。
(1)界面雅觀友愛;(2)沒有門檻要求,操縱起來都很簡單;(3)能夠對音樂文件進行有效方便的管理;(4)讓用戶充分感受到軟件的個性化方面;(5)軟件應能做到最大限度地實現易保護性和易操縱性。
二、播放器的功能需求分析
根據項目所確立的目的,我們可以闡述出項目系統所需要的根本需求。下面講解播放器的各類基本節制需求。
首先,主界面會掃描手機的內存卡里的本地歌曲,然后,依照手機里存有的歌曲簡潔明了地表現出來,在歌曲的常規操縱方面有播放、暫停、上一首、下一首。在歌曲信息方面的控制有進入歌曲列表、進入專輯列表、檢查歌詞、拖動歌曲進度等。
用戶同時可以使用前一曲,后一曲等對歌曲的正常操縱。在歌曲信息方面的控制有進入歌曲列表、進入專輯列表、檢查歌詞、拖動歌曲進度等。
三、總體設計路線
因為安卓軟件的開發和WEB的開發不同,首先,這個界面是一個很小的屏幕,但是在這個很小的屏幕上卻要表達清楚很多的功能,讓用戶得以接受,我們要認真仔細地思考一下各項組件的擺放性問題,還要讓屏幕的轉動更加靈活。其次,Android程序主要應用在手持設備上,不論用戶是單手操作還是雙手操作,都必須考慮到組件擺放的易操作性,所以要考慮到組件擺放的區域問題,除此之外,在UI設計的編寫上也要考慮到代碼的可更改問題,如果單純的用XML文件實現,那么,在軟件的進一步更改開發上可能會遇到很大問題,所以該系統的大部分界面都是通過xml和Java代碼共同實現的。再次,在達成音樂播放器的界面計劃后就要對音樂播放器的功能模塊計劃了。對音樂播放器而言,最主要的仍是實現音樂播放的功效,全部的音樂播放功效是實現,音樂文件是讀,讀信息的第一部門的音頻文件。最后,才是對音樂播放器的個性化設置,所以要做好這件事必須要做好充分的準備。
四、音樂播放模塊設計
為了讓音樂播放器更人性化,能夠讓用戶在操縱這個軟件的時候更輕松隨意,在進入到音樂播放界面后,用戶可以在這里對音樂進行各項常規操縱,音樂播放的進度條也在這里,讓用戶能夠感覺到很舒適,并且用戶能夠很簡潔明了地觀看到曲目的各項信息。如果用戶在這里用屏幕劃動的話,用戶還可以查看到歌曲的同步歌詞。
五、歌曲列表模塊
歌曲列表界面最主要的功能是它會主動獲得各類歌曲信息,在內存里獲取。在獲取的列表中只顯示歌曲所擁有的一些基本屬性,比如說歌名以及演唱者還有歌曲時長等,當用戶在點擊此列表時就會收到監聽,然后調用代碼做出相應的邏輯處理。
六、播放音軌SeekBar
為實現Runnable接口在其Run方法中發送Handler的消息,音軌與歌曲的進度同步地實現是播放器最主要的一個地方。為了用來表現當前歌曲播放的進度的時候和全部歌曲的長度,音軌設置了兩個TextView。方法SeekBar.setMax()會在這個歌曲剛剛開始播放的時候被調用,在此方法調用后獲得歌曲的最大長度設置在進度條中SeekBar.setMax(),SeekBar.setProgress(1)這個方法是為了設置我們歌曲進度條的起先位置。
然后經由過程Handler類來使得這個Android的線程來首先執行,經由過程Handler類來為線程與線程之間搭建起了通訊的橋梁,然后經由過程實Runnable接口在其Run方法中發送Handler的消息。經由過程run方法發向Handler類。這樣的話,Handler類就將對各種各樣的信息來進行各種不同的代碼處理,這都取決于run方法發送而來的消息。
通過這種Handler的發消息機制就能獲得進度條進度,然后我們需要發送延遲消息一秒一發,我們在Handlermessage方法中每秒接受發送過來的消息并時刻更新進度,然后我們就會看到進度條一秒往前滾動一次。
當SeekBar的各位置被用戶所舉行點擊時,他就會主動地監聽位置,來執行相對應位置的表現。這樣就能夠使得歌詞會不斷地變更,但是進度條上面的游標卻不斷地挪動。
七、播放調節功能實現
各個按鈕是水平放置的。每個按鈕的功效分別是上一首;播放;下一首功能按鈕。在這里利用的是結構中的線性結構,將其布局的方向方式寫成水平方向。
其中API-Mediaplayer是Android自身的一個原生封裝完整的API,然而在成功調用這個接口一般需要調其API方法中的reset方法讓其初始化。然后還需要調用Prepare以及接下來的start方法使得音樂得以播放。調用MediaPlayer.Stop()的話就可以讓歌曲停止。
通過系統的體系結構和設計方案的播放器的框架程序設計,主要的開發語言和工具的支持,eclipsejavaandroid開發工具插件和AndroidSDK相結合,使得整個音樂播放系統得以全面實施。
參考文獻
[1]張利國,代聞,龔海平.Android移動開發案例詳解[M].北京:人民郵電出社,2012.
[2]何紅輝.Android源碼設計模式解析與實戰[M].北京:人民郵電出版社,2015.