




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、 本科生畢業(yè)設計(論文)( 2016 屆)設計(論文)題目 Android手機APP開發(fā)音樂播放器 作 者 劉晗 系、 專業(yè) 計算機科學與技術 班 級 1201 指導教師(職稱) 王李冬(副教授) 論 文 字 數(shù) 8000 論文完成時間 2016年 4月10 日 杭州師范大學錢江學院教學部制Android手機APP開發(fā)音樂播放器計算機科學與技術1201 劉晗 指導教師 王李冬 摘要:Android手機的APP開發(fā)越來越受到人們的關注。現(xiàn)今社會人們生活壓力越來越大,人們更注重精神的需求。人們需要放松,需要釋放,需要發(fā)泄,而音樂則是調(diào)節(jié)人們心情的一個有效資源。本文基于Androidstudio開發(fā)
2、了一款面向Android手機的音樂播放器。該播放器包含本地音樂掃描、歌詞匹配、音樂播放以及用戶管理等功能。該APP具備界面優(yōu)美、使用方便等優(yōu)點,滿足現(xiàn)金市場上的應用需求。關鍵詞:移動互聯(lián);Android;音樂播放器APP Development on Android Mobile Phone- Music PlayerComputer Science and Technology class 1201 Liu HanInstructor: Wang LidongAbstract: Android APP development has attracted more and more nowad
3、ays. Living pressure of modern society people is more and more serious, which made people pay more attention to mental demand. People need to relax, to release, need to vent, and the music is an effective resources to adjust mood for people . This article develops an Android music player based on An
4、droidstudio. The player includes local music scan, matching lyrics, music playing and user management, and other functions. The APP has beautiful interface, convenient use, and meet the application requirements of cash in the market.Key words:Mobile Internet; Android.;Music player目 錄1緒論41.1研究背景41.2國
5、內(nèi)外研究現(xiàn)狀41.3系統(tǒng)研究意義41.4系統(tǒng)研究目標52相關技術簡介52.1 Android技術52.2 開發(fā)軟件介紹62.2.1 Android studio平臺62.2.2 SQLite 數(shù)據(jù)庫73 系統(tǒng)分析與設計73.1系統(tǒng)可行性分析73.2系統(tǒng)需求分析73.3系統(tǒng)用例分析73.4音頻數(shù)據(jù)庫74 功能的實現(xiàn)84.1本地音樂的搜索掃描84.1.1 sqlite數(shù)據(jù)庫連接84.1.2音樂數(shù)據(jù)存儲84.1.3音樂信息顯示104.2 音樂播放134.2.1音樂點擊實現(xiàn)134.3音樂的切換暫停184.4音樂播放模式的切換204.5歡迎界面的實現(xiàn)225 總結23參考文獻:23致謝24Android手
6、機APP開發(fā)音樂播放器計算機科學與技術1201 劉晗 指導教師 王李冬1緒論1.1研究背景在最近這些年里,互聯(lián)網(wǎng)業(yè)務和移動通信已經(jīng)成為現(xiàn)今發(fā)展速度最為迅捷、發(fā)展前景最為誘人的兩種業(yè)務領域。它們正以非常驚人的速度進行增長。迄今為止,全世界里移動通信工具的使用人員數(shù)量已經(jīng)超過了16億人,互聯(lián)網(wǎng)的使用人員數(shù)量也已經(jīng)超過了10億人。在其中,中國移動通信用戶的總數(shù)也已經(jīng)超過3.7億人,而互聯(lián)網(wǎng)用戶的總數(shù)則已經(jīng)超過5.5億人。這一史上未有的高速增長反映著隨著時代的發(fā)展與技術的進步,人類越來越祈求不受時間、空間限制的信息交互。人們希望在任何時刻、任何地點高速便捷地連入互聯(lián)網(wǎng),發(fā)布亦或者是獲取特定的訊息。由此
7、可見,移動互聯(lián)網(wǎng)的誕生應是歷史中的必然。而Android是移動互聯(lián)下誕生的產(chǎn)物。Android是Google在07年11月推出的手機操作系統(tǒng),其的開源性打破了傳統(tǒng)手機操作系統(tǒng)的封閉式格局,人們可以根據(jù)自身的喜好來修改自己手機,為其添加亦或是完善所需的應用軟件。這也是Android最為吸引人的地方。 在現(xiàn)在的社會里人們生活壓力越來越大,從而使人們更加注重起精神的需求。人們需要放松,需要釋放,需要發(fā)泄,為了能夠讓人們在Android手機平臺上自由的獲取音樂資源并且進行收聽,很有必要針對該平臺開發(fā)一款實用的音樂播放器,這正是本文的主要內(nèi)容。1.2國內(nèi)外研究現(xiàn)狀現(xiàn)如今市場上常見的音樂播放器包括有Xmo
8、vie,RealPlayer,QuickTim和Mplayer等。Xmovie它最早是電視機中播放節(jié)目的軟件,其播放界面十分簡陋,其沒有其他多余的控制功能;RealPlayer在低寬帶下十分優(yōu)秀的支持音頻、視頻多媒體進行低損失傳輸,同時又具有非常優(yōu)秀的流媒體在線播放功能;QuickTime是蘋果公司開發(fā)的流式音視頻解決方案,也是較早出現(xiàn)的流媒體文件格式之一。MPlayer是Linux上出現(xiàn)的電影播放器,其功能十分強大,能夠播放大部分音頻格式格式的文件。由此可以看出:目前,媒體播放器主要發(fā)展趨勢有以下幾個方向:首先,要支持多樣格式化。其次,要有可擴展姓?,F(xiàn)今音頻播放器的功能已變得越來越全面,如何
9、使得播放器在現(xiàn)有的基礎上能夠擁有更完善的功能,也是吸引人們接受新產(chǎn)品的一種方式。1.3系統(tǒng)研究意義現(xiàn)如今互聯(lián)網(wǎng)已經(jīng)進入了較為成熟的時代,各種產(chǎn)品也越來越重視與用戶之間的人機交互,這其中尤其少不了移動通訊工具-手機?,F(xiàn)如今,智能手機已經(jīng)逐漸成為絕大部分人民的必備品。無論是使用Android系統(tǒng)的三星、華為等手機,還是使用ios系統(tǒng)的蘋果手機。用戶所求的依然是更為簡單易懂的使用方式,因此手機上的APP就被人們尤為期待。在這個智能手機的時代,Android系統(tǒng)與IOS系統(tǒng)幾乎壟斷了整個智能手機平臺。手機系統(tǒng)的統(tǒng)一以及開放帶來了良好的APP開發(fā)條件,這樣也就促使越來越多的App開發(fā)公司誕生了?,F(xiàn)如今社
10、會的生活節(jié)奏十分緊張,而聆聽音樂卻是舒緩壓力的首要選擇,本文試圖開發(fā)一款可以播放主流音頻文件的音頻播放器,本設計意圖實現(xiàn)的功能主要是能運行Mp3等多種音頻格式,并且能夠進行音頻的播放,暫停,停止,播放上一曲,播放下一曲,音量調(diào)節(jié),和歌曲文件的管理操作等多種播放控制功能,界面設計力圖簡明易懂,操作力求簡單。目前市面上雖然具備很多的音樂播放器,但是功能多比較繁雜,且不具備輕量級功能。為了能夠面向大學生使用,并且占用較少的手機內(nèi)存,開發(fā)一款輕量級的音樂播放器,還是具備較大的研究意義和實用價值。 綜合上述分析,本文擬設計一款使用Android系統(tǒng)的手機音頻播放器,使Android手機擁有一款獨特個性的
11、音頻播放器,使手機應用變得更加生動,與人們生活更加貼近,讓手機的主人能夠處于音樂視頻的旋律之中,讓人們的生活更加多樣化,也使本人能夠更加熟練的使用基于Android系統(tǒng)的手機應用編程技術。1.4系統(tǒng)研究目標本課題的研究目標主要是由以下幾方面功能組成:(1) 掃描本地音樂的功能:掃描存在手機內(nèi)存與sdcard中的音樂文件,得到其文件有關的信息。(2) 音樂播放功能:實現(xiàn)最為基礎的播放音樂、暫停音樂、播放上一首、播放下一首音樂的功能。(3) 播放模式的切換:實現(xiàn)單曲播放、單曲循環(huán)、順序循環(huán)、隨機播放。(4) 音樂歌詞進度匹配功能:未注冊用戶可以注冊并登錄該學習平臺。(4) 用戶登陸功能:使登陸后的
12、用戶使用部分聯(lián)網(wǎng)功能。(5) 歡迎界面功能:第一次登陸會先進入歡迎界面。2相關技術簡介2.1 Android技術Android是一款開源的Linux操作系統(tǒng),由Google和開放手機聯(lián)盟共同領導并進行開發(fā)。該操作系統(tǒng)主要應用于市場上的移動手機平臺,并且Android手機已經(jīng)深入人心。目前,Android已經(jīng)經(jīng)歷了多次的版本更新,下表列出了Android系統(tǒng)各種版本的發(fā)布時間以及其對應的版本號:表2-1 Android版本列表Android的版本其發(fā)布日期擁有代號Android 1.1Android 1.52009年4月30日Cupcake(紙杯蛋糕)Android 1.62009年9月15日D
13、onut(炸面圈)Android 2.0/2.12009年10月26日Eclair(長松餅)Android 2.22010年5月20日Froyo(凍酸奶)Android 2.32010年12月6日Gingerbread(姜餅)Android 3.0/3.1/3.22011年2月22日Honeycomb(蜂巢)Android 4.02011年10月19日Ice Cream Sandwich(冰淇淋三明治)Android 4.12012年6月28日Jelly Bean(果凍豆)Android 4.22012年10月8日Jelly Bean(果凍豆)Android5.0待定Lime Pie(酸橙派)
14、自Android 1.5以來,Android系統(tǒng)離智能操作系統(tǒng)越來越接近,Google將Android系統(tǒng)的版本用各式甜品來命名。近些年里隨著Android系統(tǒng)的普及與發(fā)展,非常多的廠商開始加入到Android的陣營里,在14年1月,Google對外公布的數(shù)據(jù)中,它Android系統(tǒng)的全球市場占有率已超過60%。 由于Android系統(tǒng)高速發(fā)展,在使用Android系統(tǒng)的設備中,其搭載的Android版本并沒有得到很好的統(tǒng)一,各版本都擁有一定的占有率,下圖為Google公布的各種Android版本的市場占有率:圖2-1 Android各種版本的市場占有率自上圖可知,在所有Android設備里占
15、有率最高的是Android4.x,由此可見市場對Android版本的需求,已經(jīng)越來越向高版本靠攏,本文也將著重針對Android4.x的應用開發(fā)進行講解。 2.2 開發(fā)軟件介紹2.2.1 Android studio平臺Android Studio 是一種Android開發(fā)環(huán)境,本文采用該工具進行開發(fā)。該平臺是面向Java語言的一個開發(fā)環(huán)境。跟Java開發(fā)環(huán)境Eclipse類似,Android Studio 提供了極多的Android 集成開發(fā)工具,方便手機開發(fā)人員進行調(diào)試。本文選用Android Studio工具的另外一個原因在于該工具得到Google公司的大力支持。據(jù)了解,谷歌宣布將在15
16、年底前停止對其他IDE開發(fā)環(huán)境的開發(fā)支持(以前主要是以Eclipse為主)。谷歌將全力專注于Android Studio編譯工具的開發(fā)和提供技術支持,其對Eclipse中止的官方支持包括Eclipse ADT(Android開發(fā)工具)插件以及Apache Antt編譯系統(tǒng)等。此外,Android Studio工具有一定的缺陷,典型的缺陷包括高內(nèi)存的消耗,但是鑒于該平臺的強大功能,且現(xiàn)階段針對Android手機的主流開發(fā)平臺仍然是AndroidStudio,因此本文綜合多方面因素,仍然選擇使用Android studio 作為開發(fā)平臺。 2.2.2 SQLite 數(shù)據(jù)庫由于本文的數(shù)據(jù)庫屬于輕量級
17、,因此選用SQLite進行開發(fā)。SQLite 數(shù)據(jù)庫是一款使用C語言編寫的嵌入式數(shù)據(jù)庫,它是一種輕量級的數(shù)據(jù)庫,其最初是為嵌入式而設計的。該數(shù)據(jù)庫的主要優(yōu)點在于語句處理上比oracle 或者SQL Server快很多,并且對內(nèi)存的要求很低,在內(nèi)存中它只需要幾百KB的存儲空間。對于開發(fā)一個小型的APP,用于存儲部分音樂文件,SQLite是首選數(shù)據(jù)庫平臺。3 系統(tǒng)分析與設計3.1系統(tǒng)可行性分析經(jīng)濟可行性音樂播放器的成本主要集中在軟件開發(fā)方面里,開發(fā)完只需安裝就可以快速的投入使用,所以這點開發(fā)成本,十分低下,在經(jīng)濟上是可行的。技術可行性硬件方面,開發(fā)只需一臺普通的個人電腦機,擁有簡單的聯(lián)網(wǎng)環(huán)境就足夠
18、了。在軟件方面,只需用到Androd studio開發(fā)集成環(huán)境,SQlite3數(shù)據(jù)庫,jdk8.0,開發(fā)語言用到Java語言,MVC設計模式?,F(xiàn)今這些資源都是可以輕易得到的。也足以在指定時間內(nèi)完成開發(fā),所以技術上這也是可行的。操作可行性本文中的音頻播放器界面簡單明了,讓人一目了然。各類功能設計也是規(guī)范有序,充分考慮了用戶的習慣問題。在操作方面也是完全可行的。3.2系統(tǒng)需求分析一款安卓智能手機如果沒有音樂播放器那就不能正常的播放音頻文件,這將導致手機失去一項很重要的功能。音樂播放器是手機必不可少的軟件之一,是手機播放音樂的工具,一個好的播放器可以給用戶一個好的用戶體驗,簡單快捷的操作是一個播放器
19、所必須的。3.3系統(tǒng)用例分析用例圖設計有關外部用戶所能觀察到的系統(tǒng)功能的模型圖,呈現(xiàn)參與者和其的一些用例,以及它們之間的關系,主要用于對系統(tǒng)、子系統(tǒng)或類似的功能行為進行建模。本文中通過進行需求分析得出用戶所需主要功能包括為播放音樂、歌曲切換、循環(huán)模式切換等。3.4音頻數(shù)據(jù)庫Android系統(tǒng)自帶的本地音頻數(shù)據(jù)庫表格如下:表3-1 音頻信息表字段解析_id音頻id,主鍵_data文件的絕對路徑_display_name文件名_size文件大小,其單位為bytedate_added加入到數(shù)據(jù)庫的時間,單位為秒date_modified最后修改時間,單位為秒titleID3 信息的標題,無則為不帶擴
20、展名的文件名title_key全大寫字母的標題duration播放時長artist_id作曲家idcomposerID3 信息,作曲家album_id專輯 idtrackID3 信息,音軌yearID3 信息,年代is_ringtone是否為鈴聲,0 或 1is_music是否為音樂,只有為1時 才會在音樂播放器顯示is_alarm是否為鬧鐘鈴聲is_notification是否為通知鈴聲借助上表的字段名和Android提供的ContentProvider類可以針對性的獲取音頻數(shù)據(jù),使本地音樂的掃描得到實現(xiàn)的可能。4 功能的實現(xiàn)4.1本地音樂的搜索掃描4.1.1 sqlite數(shù)據(jù)庫連接Curs
21、or cursor = getActivity().getContentResolver().query( MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null, MediaStore.Audio.Media.DEFAULT_SORT_ORDER);利用ContentProvider(內(nèi)容提供者)調(diào)用安卓系統(tǒng)自帶SQlite音頻數(shù)據(jù)庫,這路徑地址為MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,返回結果為cursor結果集接口(類似于第一個音頻文件數(shù)據(jù)的數(shù)據(jù)源地址) 4.1.2音樂數(shù)據(jù)
22、存儲 List mp3Infos = new ArrayList(); for (int i = 0; i 0) /如果音樂不是從頭播放 mediaPlayer.seekTo(positon); public static void cleanPosition() position = 0; 通過intent意圖來接受音樂路徑與音樂狀態(tài)標志,實現(xiàn)OnPrepareLister接口,重寫onPrepared(MediaPlayer mp)方法,傳入媒體播放器對象MediaPlayer,用mediaPlayer.seekTo(positon);實現(xiàn)動態(tài)調(diào)整音樂進度。重寫onDestroy()清空音
23、樂進度值,釋放媒體播放器對象資源,將媒體播放器對象置空。4.3音樂的切換暫停通過點擊列表實現(xiàn)音樂的切換暫停,在布局文件里的上一首、下一首按鈕添加onClick屬性,屬性值為btnClickpublic void btnClick(View v) switch (v.getId() case R.id.music_pre: localMusicFragment.musicPre(); break; case R.id.music_next: localMusicFragment.musicNext(); break; case R.id.music_pattern: ToastUtils.sho
24、w(this, 長按切換播放模式); break; 在布局所對應活動里創(chuàng)建方法btnClick(View v),根據(jù)不同的視圖id調(diào)用不同的case分支。 public void musicNext() position+; if (position = mp3Infos.size() position = 0; Mp3Info mp3Info = mp3Infos.get(position); listView.setSelection(position); MusicUtil.changeMusicState(getActivity(), mp3Info.getUrl(), AppConstant.PlayerMsg.PLAY_MSG); if (mylistener != null) mylistener.onMusicClick(mp3Info); public voi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年激光比長儀項目發(fā)展計劃
- 4 月相變化的規(guī)律 教學設計-2023-2024學年科學三年級下冊教科版
- 2024級語文上冊習作我有一個想法教學設計
- (公開課教案)五年級上冊語文《通往廣場路不止一條》教學設計
- 2023-2024學年高中英語 Unit 1 Cultural Heritage Reading for writing 教學實錄 新人教版必修第二冊
- 2023一年級數(shù)學上冊 5 6~10的認識和加減法第4課時 解決問題1教學實錄 新人教版
- 12 慧眼看交通(教學設計)2023-2024學年統(tǒng)編版道德與法治三年級下冊
- 9古詩三首 秋夜將曉出籬門迎涼有感 教學設計-2023-2024學年語文五年級下冊統(tǒng)編版
- 2024-2025學年高中歷史 專題6 杰出的中外科學家 一 中國科技之光教學實錄 人民版選修4
- 2023一年級語文上冊 第二單元 4 d t n l配套教學實錄 新人教版
- 《不合格品管理》課件
- 駕駛員春季安全行車培訓
- 俄烏沖突專題解讀課件
- 2024年廣西職業(yè)院校技能大賽高職組《視覺藝術設計》賽項規(guī)程
- JGJT46-2024《施工現(xiàn)場臨時用電安全技術標準》條文解讀
- 稅務局個人所得稅業(yè)務培訓
- 餐廳服務員上菜培訓
- 鉆機的基礎知識介紹
- ICU重癥患者康復護理
- 心理健康教育課件.他人眼中的我
- 簡單詞考研英語5500單詞表
評論
0/150
提交評論