【正文】
本科畢業(yè)設(shè)計(jì)(論文)題 目: 基于Android系統(tǒng)的音樂播放器設(shè)計(jì)與實(shí)現(xiàn)院 系: 計(jì)算機(jī)科學(xué)系 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 姓 名: 學(xué) 號: 指導(dǎo)教師: 教師職稱: 填寫日期: 2012年 月 日 貴陽學(xué)院畢業(yè)設(shè)計(jì)(論文)摘 要當(dāng)今社會(huì)的生活節(jié)奏越來越快,隨著硬件移動(dòng)設(shè)備的越來越先進(jìn),人們對移動(dòng)設(shè)備的要求也越來越高,從以前的追求技術(shù)到現(xiàn)在的追求視覺效果及用戶體驗(yàn),因此,也逐步的提高了對系統(tǒng)的要求。本文主要是在Android系統(tǒng)上對音樂播放器應(yīng)用程序的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行討論,通過這一過程來進(jìn)一步學(xué)習(xí)與應(yīng)用Android平臺,這樣對個(gè)人的未來發(fā)展也很有意義。本論文的音樂播放器采用了Android開源系統(tǒng)技術(shù),利用Java語言和Eclipse開發(fā)工具對播放器代碼進(jìn)行編寫。同時(shí)給出了詳細(xì)的系統(tǒng)設(shè)計(jì)過程、部分界面截圖及主要的功能流程圖,本文還對開發(fā)過程中遇到的問題和解決方法進(jìn)行了詳細(xì)的討論,該音樂播放器集下載、播放、暫停、停止等功能于一體,性能良好,在Android系統(tǒng)中能獨(dú)立運(yùn)行。MP3是一種聲音文件的壓縮格式,由于本播放器只限于應(yīng)用層程序的探討,所以對具體的壓縮算法不做深究。實(shí)驗(yàn)證明,基于Android平臺的軟件開發(fā)簡單,使用方便簡潔,必將成為未來幾年的發(fā)展方向,具有普遍意義。關(guān)鍵詞::Android,音樂播放器,MP3AbstractToday39。s increasingly fast pace of life in society, with the hardware of mobile devices bee increasingly sophisticated, people demand more and more mobile devices, high technology from the past to the present pursuit of the pursuit of visual and user experience, therefore, also gradually increased the system requirements. This article is in the Android system, music player application on the design and implementation to discuss the process through which to further study and application of Android, so the future development of personal sense. Music player of this paper uses Android opensource system technology, the use of Java language and Eclipse development tools for the preparation of the player code. At the same time gives a detailed system design process, some interface screenshots and the major function of flow, the paper also encountered in the process of development problems and solutions were discussed in detail, the music player, set download,play, pause, stop and other functions, good performance, in the Android system can run independently. MP3 is a pressed audio file format, as the player is limited to the application layer of the program, so not to go into the specific pression algorithm. Experiments show that, based on the Android platform, software development is simple, concise and easy to use, will bee the development direction of the next few years, have universal significance. Keywords: Android, music player, MP3 目 錄摘 要 IAbstract II第一章 引 言 1 項(xiàng)目背景 1 編寫目的 1第二章 Android應(yīng)用軟件開發(fā)基礎(chǔ) 3 Android簡介 3 Android應(yīng)用軟件開發(fā)的核心技術(shù) 4 Android 應(yīng)用開發(fā)語言 4 Android應(yīng)用程序組件 4 Intent 介紹 6 文件 6第三章 搭建Android開發(fā)環(huán)境 8 計(jì)算機(jī)配置 8 安裝JDK 8 安裝Eclipse 8 安裝SDK 9 安裝ADT 9 設(shè)置Eclipse 9 創(chuàng)建AVD 10第四章 系統(tǒng)需求分析 11 11 11 12 13 13 14第五章 音樂播放器詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 15 15 17 19 21第六章 結(jié) 論 24致 謝 25參考文獻(xiàn) 26附 錄 2733第一章 引 言 項(xiàng)目背景自2007年Google公司推出Android以來,一直受到人們的熱捧。Android是基于Linux內(nèi)核的軟件平臺和操作系統(tǒng),它包括移動(dòng)電話工作所需的全部軟件,而且不存在任何以往羈絆移動(dòng)產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙,并迅速發(fā)展成為智能移動(dòng)終端的操作系統(tǒng)。由于手機(jī)市場發(fā)展迅速,使得手機(jī)操作系統(tǒng)也出現(xiàn)了不同種類,現(xiàn)在的市場上主要有三個(gè)手機(jī)操作系統(tǒng),Windows mobile,symbian,以及谷歌的Android操作系統(tǒng),其中占有開源代碼優(yōu)勢的Android系統(tǒng)有最大的發(fā)展前景。Android的開放性就優(yōu)于其它封閉式的手機(jī)系統(tǒng),因此,任何人都可以根據(jù)自己的愛好將手機(jī)系統(tǒng)中的所有功能重新編寫。這使得越來越多的人關(guān)注這個(gè)操作系統(tǒng)。計(jì)算機(jī)應(yīng)用越來越廣泛,手機(jī)市場也日新月異,各種音頻、視頻資源在網(wǎng)上廣為流傳,這些資源看似平凡,但是已經(jīng)成為了人們生活中不可缺少的一部分了,于是各種手機(jī)播放器也緊跟著發(fā)展起來,但是很多播放器都是一味追求外觀花哨,功能龐大,對用戶的手機(jī)造成了很多資源浪費(fèi),在用戶需要多任務(wù)操作時(shí),受到不少影響,帶來了許多不便。 那么能否在手機(jī)上擁有自己編寫的個(gè)性音樂播放器呢?谷歌的Android系統(tǒng)就能做到。本文的音樂播放器就是基于谷歌Android手機(jī)平臺的播放器。要研究了各種市場上流行的手機(jī)播放器,了解它們各自的插件及編碼方式,還有各種播放器播放的特別文件格式,分析各種編碼方式的優(yōu)缺點(diǎn),以及各種播放器本身的缺點(diǎn)和特點(diǎn),編寫出功能實(shí)用,使用方便快捷的播放器。 編寫目的現(xiàn)今社會(huì)生活緊張,而欣賞音樂是其中最好的舒緩壓力的方式之一,本項(xiàng)目的目的是開發(fā)一個(gè)可以播放MP3文件格式的播放器,并且可以從服務(wù)器下載歌曲,控制播放,暫停,停止,音量調(diào)節(jié),播放列表和歌曲文件的管理操作等多種播放控制功能,界面簡明,操作簡單。本項(xiàng)目是一款基于Android手機(jī)平臺的音樂播放器,使Android手機(jī)擁有個(gè)性的多媒體播放器,使手機(jī)顯得更加生動(dòng)靈活化,與人們更為接近,讓手機(jī)主人隨時(shí)隨地處于音樂旋律之中。使人們的生活更加多樣化,也使設(shè)計(jì)者更加熟悉基于Android平臺的應(yīng)用布局及開發(fā)模式的特點(diǎn),為以后實(shí)現(xiàn)更復(fù)雜的應(yīng)用打好基礎(chǔ)。第二章 Android應(yīng)用軟件開發(fā)基礎(chǔ) Android簡介Android是一種以Linux為基礎(chǔ)的開放源碼操作系統(tǒng),主要使用于便攜設(shè)備。目前尚未有統(tǒng)一中文名稱,中國大陸地區(qū)較多人使用“安卓”或“安致”。Android操作系統(tǒng)最初由Andy Rubin開發(fā),最初主要支持手機(jī)。2005年由Google收購注資,并組建開放手機(jī)聯(lián)盟開發(fā)改良,逐漸擴(kuò)展到平板電腦及其他領(lǐng)域上。Android平臺五大優(yōu)勢特色:開放性掙脫運(yùn)營商的束縛豐富的硬件選擇不受任何限制的開發(fā)商無縫結(jié)合的Google應(yīng)用 圖21 Android 軟件體系結(jié)構(gòu)圖Android作為一個(gè)移動(dòng)設(shè)備的平臺,其軟件層次結(jié)構(gòu)包括了一個(gè)操作系統(tǒng)(OS),中間件(MiddleWare)和應(yīng)用程序(Application)。根據(jù)Android的軟件框圖,其軟件層次結(jié)構(gòu)自下而上分為以下幾個(gè)層次:第一、操作系統(tǒng)層(OS)第二、各種庫(Libraries)和Android 運(yùn)行環(huán)境(RunTime)第三、應(yīng)用程序框架(Application Framework)第四、應(yīng)用程序(Application) Android應(yīng)用軟件開發(fā)的核心技術(shù) Android應(yīng)用開發(fā)語言Java是Android上的主流開發(fā)語言,各種支持也最完善。Android發(fā)布的API和SDK也都主要是面向Java開發(fā)人員的。我們的播放器實(shí)例也是用Java開發(fā)的。 Android應(yīng)用程序組件Android應(yīng)用程序最大的一個(gè)特點(diǎn)就是每個(gè)應(yīng)用都由若干組件構(gòu)成。而且各個(gè)應(yīng)用程序的組件還可以相互調(diào)用(需要在代碼中設(shè)置相應(yīng)權(quán)限)。例如假設(shè)我們需要編寫一個(gè)內(nèi)嵌有網(wǎng)頁的程序,那么我們無需親自編寫瀏覽器,而是可以直接調(diào)用系統(tǒng)自帶的Chrome Lite瀏覽器組件。又如假設(shè)我們編寫了兩個(gè)應(yīng)用程序,其中一個(gè)程序中有列表顯示圖片的組件,那么我們在另外一個(gè)應(yīng)用程序中就可以使用該組件,而不需要再編寫該功能。也就是說,不同于我們平常編寫的程序,Android的應(yīng)用程序不是單一入口,而是可以從代碼的不同位置啟動(dòng)。這就要依靠組件來實(shí)現(xiàn)。Android應(yīng)用程序的組件有以下四種:1. Activity一個(gè)activity實(shí)際上表現(xiàn)出來的就是一個(gè)程序的界面。這個(gè)界面可能有許多種不同的形式,比如有列表形式,有文字形式,有圖像格子等形式。一個(gè)應(yīng)用程序也可能有不止一個(gè)activity。比如一個(gè)短消息的程序,需要有列表顯示所有消息的activity,還至少需要一個(gè)編輯短消息的activity(界面),還可能需要設(shè)置、菜單等界面。每個(gè)activity都有一個(gè)默認(rèn)的窗口用于繪制界面,一般情況下,它是充滿全屏的,但是我們可以通過程序控制它,使其小于屏幕大小,也可以控制其浮動(dòng)于其它窗口之上(如Android中的Toast信息),Activity中顯示出來的內(nèi)容其實(shí)是由view堆疊形成的,view是由View基類派生出來的各種形式的界面元素,如ListView,GridView等等,通過組合這些view,就形成了一個(gè)可見的activity。()方法來設(shè)置一個(gè)activity中所要顯示的view。2. Serviceservice是一種沒有界面的組件,同我們平常在Windows或Linux系統(tǒng)中所理解的“服務(wù)”一樣,Android上的service也是運(yùn)行在后臺的,運(yùn)行時(shí)間可以從系統(tǒng)啟動(dòng)到系統(tǒng)關(guān)閉為止。對于許多應(yīng)用程序來說,service組件是至關(guān)重要的。以下載管理器為例,用戶肯定希望能夠在切換到其它程序時(shí)仍然在后臺進(jìn)行下載,這就需要用到service完成下載工作。而顯示下載進(jìn)度、已下載文件等信息則由activity完成,同時(shí)我們還希望能控制下載過程,如停止、繼續(xù)等,這就需要activity與service之間進(jìn)行通信。 Android允許activity連接到或者綁定到service上,這樣就可以讓用戶在界面上控制后臺service的行為。3. Broadcast receiverBroadcast意為廣播消息,Android系統(tǒng)自身會(huì)發(fā)出許多廣播消息,如電量不足,用戶修改了全局設(shè)置等,各個(gè)應(yīng)用程序也以向整個(gè)系統(tǒng)廣播消息,如文件下載完畢等。Broadcast receiver則是程序中專門用來接收廣播消息的組件,它沒有界面顯示,只負(fù)責(zé)監(jiān)聽、接收廣播消息,然后根據(jù)程序邏輯,啟動(dòng)其它組件去處理廣播消息。它可以啟動(dòng)一個(gè)activity來同用戶交互,也可以使用NotificationManager向用戶發(fā)出通知。NitificationManager的通知形式有許多種,比如說振動(dòng)、響