學(xué)習(xí)完“計算器” “視頻播放器” “藍(lán)牙聊天”以后,對安卓利用的開發(fā)我們基本上就入門70%了。
現(xiàn)在,我們將在之前學(xué)習(xí)的基礎(chǔ)上,進(jìn)1步完善我們要掌握的安卓開發(fā)技術(shù),開發(fā)1個“音樂播放器”。
當(dāng)完成這個“音樂播放器”利用后,我們對安卓的利用開發(fā)就完全的入門,能和大部份安卓開發(fā)者侃侃而談了,固然更重要的是能夠開發(fā)更多功能全面、復(fù)雜的利用程序了。
本文針對的讀者是:
在開始之前,假定各位已做好了以下準(zhǔn)備:
本文的代碼,可以從安豆網(wǎng)的示例代碼中下載。
音樂是我們平常必備的精神食糧,每一個人的手機里面1定會有1個音樂播放器。在座公交時,它會陪伴著我們;在運動的時候,它會陪伴著我們;睡覺前,它一樣會陪伴著我們。
與之前計劃產(chǎn)品的思路1樣,我們先要做加法,盡量的把音樂播放器可以具有的功能發(fā)掘出來;然后再做減法,把不實用、或投入性價比不高的功能放1放;最后,再根據(jù)用戶的反饋、加上上1版產(chǎn)品留下的遺憾,進(jìn)行產(chǎn)品的升級。
讓我們把有限的精力集中到最為重要的功能上面去。
音樂播放器我們已見過很多了,它們的功能愈來愈高級,最早只能播放本地裝備上存儲的音樂,現(xiàn)在進(jìn)化的還能夠播放網(wǎng)絡(luò)端端音樂了。
我們就先來為自己的音樂播放器來做個頭腦風(fēng)暴吧,看看它可以具有哪些功能:
可以添加的功能實在是太多了,這個清單實在是不能包括其萬1。
從上面列出的明細(xì)可以看出,能夠賦予這個聊天利用的功能實在是太多了,因此我們必須根據(jù)我們的能力和精力來進(jìn)行挑選,做功能的減法。
大體上看,上面的功能清單將功能分成了兩塊,
加入網(wǎng)絡(luò)方面的功能是1個很好的想法,不過就目前來講,我們啥也沒有,還是先把更加基礎(chǔ)簡單的功能實現(xiàn)了吧。因此,我們決定先做好本地播放器的功能,其它的以后再說。
在實現(xiàn)本地音樂播放器的進(jìn)程中,我們也選擇避繁就簡的原則,對那些不是原則上重要的功能能省就省,做到盡可能簡單。
根據(jù)上面設(shè)計的原則,我們來肯定音樂播放器的具體功能:
這里我們再增加1個福利,為音樂播放器增加1個桌面小工具。當(dāng)它放到桌面上以后,用戶能很方便的控制音樂的播放。
在桌面小工具上,可以顯示音樂的封面,歌曲的名字,和控制它的播放、暫停、上1首、下1首。
因此,對視頻播放器的界面進(jìn)行了以下的設(shè)計:
全部音樂播放的流程應(yīng)當(dāng)是,
MusicListActivity
通太長按,開始選擇多首音樂,組成1個播放列表;MusicService
,MusicService
操作PlayListContentProvider
清空原本的播放列表,然后將這份新的列表存儲到PlayListContentProvider
當(dāng)中;MusicListActivity
上的播放按鈕時,MusicService
開始從播放列表獲得第1首曲子開始播放;MusicService
將當(dāng)前播放的進(jìn)度實時更新到PlayListContentProvider
中;MusicService
都將通知給MusicListActivity
,讓其能夠同步的改變界面顯示;MusicListActivity
能通過調(diào)用MusicService
提供的接口控制音樂的暫停、繼續(xù)、播放上1首、下1首;關(guān)于播放的規(guī)則是我們自己定義的,如果你有自己的想法,可以在完成音樂播放器的開發(fā)后,依照自己的想法修改,做到融會貫通。
我們肯定了音樂播放器應(yīng)當(dāng)具有的功能,還需要給出實現(xiàn)這些功能的1些基本假定。
裝備上可被播放的音頻文件很多很多,多是通話錄音,多是語音記事本,為了簡便操作,我們將認(rèn)為音樂文件都放在包括了music
關(guān)鍵字的路徑當(dāng)中;
裝備上已準(zhǔn)備好自帶封面的音樂。比如說1首MP3格式的音樂,它所包括的內(nèi)容其實不只是音樂本省,還包括了很多元信息,例如歌曲的作者,歌曲的所屬專輯,乃至歌曲的專輯封面圖片等很多豐富的信息。只不過我們通常只注意到了MP3格式的音樂本身的音樂內(nèi)容和文件名字,沒有直觀的看到其它這些信息。元信息是可選的內(nèi)容,所以有的音樂文件也沒有把對應(yīng)的信息填充到里面去。不過正版版權(quán)到音樂供應(yīng)商都會注意到這些細(xì)節(jié),把與這首音樂更多的信息都提供給大家。
我們這里使用的測試音樂都是通過網(wǎng)易云音樂
下載的正版歌曲(你也能夠去別的渠道下載正版歌曲,作為調(diào)試程序時使用的素材),所以基本上會看到歌曲的封面圖片。如果沒有封面圖片,我們會讓利用顯示默許的封面圖片。
對那些沒有在這個階段加入的功能,期待以后加入吧。
對那些為了簡化開發(fā)難度、減少開發(fā)時間而采取的簡單設(shè)計,期待在下1版程序中優(yōu)化和完善吧。
/*******************************************************************/
* 版權(quán)聲明
* 本教程只在CSDN和安豆網(wǎng)發(fā)布,其他網(wǎng)站出現(xiàn)本教程均屬侵權(quán)。
*另外,我們還推出了Arduino智能硬件相干的教程,您可以在我們的網(wǎng)店安豆的雜貨鋪中購買相干硬件。同時也感謝大家對我們這些碼農(nóng)的支持。
*最后再次感謝各位讀者對安豆
的支持,謝謝:)
/*******************************************************************/