




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、找畢業設計、項目源碼、編程視頻,就上碼農網基于android的MP3播放器的設計與實現摘 要當今社會的生活節奏越來越快,隨著移動手機的逐漸發展與普及,現在可謂是人手一機,相應的人們對手機體驗的要求也越來越高,人們對手機的追求也從之前的電話短信變成現在的視覺、聽覺追求。本次設計研究一個基于Android平臺的手機音樂播放器,它采用Java語言編寫,可以運行于Android平臺的手機或平板。設備上隨著硬件移動設備的越來越先進,人們對移動設備的要求也越來越高,從以前的追求技術到現在的追求視覺,因此,也逐步的提高了對系統的要求,本文主要是對Android系統上音樂播放器應用程序的設計與實現進行討論。本
2、論文的音樂播放器采用了Android開源系統技術,利用Java語言和Eclipse編輯工具對播放器進行編寫,同時給出了詳細的系統設計過程、部分界面圖及主要功能運行流程圖,本文還對開發過程中遇到的問題和解決方法進行了詳細的討論,該音樂播放器集播放、暫停、停止、上一首、下一首、音量調節、歌詞顯示等功能于一體,性能良好,在Android系統中能獨立運行。該播放器還擁有對手機文件瀏覽器的訪問功能、歌曲播放模式、以及歌詞開閉狀態的友好設置本論文將逐步介紹基于Android平臺的音樂播放器的開發背景和意義,接著詳細介紹了音樂播放器的分析、設計與實現過程,最后對本論文做了總結。關鍵字:Android;多媒體
3、;SQLite;手機Design and implementation of MP3 player based on Android Abstract Faster and faster pace of life in today's society, with the progressive development and popularization of mobile phones, can be said to have one now, people are increasingly high requirements on the mobile phone experien
4、ce, the pursuit of the people on the phone from the previousphone messages become now the visual, auditory pursuit. The design study is a mobile music player based on the Android platform, it uses the Java language, and can run on the Android platform phone or tabletdevice.The pace of
5、;life in today's society, with more advanced hardware mobile devices for mobile devices, people more and more is also high, the requirements from the previous pursuit
6、;to pursue the visual technology, therefore, also gradually improve the system requirements, the paper mainly is to take on a music player from system design and realizat
7、ion of the application is discussed. Take the system is an open source, it is based on the operating system, use the Linux music player of the Android open-sour
8、ce system technology, using the Java language and editing tools for players to Eclipse. Presents the detailed design process, the part of the system and the main fun
9、ctions of operation interface diagram of height, this paper also flow process problems and solving methods are discussed in detail, and the music player episode, pause, s
10、top and a,next, volume adjustment, lyrics display functions, such as performance is good, can operate independently in the Android system. This player has access to the file browser phone functions, songs and played pattern, open and close condition of friendly words. The papers will be gr
11、adually introduced based on the background and significance of the Android platform, the development of the music player, music player and then details the analysis, design and implementation process, and finally, the paper summarizes.Keywords: Android;multimedia;SQLite;phone任務書、ii畢業論文、源代碼、答辯PPT,全套資
12、料,保證通過(碼農網manong365)目 錄摘 要iAbstractii1 緒 論11.1 課題的研究背景11.2 本課題研究現狀11.3 課題研究的主要任務21.4 論文組織結構22 相關技術及開發平臺42.1 什么是Android42.2 Android系統架構簡介52.2.1 應用程序(Applations)72.2.2 應用程序框架(Applation framework)72.2.3 Android 運行時(Runtime)82.2.4 系統庫(Libraries)82.2.5 Linux82.3 SQLite數據庫82.4 Android開發環境的搭建93 系統分析123.1 概
13、述123.1.1 系統分析的原則123.1.2 系統分析的方法123.1.3 系統性能要求分析123.2 系統可行性分析133.3 系統主要功能分析143.3.1 本地播放模塊143.4 系統流程分析144 系統設計164.1 系統設計目標164.2 系統功能模塊設計164.3 數據庫設計174.4 工程文件結構設計175 系統編碼實現與測試205.1 音樂播放Service實現205.2 功能模塊的實現235.2.1 主界面實現235.2.2 本地播放列表實現245.2.3 音樂列表實現255.2.4 音樂播放界面實現275.2.5 在線音樂界面實現315.2.6 最近播放界面實現326 系
14、統測試346.1 測試的重要性346.2 測試的目的346.3 系統測試用例和總結34總 結38致 謝39參考文獻40外文及翻譯411 緒 論1.1 課題的研究背景伴隨科技的進步,手機的功能也不斷的得到更新,從最早的“大哥大”發展到現在的智能手機,音樂手機等等,功能也從單純的打電話發展到了發短信,聽歌,看視頻,上網等,手機和日常生活的聯系越來越緊密,手機的功能也成為很多人們關注的焦點。Android是谷歌于2007年公布的開放式源代碼手機系統,它的開放性就優于其它封閉式的手機系統,因此,任何人都可能根據自己的喜好將手機系統中的所有功能重新編寫。這使得越來越多的人關注這個操作系統。本次作品音樂播
15、放器就是基于Android平臺的。 隨著計算機的廣泛運用,手機市場的迅速發展,各種音頻視頻資源也在網上廣為流傳,這些資源看似平常,但已經漸漸成為人們生活中必不可少的一部分了。于是各種手機播放器也緊跟著發展起來但是很多播放器一味追求外觀花哨,功能龐大,對用戶的手機造成了很多資源浪費,比如CPU內存等的占用率過高,在用戶需要多任務操作時,受到了不小的影響,帶來了許多不便,而對于大多數普通用戶,許多功能用不上,形同虛設。針對以上各種弊端選擇了開發多語種的音頻視頻播放器,將各種性能優化,繼承播放器的常用功能,滿足一般用戶如聽歌、看電影的需求,除了能播放常見格式的語音視頻文件,高級功能,還能播放RMVB
16、格式的視頻文件。此外,還能支持中文、英文等語言界面。 要研究了各種市場上流行的手機播放器,了解它們各自的插件及編碼方式,還有各種播放器播放的特別格式文件,分析各種編碼的優缺點以及各種播放器本身存在的缺陷和特點,編寫出功能實用,使用方便快捷的播放器。 1.2 本課題研究現狀Android一詞的本義指“機器人”。同時也是Google于2007年11月5日宣布的基于Linux平臺的開源手機操作系統的名稱該平臺由操作系統、中間件、用戶界面和應用軟件組成號稱是首個為移動終端打造的真正開放和完整的移動軟件。 Android是基于Linux內核的軟件平臺和操作系統早期由Google開發在華注冊商標名為“安致
17、”,后由開放手機聯盟、Open Handset Alliance開發。它采用了軟件堆層,software stack,又名以軟件疊層的架構主要分為三部分。低層以Linux內核工作為基礎,只提供基本功能,其他的應用軟件則由各公司自行開發,以Java作為編寫程序的一部分。另外,為了推廣此技術,Google和其它幾十個手機公司建立了開放手機聯盟。Android在未公開之前常被傳聞為Google電話或gPhone。大多傳聞認為Google開發的是自己的手機電話產品,而不是一套軟件平臺。到了2010年1月,Google開始發表自家品牌手機電話的Nexus One。目前最新SDK版本為Android 4.
18、0.3。目前手機的音樂播放功能已經是大家在購買手機的時候比較關注的一個部分了,這也足以看出目前大家對音樂播放功能的重視,所以一款性能良好的手機音樂播放器軟件一定會受到人們的歡迎。和傳統的音樂播放器相比,手機播放音樂更加的容易攜帶,其他方面也都不輸于傳統音樂播放器,而且還具有網上聽音樂功能,所以本課題就致力于開發出一款高性能的Android手機音樂播放器來滿足用戶的使用需求,同時它會成為具有良好的市場和應用前景的手機軟件。1.3 課題研究的主要任務伴隨科技的進步,手機的功能也不斷的得到更新,從最早的“大哥大”發展到現在的智能手機,音樂手機等等,功能也從單純的打電話發展到了發短信,聽歌,看視頻,上
19、網等,手機和日常生活的聯系越來越緊密,手機的功能也成為很多人們關注的焦點。目前手機的音樂播放功能已經是大家在購買手機的時候比較關注的一個部分了,這也足以看出目前大家對音樂播放功能的重視,所以一款性能良好的手機音樂播放器軟件一定會受到人們的歡迎。和傳統的音樂播放器相比,手機播放音樂更加的容易攜帶,其他方面也都不輸于傳統音樂播放器,而且還具有網上聽音樂功能,所以本課題就致力于開發出一款高性能的Android手機音樂播放器來滿足用戶的使用需求,同時它會成為具有良好的市場和應用前景的手機軟件。本課題在Android系統下開發一款多媒體音樂播放器并學習多媒體技術,熟悉軟件開發流程。(1)媒體文件播放與控
20、制,包括多種格式的音頻文件播放(如MP3,WMA,AAC),后臺播放媒體文件等,其主要是實現本地播放和在線播放。(2)媒體文件信息管理,包括媒體文件信息的查找、存儲與獲取,數據庫操作等,主要是利用數據庫管理系統SQLite實現對媒體文件的調用。(3)播放信息和用戶配置參數的保存與加載。(4)在Android模擬器/真機上實現軟件的應用。1.4 論文組織結構本文詳細介紹了基于Android手機平臺的音樂播放器的設計實現的全過程。從開始到程序設計的實現,將在一下的幾章中予以介紹:第1章 緒論,這一章主要是對本次畢業設計所開發的系統進行問題的定義,通過問題的定義明白需要做些什么,并且對開發內容簡單的
21、介紹了一下;同時本章還對課題的研究背景與研究意義進行分析,對開發本系統的可行性分析還有對論文各章內容的簡要介紹。第2章 相關技術及平臺介紹,對涉及到的理論知識和用到的開發工具做相關闡述。第3章 系統分析,主要介紹了本系統需要實現的功能模塊和本系統的數據庫設計、頁面的詳細設計等。第4章 系統設計,主要介紹了本系統的整個設計過程、設計思路以及設計中應該注意的問題。第5章 系統編碼實現與測試,主要介紹了本設計的實現環境和實現,同時也介紹了測試在軟件開發環節中的重要性和給出本系統的測試過程與結論。最后:總結、致謝、參考文獻。2 相關技術及開發平臺2.1 什么是AndroidAndroid一詞的本義指“
22、機器人”,同時也是Google于2007年11月5日宣布的基于Linux平臺的開源手機操作系統的名稱,該平臺由操作系統、中間件、用戶界面和應用軟件組成。Android一詞最早出現于法國作家利爾亞當(Auguste Villiers de l'Isle-Adam)在1886年發表的科幻小說未來夏娃(L'ève future)中。他將外表像人的機器起名為Android。Android的Logo是由Ascender公司設計的,誕生于2010年,其設計靈感源于男女廁所門上的圖形符號,于是布洛克繪制了一個簡單的機器人,它的軀干就像錫罐的形狀,頭上還有兩根天線,Android小機
23、器人便誕生了。其中的文字使用了Ascender公司專門制作的稱之為“Droid ” 的字體。Android是一個全身綠色的機器人,綠色也是Android的標志。顏色采用了PMS 376C和RGB中十六進制的#A4C639來繪制,這是Android操作系統的品牌象徵。有時候,它們還會使用純文字的Logo。2012年7月美國科技博客網站BusinessInsider評選出二十一世紀十款最重要電子產品,Android操作系統和iPhone等榜上有名。2003年10月,Andy Rubin等人創建Android公司,并組建Android團隊。2005年8月17日,Google低調收購了成立僅22個月的
24、高科技企業Android及其團隊。安迪魯賓成為Google公司工程部副總裁,繼續負責Android項目。2007年11月5日,谷歌公司正式向外界展示了這款名為Android的操作系統,并且在這天谷歌宣布建立一個全球性的聯盟組織,該組織由34家手機制造商、軟件開發商、電信運營商以及芯片制造商共同組成,并與84家硬件制造商、軟件開發商及電信營運商組成開放手持設備聯盟(Open Handset Alliance)來共同研發改良Android系統,這一聯盟將支持谷歌發布的手機操作系統以及應用軟件,Google以Apache免費開源許可證的授權方式,發布了Android的源代碼。2008年,在Googl
25、eI/O大會上,谷歌提出了AndroidHAL架構圖,在同年8月18號,Android獲得了美國聯邦通信委員會(FCC)的批準,在2008年9月,谷歌正式發布了Android 1.0系統,這也是Android系統最早的版本。2009年4月,谷歌正式推出了Android 1.5這款手機,從Android 1.5版本開始,谷歌開始將Android的版本以甜品的名字命名,Android 1.5命名為Cupcake(紙杯蛋糕)。該系統與Android 1.0相比有了很大的改進。2009年9月份,谷歌發布了Android 1.6的 正式版,并且推出了搭載Android 1.6正式版的手機HTC Hero
26、(G3),憑借著出色的外觀設計以及全新的Android 1.6操作系統,HTC Hero(G3)成為當時全球最受歡迎的手機。Android 1.6也有一個有趣的甜品名稱,它被稱為Donut(甜甜圈)。2010年2月份,Linux內核開發者Greg Kroah-Hartman將Android的驅安卓各個版本在市場受歡迎度動程序從Linux內核“狀態樹”(“staging tree”)上除去,從此,Android與Linux開發主流將分道揚鑣。在同年5月份,谷歌正式發布了Android 2.2操作系統。谷歌將Android 2.2操作系統命名為Froyo,翻譯完名為凍酸奶。2010年10月份,谷歌
27、宣布Android系統達到了第一個里程碑,即電子市場上獲得官方數字認證的Android應用數量已經達到了10萬個,Android系統的應用增長非常迅速。在2010年12月,谷歌正式發布了Android 2.3操作系統Gingerbread (姜餅)。2011年1月,谷歌稱每日的Android設備新用戶數量達到了30萬部,到2011年7月,這個數字增長到55萬部,而Android系統設備的用戶總數達到了1.35億,Android系統已經成為智能手機領域占有量最高的系統。2011年8月2日,Android手機已占據全球智能機市場48%的份額,并在亞太地區市場占據統治地位,終結了Symbian(塞班
28、系統)的霸主地位,躍居全球第一。2011年9月份,Android系統的應用數目已經達到了48萬,而在智能手機市場,Android系統的占有率已經達到了43%。繼續在排在移動操作系統首位。谷歌將會發布全新的Android 4.0操作系統,這款系統被谷歌命名為Ice Cream Sandwich(冰激凌三明治)。2012年1月6日,谷歌Android Market已有10萬開發者推出超過40萬活躍的應用,大多數的應用程序為免費。Android Market應用程序商店目錄在新年首周周末突破40萬基準,距離突破30萬應用僅4個月。在2011年早些時候,Android Market從20萬增加到30萬
29、應用也花了四個月。2.2 Android系統架構簡介Android的基本框架由五個部分組成,應用層、應用框架層、類庫、Android運行時環境和Linux內核。我們程序開發人員只可以訪問應用層和應用框架層,使用開發所需Library庫。Android基本框架如圖2-1所示。圖2-1 Android基本框架(1) ApplicationsApplication Android會與一個核心應用的程序包一起發布,此應用程序包會包括SMS短消息程序,email客戶端,地圖,瀏覽器,聯系人管理,日歷程序等。使用JAVA語言編寫的核心應用程序。(2) Application FrameWork 允許開發人
30、員完全訪問核心應用程序所使用的API框架。此應用程序架構用來簡化組件的重用;在遵循系統安全性的要求下任何應用程序都可以發布和使用的它的功能塊。此應用程序的重用機制使得組建可以被用戶替換。所有的應用程序都由一系列的服務和系統組成,包括:可擴展的視圖(Views )、內容管理器(Content Providers )、資源管理器(Resource Manager)、通知管理器(Notification Manager)、活動類管理器(Activity Manager)。(3) Libraries庫Android 包含了一套C/C+ 函數庫。該庫通過 Android 的Application Fra
31、meWork為開發人員提供所需的底層服務。以下是一些核心Libraries庫:系統 C庫-就是系統C函數庫(libc),為基于embedded linux的設備專門定制,也是從BSD繼承而來的。媒體庫- 基于 PacketVideoOpenCore,這個庫支持錄和放,可以錄制大多數比較流行的音頻與視頻格式,還有靜態映像文件包括MP3, MPEG4, AAC, H.264, AMR, JPG, PNG。Surface Manager 管理所顯示子系統,并且為多個應用程序提供2D圖層和3D圖層的無縫融合。LibWebCore - 一個最新用來支持Android瀏覽器和一個可嵌入web視圖的web瀏
32、覽器引擎。SGL - 一個內置的支持2D圖形的引擎。3D libraries - 該庫可以使用高度優化的3D軟加速或者使用硬件3D加速。FreeType 位圖和矢量字體顯示。SQLite 功能強勁的安卓用輕量級關系型數據庫,所有應用程序均可使用。(4) Android RuntimeAndroid 包括了一個核心的Library,該庫提供了編程中Java所封裝的大多數類和方法。每一個Android應用程序都在它自己獨立的線程中運行,都擁有一個相對獨立的Dalvik虛擬機實例。Dalvik是同時針對于多個高效運行的VMs來實現的。Dalvik虛擬機執行.dex的可執行文件,這一格式文件對最小內存
33、的使用做出了較好的優化。該Dalvik虛擬機是基于寄存器的,所有的類都需要經過JAVA編譯,然后通過Android SDK中的dx工具轉化成.dex格式再由虛擬機執行。 (5) Linux內核Android 的核心系統服務依賴于 Linux 2.6內核,如安全性,網絡協議棧,內存管理,驅動模型和進程管理Error! Reference source not found.。 Linux 內核也同時作為硬件和軟件堆棧之間的硬件抽象層。同所有Linux內核一樣,Android內核是介于硬件層和軟件組之間的一個抽象層次2.2.1 應用程序(APPLICATIONS)Android平臺默認包含了一系列核
34、心應用程序,包括電子郵件、短信、日歷、地圖、瀏覽器、聯系人管理程序等,這些程序都以java 程序語言編寫,你也可以用自己便攜的應用程序來替換Android提供的應用程序,這個替換的機制實際是由應用程序框架來保證的。如圖2-2所示。圖2-2 應用層2.2.2 應用程序框架(APPLICATION FRAMEWORK)應用程序框架是我們進行Android開發的基礎應用程序框架層包含了視圖系統,內容提供器,窗口管理器,活動管理器,通知管理器,位置管理器,資源管理器,電話管理器和包管理器9大部分。如圖2-3所示。圖2-3 中間件層2.2.3 Android 運行時(RUNTIME)Android 雖然
35、采取Java程序語言來編寫應用程序,但不使用J2ME執行Java程序,而是用Android自有的Android運行時(RunTime).Android 運行時包括核心庫和Dalvik虛擬機兩部分。如圖2-4所示。圖2-4 核心庫,虛擬機2.2.4 系統庫(LIBRARIES)應用程序框架是貼近于應用程序的軟件組件服務,而更底層則是Android的函數庫,這一部分是應用程序框架的支撐,其架構如圖2-5所示。圖2-5系統庫2.2.5 LinuxAndroid平臺是開放,采用Linux內核則是Android平臺開放性的基礎。Android平臺中的操作系統采用了Linux2.6版的內核,它包括了顯示驅
36、動、攝像頭驅動、Flash內存驅動、Binder(IPC)驅動、鍵盤驅動、wifi驅動、Audio驅動以及電源管理部分。Linux內核層為我們在軟件層和硬件層建立了一個抽象層,使得應用程序開發人員無需關心硬件細節。對于手機的開發商而言,如果想要Android平臺運行到自己的硬件平臺上就必須通過對Linux層進行修改,通常要做的工作就是為自己的硬件便攜驅動程序。2.3 SQLite數據庫Android采用SQLite這個輕量級數據庫工具來管理數據;SQLite,是一款輕型的數據庫,是遵守ACID的關系型數據庫管理系統,它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它占用資源非常
37、的低,在嵌入式設備中,可能只需要幾百K的內存就夠了。它能夠支Windows/Linux/Unix等等主流的操作系統,同時能夠跟很多程序語言相結合,比如 Tcl、C#、PHP、Java等,還有ODBC接口,同樣比起Mysql、PostgreSQL這兩款開源世界著名的數據庫管理系統來講,它的處理速度比他們都快。SQLite第一個Alpha版本誕生于2000年5月。 至今已經有14個年頭,SQLite也迎來了一個版本 SQLite 3已經發布。SQLite是遵守ACID的關系型數據庫管理系統,它包含在一個相對小的C庫中。它是D.RichardHipp建立的公有領域項目。不像常見的客戶-服務器范例,S
38、QLite引擎不是個程序與之通信的獨立進程,而是連接到程序中成為它的一個主要部分。所以主要的通信協議是在編程語言內的直接API調用。這在消耗總量、延遲時間和整體簡單性上有積極的作用。整個數據庫(定義、表、索引和數據本身)都在宿主主機上存儲在一個單一的文件中。它的簡單的設計是通過在開始一個事務的時候鎖定整個數據文件而完成的。SQLite雖然很小巧,但是支持的SQL語句不會遜色于其他開源數據庫,它支持的SQL包括:ATTACH DATABASE ,BEGIN TRANSACTION,COMMENT,COMMIT TRANSACTION,COPY,CREATE INDEX,CREATE TABLE,
39、CREATE TRIGGER,CREATE VIEW,DELETE,DETACH DATABASE,DROP INDEX,DROP TABLE,DROP TRIGGER,DROP VIEW,END TRANSACTION,EXPLAIN,expression,INSERT,ON CONFLICT clausePRAGMA,REPLACE,ROLLBACK TRANSACTION,SELECT,UPDATE。同時它還支持事務處理功能等等。也有人說它象Microsoft的Access,有時候真的覺得有點象,但是事實上它們區別很大。比如SQLite 支持跨平臺,操作簡單,能夠使用很多語言直接創建數據
40、庫,而不象Access一樣需要Office的支持。2.4 Android開發環境的搭建在軟件開發中,大部分的軟件都需要配置開發環境才能夠使用,Android開發也不例外。下面介紹Android的開發環境配置:搭建開發環境需要的軟件:(1)操作系統:Windows XP或Linux(2)軟件包:Android SDK(Software Development kit Java Development kit) 、ADT(Android Develoopment Tool)(3)IDE環境:IDE Eclipse +ADT Eclipse(4)JDK:Java Runtime Environmen
41、t、Java Development kit安裝步驟如下:第一步:安裝Java虛擬機sun-java6-jdk版本,正常安裝即可,完成后需要配置環境變量。第二步:安裝Eclipse工具 官網/downloads/選擇版本,進行安裝。Eclipse安裝包下載如圖2-6所示。圖2-6 Eclipse安裝包下載第三步:安裝安卓的SDK包:首先在安卓開發者的官網下載SDK,具體下載地如下 ,選擇自己的系統進行下載安裝。如圖2-7所示。圖2-7 SDK包下載界面第四步:安裝Android ADT插件打開Eclipse,點擊help,然后點擊install new
42、 software ,再點擊add,然后會彈出一個框。如圖2-8所示。圖2-8 ADT插件安裝界面選擇瀏覽你下載的ADT插件的包,點擊OK按鈕,選擇需要安裝的包,占擊next按鈕,然后選擇接受協議,等到安裝成功以后重啟Eclipse工具,再設置Android SDK 環境,點擊Window然后Preferences,再選擇點擊Android。 如圖2-9所示。圖2-9 配置開發環境在SDK location中輸入SDK Tools路徑:E:android_sdk點擊OK這樣Android環境就已經搭建成功了。3 系統分析3.1 概述系統分析是在總體規劃的指導下,對某個或若干個子系統進行深入仔細
43、地調查研究,確定新系統邏輯功能的過程。這一階段的主要任務是由系統分析員了解每個業務流程,工作流程,廣大用戶的需求,運用系統開發理論、開發方法和開發技術設計出一個計算機化的信息系統。3.1.1 系統分析的原則在系統分析中存在很多困難,為了克服困難,做好分析工作,在進行系統分析時應遵循系統分析的原則,這樣才能保證分析工作能夠順利進行,系統分析的原則有:(1)邏輯設計與物理設計分開的原則(2)面向用戶的原則(3)結構化分析的原則通過實際調查并與相關用戶交流后,分析商品訂購網模擬網站的具體的要求,確定本網站系統的邏輯功能,以滿足用戶的各項要求,完成相應的各項功能,提高網站的實用水平。在近期目標完成后,
44、該系統應該有很強的擴充性,便于在此基礎上進行擴充式開發,為以后的發展及擴充打好基礎。 3.1.2 系統分析的方法該系統采用以抽象和分解為手段,并且采用結構化分析方法進行系統分析,根據實際調查研究,對系統進行自頂向下的逐層分解,逐步細分,逐步求精,建立新系統的邏輯模型,這個邏輯模型將盡可能避免使用計算機術語,讓其盡可能的簡單化、通俗化,便于設計者和瀏覽者的溝通與交流經驗。結構化分析方法的基本思想是該系統采用結構化分析方法,以抽象和分解為手段,對系統進行自頂向下的逐層分解,逐步細分,逐步求精,從而達到易于理解的目的。3.1.3 系統性能要求分析為了保證能夠長期、安全、穩定、可靠的運行,系統應滿足以
45、下性能要求:(1)系統處理的準確性與及時性:系統處理的準確性和及時性是系統的必要性能。在系統設計和開發過程中,充分考慮當前和將來可能承受的工作量,使系統的處理能力和相應時間能夠滿足信息處理的要求。 (2)系統的可擴充性及可維護性,系統的開發過程中,應該充分考慮以后的可擴充性相當于升級。當今企業對系統的可維護性也有了相當高的關注。例如添加新功能。所以本系統采用了CS開發模式,大幅提高了系統的可擴展性及可維護性。 (3)系統的可兼容性,考慮到目前Android版本眾多、設備眾多,所以設計出的程序必需要求可以兼容各個主流版本。(4)系統的可靠性, 可靠性是保證系統正常工作及抗故障、抗干擾的能力,它包
46、括:保證系統正常工作的能力;對系統故障的預防、檢測以及自動糾錯的能力;出現故障時,保證系統不發生崩潰,并使系統重新恢復、重新啟動的能力等安全性是保證合法用戶能夠正確使用信息系統,并防止非法用戶訪問信息系統的能力適應性是信息系統對外部環境和需求變化的適應能力。3.2 系統可行性分析可行性研究的目的,就是用最小的代價在盡可能短的時間內確定問題是否能夠解決。要達到這個目的,必須分析幾種主要的可能解法的利弊,從而判斷原定的系統規模和目標是否現實,系統完成后所能帶來的效益是否大到值得投資開發這個系統的程度。因此,可行性研究實質上是對進行了一次較大壓縮簡化后的系統進行分析和設計的過程,也就是在較高層次上以
47、較抽象的方式進行的系統分析和設計的過程。系統的可行性分析主要包括經濟上的可行性,技術上的可行性,操作上的可行性和法律上的可行性。經濟可行性目標系統開發經濟需求的比較低,加上具有成熟的Android平臺以及十分普及手機設備,所以在軟硬件的支出上十分有限。而且,目標系統并是十分的復雜,開發的周期較短,人員經濟支出有限。當系統開發成后,通過測試和、試運行和實際應用后,將很大程度上提高移動公交查詢系統的科學性和高效性,在為人們帶來便利的同時,也為系統的進一步推廣、創新創造了條件,這帶來的經濟回報將遠超過支出,并且最重要的一點是通過該系統的開發,可以使我們進一步理解軟件工程思想和軟件開發流程,為從事軟件
48、開發工作打下很好的基礎,從長遠利益來考慮,本課題的設計開發還是具有相當大的經濟可行性的。技術可行性本系統使用Android技術進行開發,發展到現在,Android已經算是一個較成熟的平臺了,現在有越來越多的企業及技術人員選擇它作為開發平臺。因此,在技術上.NET是完全可以勝任這個平臺的開發。Android 開發平臺是由谷歌與開放手機聯盟合作開發的一個開放、自由的移動終端平臺,它由操作系統、中間件、應用軟件三部分組成。該平臺備有完善的程序開發環境,包括模擬器、除錯工具、程序執行所耗用存儲器、性能評介等功能。操作可行性本系統用戶只要有一臺Android手機,就可以使用了,系統是由的操作都
49、是用戶熟悉的選擇框或者按鈕等等。所有的操作通過手機就可以完成,用戶不需培訓,只要稍微提示一下即可。因此,在操作使用上,本系統簡單、方便,易于使用戶接受,因而是十分可行的。法律可行性由于本系統是在相關法律法規下實施完成的,所以不存在任何法律問題,在法律上是完全可行的。綜合考慮經濟、技術、操作和法律等方面的因素,該系統可以立即開始進行。3.3 系統主要功能分析3.3.1 本地播放模塊(1) 播放列表:系統具有默認播放列表,默認播放列表包含了所有掃描到的歌曲,默認列表不允許刪除。(2)自定義列表:用戶可以新建一個或多個自定義列表,可以往自定義列表里添加歌曲。(3)歌曲掃描:用戶可以掃描SD卡的一切歌
50、曲文件。(4)刪除歌曲:用戶可以刪除列表中的任何一首歌曲。(5)歌曲播放:用戶可以選擇一個本地歌曲播放,播放時可以選擇上一首、下一首、暫停,快進,重播 等操作;(6)播放模式:播放歌曲時,用戶可以選擇歌曲播放模式,例如順序播放、隨機播放或者單曲循環;(7)歌詞顯示:在上傳歌詞的情況下可同步顯示歌詞3.4 系統流程分析本系統完成一個音樂文件的播放流程功能,用戶可以選擇本地播放或在線播放,例如選擇本地播放后則會進入本地播放列表,包括默認列表和自定義列表,用戶選擇任何一個列表即可看到該列表中的所有歌曲,點擊一個歌曲即可播放,播放過程中可以選擇暫停、下一首、上一首,快進,重播操作。具體系統的流程圖3-
51、1所示。圖 3-1 系統播放流程圖4 系統設計4.1 系統設計目標在系統分析的基礎上,設計出能滿足預定目標的系統的過程。系統設計內容主要包括:確定設計方針和方法,將系統分解為若干子系統,確定各子系統的目標、功能及其相互關系,決定對子系統的管理體制和控制方式,對各子系統進行技術設計和評價,對全系統進行技術設計和評價等。本系統是設計目標是建立一個基于Android的音樂播放器軟件,基本可以的滿足人們對音樂文件的播放功能,系統具有上手簡單、操作方便快捷的特點。用戶界面漂亮、操作簡單,每個設計都具有人性化的特點,具有使用簡單,功能全面的特點,通過合理而先進的優化,保證了系統的可靠性與容錯性。系統的設計
52、主要考慮了用戶需求,大大為用戶著想,為用戶提供簡單完善實用的音樂播放器。 4.2 系統功能模塊設計本系統本地播放模塊和在線播放模塊,都是由幾個子模塊構成,其中本地播放模塊主要包括:默認列表、自定義列表、歌曲掃描、歌曲提取、歌曲播放、播放控制和播放模式等等。在線播放模塊包括音樂文件緩沖、顯示歌詞,文件播放等功能,模塊架構設計如圖4-1所示。圖 4-1 系統功能模塊圖4.3 數據庫設計本系統用到的數據庫為Android自帶的SQLite數據庫,系統采用三個數據表來記錄信息,分別是音樂播放表、本地列表信息和列表歌曲對應表。其中音樂播放表記錄的是音樂的播放記錄,例如一個音樂被播放了多少次還有最近一次的
53、播放時間。本地列表信息記錄自定義的列表名稱信息,而列表歌曲對應表則記錄自定義列表個歌曲的對應信息。表4-1至表4-3為數據庫設定設定。表4-1 music 音樂播放信息表 序 號列 名數據類型 主 鍵 說 明1_idint 是 2music_idint 音樂ID3clicksint 播放次數4latestVarchar 最后播放時間表4-2 LocalListInfo本地列表信息序 號列 名數據類型 主 鍵 說 明1Idint 是 2namenvarchar列表名稱3createtimenvarchar 創建時間 表4-3 LocalListDetailInfo列表-歌曲對應表序 號列 名數據
54、類型 主 鍵 說 明1Idint 是 2listidnvarchar列表ID3mediaidvarchar音樂ID4createtimenvarchar添加時間4.4 工程文件結構設計在程序開發階段,首先確定“即Android的音樂播放器系統”的工程名稱為MusicPlayerApp,根據程序模塊設計的內容,建立MusicPlayerApp項目, MusicPlayerApp項目,的文件結構如圖4-2所示。圖 4-2 工程結構圖為了使代碼文件結構更加清晰, MusicPlayerApp工程設置了多個命名空間,分別保存了用戶界面、數據適配器、常用類庫和實體多個包,源代碼的名稱以及說明如表4-3所
55、示。表4-3 系統代碼結構包名稱文件名說明com.music.mediaMainActivity.java主界面視圖com.music.mediaLocalListActivity.java本地播放列表視圖com.music.mediaMainLocalActivity.java本地歌曲界面視圖com.music.mediaMusicPlayerActivity.java本地歌曲播放界面視圖com.music.mediaMusicService.java音樂播放后臺服務com.music.mediaOnLineMediaPlayer.java在線播放界面視圖com.music.mediaRec
56、entlyActivity.java最近播放界面視圖com.music.mediaScanSdReceiver.java歌曲掃描接收器Android的資源文件保存在/res的子目錄中。其中、/res/anim目錄中保存的是產生動畫效果的XML文件,/res/drawable/目錄中保存的是圖像文件,/res/values目錄中保存的是用來自定義字符串和顏色的文件,/res/xml目錄中保存的是XML格式的數據文件。所有在程序開發階段可以被調用的資源都保存在這些目錄中,具體每個資源文件的用途可以參考表4-4。表4-4 資源文件名稱及用途資源目錄 文件名 說 明Drawablebtn_blue_s
57、elector.xml 按鈕資源文件btn_white_selector.xmllistview_item_selector.xmlsys_app_actshape.xmlsys_app_selector.xmlsys_apptop_corners.xmlLayoutlayout_main.xml主界面布局文件layout_mainlocal.xml本地列表布局文件layout_player.xml本地歌曲播放界面布局文件layout_recently.xml最近播放布局文件layout_scan.xml自定義掃描布局文件file_create.xml文件創建布局文件listview_item
58、_file.xml文件列表Listview文件menumain_menu.xml文件管理上下文菜單布局文件valuesstyles.xml樣式資源文件colors.xml顏色資源文件strings.xml字符串資源文件5 系統編碼實現與測試5.1 音樂播放Service實現Service是android 系統中的四大組件之一(Activity、Service、BroadcastReceiver、ContentProvider),它跟Activity的級別差不多,但不能自己運行只能后臺運行,并且可以和其他組件進行交互。service可以在很多場合的應用中使用,比如播放多媒體的時候用戶啟動了其他Activity這個時候程序要在后臺繼續播放,比如檢測SD卡上文件
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司組織垂釣活動方案
- 公司清明節策劃方案
- 公司每周活動策劃方案
- 公司端午節策劃活動方案
- 公司涉外年會活動方案
- 2025年職業素養與道德考試試卷及答案
- 2025年無線通信與網絡技術考試卷及答案
- 2025年體育營養與健康指導考生能力測試卷及答案
- 2025年生鮮電商管理師資格考試試卷及答案
- 2025年汽車工程與設計基礎知識考試試卷及答案
- 計算機技術前沿總結課件
- 輸電線路風偏計算基本方法
- 馬鞍山市潔源環保有限公司馬鞍山市一般工業固廢填埋場項目重新報批環境影響報告書
- 通信線路投標文件
- 集結號觀后感 集結號觀后感500字(最全)
- (完整版)全國各省份城市明細表
- 《“將軍飲馬”問題》說課稿
- GB/T 6109.20-2008漆包圓繞組線第20部分:200級聚酰胺酰亞胺復合聚酯或聚酯亞胺漆包銅圓線
- 食品營養與健康-18中國居民平衡膳食寶塔
- 《社會主義核心價值觀》優秀課件
- 初中生物會考模擬試題
評論
0/150
提交評論