【正文】
tertainment, which has made mobile phone the portable terminal for business and entertainment day by day. Being motivated by hardware, users’ needs on mobile phone software’s function goes increasingly high. Android system is updating to satisfy the needs. Therefore, the development of mobile multimedia technology has inevitably bee the hot spot. Android is the open source mobile system published by Google in 20xx. For the reason that its openness is superior to other closed mobile system, anyone can rewrite all functions in the mobile system as he or she like, which has made more and more people pay attention to this operating system. This design is a music player using Java as the basic programming language, which is based on Android operating system and above version, and can be operated by the standard database SQLite that offered by Android system. Though this design is not big, it contents Android’s most programming technology. Its favorable user interface can conduce to the realization of its basic function in music controlling (start, pause, switching between up and down music, lyrics synchronized display) and play mode controlling (single play, single cycle, random play and all cycle). Besides, it also realizes the function in song including search, add, delete and so on. Key words: Android。 本設(shè)計(jì)為一款基于 Android 操作系統(tǒng)及以上版本的音樂(lè)播放器 ,以 Java 作為基礎(chǔ)編程語(yǔ)言,采用 Android 系統(tǒng)提供的標(biāo)準(zhǔn)數(shù)據(jù)庫(kù) SQLite 進(jìn)行操作。 Android: Google 公司 于 20xx 年公布的開(kāi)放式源代碼手機(jī)系統(tǒng),它的開(kāi)放性 優(yōu)于其它封閉式的手機(jī)系統(tǒng),任何人都可能根據(jù)自己的喜好將手 機(jī)系統(tǒng)中的所有功能重新編寫(xiě)。在硬件的推動(dòng)下,用戶對(duì)手機(jī)軟件的功能需求也越來(lái)越高。 自 1983 年世界第一款商用手機(jī)發(fā)布到現(xiàn)在,只經(jīng)過(guò)了僅僅不到 30 年的時(shí)間,全球手機(jī)用戶已達(dá) 23 億之多。內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(畢業(yè)論文) I 內(nèi)蒙古科技大學(xué) 本科生畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(畢業(yè)論文) 題 目: 基于 Android系統(tǒng)的 MIDI音樂(lè) 播放器的設(shè)計(jì)與實(shí)現(xiàn) 內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(畢業(yè)論文) II 摘 要 隨著 3G 時(shí)代的來(lái)臨 , 3G、 Android、 iPhone、 Google、蘋(píng)果、手機(jī)軟件、移動(dòng)開(kāi)發(fā)等詞越來(lái)越充斥于耳。隨著 3G 網(wǎng)絡(luò)的大規(guī)模建設(shè)和智能手機(jī)的迅速普及,移動(dòng)互聯(lián)網(wǎng)時(shí)代已經(jīng)微笑著迎面而來(lái)。消費(fèi)者對(duì)手機(jī)產(chǎn)品在商務(wù)和娛樂(lè)方面的要求越來(lái)越高,讓手機(jī)日益成為便攜 式的商務(wù)或娛樂(lè)終端。 Android 系統(tǒng)也在不斷更新以滿足需求,因此手機(jī)多媒體技術(shù)的開(kāi)發(fā)也就不可避免稱為熱點(diǎn)。這使得越來(lái)越多的人關(guān)注這個(gè)操作系統(tǒng) 。 本設(shè)計(jì) 的實(shí)現(xiàn), 囊括了 Android 大部分編程技術(shù),用其 友好 的用戶界面,實(shí)現(xiàn)了對(duì)音樂(lè)控制的基本功能:播放、暫停、上 /下首切換、歌詞同步顯示和各種播放模式的控制(單曲、循環(huán)、隨機(jī)和順序播放),也實(shí)現(xiàn)了對(duì)歌曲列表的搜索、添加和刪除等功能。 Google。 Java。 其中媒體播放器也扮演著重要的角色,本 設(shè)計(jì) 的完成可以讓人們?cè)诿β档墓ぷ髦啵恍枰徊緼ndroid 手機(jī),盡情的欣賞音樂(lè),緩解壓力。 本項(xiàng)目是一款基于 Android 手機(jī)平臺(tái)的音樂(lè)播放器,使 Android 手機(jī)擁有個(gè)性的多媒體播放器,使手機(jī)顯得更生動(dòng)靈活化,與人們更為接近,讓手機(jī)主人隨時(shí)隨地處于音樂(lè)視頻的旋律之中。也使設(shè)計(jì)者更加熟練 Android 的技術(shù)和其它在市場(chǎng)上的特點(diǎn)。 目前中國(guó)擁有世界上最大的手機(jī)用戶群,再加上 3G的推出對(duì)整個(gè)行業(yè)的巨大推動(dòng)作用,全世界所有大中小型手機(jī)制造商幾乎都在招聘 Android 工程師。 Android 在中國(guó)的前景十分廣闊,首先是有成熟的消費(fèi)者 , Android 社區(qū)十分紅火,這些社區(qū)為 Android 在中國(guó)的普及做了很好的推廣作用。另一方面,由于國(guó)內(nèi)政策的限制,導(dǎo)致 Android 的部分功能(如 Android market)在國(guó)內(nèi)無(wú)法正常使用,目前常用的解決方法是使用 VPN 服務(wù)來(lái)訪問(wèn)。 Android 基于 Linux 平臺(tái),由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件 組成,號(hào)稱是首個(gè)為移動(dòng)終端打造的真正開(kāi)放和完整的移動(dòng)軟件。完全整合的全移動(dòng)功能性產(chǎn)品成為“開(kāi)放手機(jī)聯(lián)盟”的最終目標(biāo)。這個(gè)組織由 Google 領(lǐng)導(dǎo),包括移動(dòng)運(yùn)營(yíng)商、手持設(shè)備制造商、零部件制造商、軟件解決方案和平臺(tái)提供商以及市場(chǎng)營(yíng)銷公司。 市場(chǎng)上第一款支持 Android 的手機(jī)是由 HTC 制造并由 TMobile 供應(yīng)的 G1。隨著 G1 發(fā)行日的臨近, Android 團(tuán)隊(duì)發(fā)布了 SDK ,用于這個(gè)新平臺(tái)的應(yīng)用程序也浮出水面。 G1 問(wèn)世幾個(gè)月之后,隨后就發(fā)布了 Android Market,它使用戶可以瀏覽應(yīng)用程 序,并且可以將應(yīng)用程序直接下載到他們的手機(jī)上。 Android 操作系統(tǒng)是 Google 最具殺傷力的武器之一。與 Windows Mobile、Symbian 等廠商不同的是, Android 操作 系統(tǒng)免費(fèi) 向 開(kāi)發(fā)人員提供,這樣可節(jié)省近三成成本 ,得到了眾多廠商與開(kāi)發(fā)者的擁護(hù)。 Google 與 開(kāi)放手機(jī)聯(lián)盟合作開(kāi)發(fā)了 Android, Google 通過(guò)與運(yùn)營(yíng)商、設(shè)備制造商、開(kāi)發(fā)商和其他有關(guān)各方結(jié)成深層次的合作伙伴關(guān)系,希望通過(guò)建內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(畢業(yè)論文) 4 立標(biāo)準(zhǔn)化、開(kāi)放式的移動(dòng)電話軟件平臺(tái),在移動(dòng)產(chǎn)業(yè)內(nèi)形成一個(gè)開(kāi)放式的生態(tài)系統(tǒng)。 Android 上的應(yīng)用程序可以通過(guò)標(biāo)準(zhǔn) API 訪問(wèn)核心移動(dòng)設(shè)備功能。 ? 應(yīng)用程序是在平等的條件下創(chuàng)建的。 ? 應(yīng)用程序可以輕松地嵌 入網(wǎng)絡(luò)。 ? 應(yīng)用程序可以并行運(yùn)行。在后臺(tái)運(yùn)行時(shí),應(yīng)用程序可以生成通知以引起注意。 3G 人才全球緊缺,實(shí)用人才培養(yǎng)已迫在眉睫。但符合條件的 Android 工程師屈指可數(shù),在未來(lái)幾年內(nèi), Android 開(kāi)發(fā)工程師將成為 3G 行業(yè)炙手可熱的崗位之一??紤]到 Java 虛擬機(jī)的效率和資源占用, Google重新設(shè)計(jì)了 Android 的 Java, 以便能提高效率和減少資源占用,因而與 J2ME 等不同。 Android 程 序框架 介紹 本節(jié)將 介紹一下開(kāi)發(fā) Android 項(xiàng)目的項(xiàng)目目錄結(jié)構(gòu),如圖 所示 ,這是 MIDI 音樂(lè)播放器的項(xiàng)目目錄結(jié)構(gòu)。 內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(畢業(yè)論文) 5 ? 是在建立項(xiàng)目時(shí)自動(dòng)生成的,這個(gè)文件是只讀模式,不能更改, 是定義該項(xiàng)目所有資源的索引文件。 圖 音樂(lè)播放器目錄結(jié)構(gòu) 用戶界面 介紹 Android 平臺(tái)提供的控件是非常完美的,控件的使用與網(wǎng)頁(yè)的設(shè)計(jì)類似。設(shè)計(jì) Android 的界面有點(diǎn)像寫(xiě) HTML 代碼,要先給 Android 定框架,然后再往里面添加控件。在一個(gè) Android 應(yīng)用中,用戶 界面是由 View 和 ViewGroup 對(duì)象構(gòu)建的。開(kāi)發(fā)者可以對(duì) View和 ViewGroup進(jìn)行組合,來(lái)完成應(yīng)用程序界面設(shè)計(jì)。它是一個(gè)存儲(chǔ) 屏幕上特定的一個(gè)矩形布局和內(nèi)容屬性的數(shù)據(jù)結(jié)構(gòu)。 Widget 處理自己的測(cè)距和繪圖,所以可以快速地用它們?nèi)?gòu)建 UI。 2) ViewGroup ViewGroup 是一個(gè) 類的對(duì)象。作為一個(gè)基類,ViewGroup 為 Layout(布局)服務(wù), Layout 則是一組提供屏幕界面通用類型的完全實(shí)現(xiàn)子類,一個(gè) Activity 界面可以包含多個(gè) ViewGroup 和 View,,通過(guò)這樣的組合可以實(shí)現(xiàn)更復(fù)雜、更完美、更滿足開(kāi)發(fā)者需要的界面。 1) Activity 在 Android 中使用頻率最高,實(shí)質(zhì)就是一個(gè)可視化界面;一般一個(gè) Android 應(yīng)用由多個(gè) Activity 組成 ,多個(gè) Activity 組成 Activity 棧( stack),當(dāng)前活躍的 Activity 在棧頂Activity 上面是一個(gè) Window 對(duì)象, Window 之上通常是一個(gè)布局容器對(duì)象( LinearLayout等),在上面是我們所要展示的各個(gè)組件(如按鈕、文本框等) Activity 有自己的生命周期, 由 Android 系統(tǒng)來(lái)控制新建的 Activity 要在清單文件 中注冊(cè) 。到目前為止 可以使用 Intent 來(lái)啟動(dòng)一個(gè)程序組件, 還可 通過(guò)使用 startService()方法來(lái)發(fā)起 啟動(dòng)一個(gè)程序中的服務(wù) 。 內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(畢業(yè)論文) 7 本應(yīng)用 MIDI 播放器對(duì)歌曲的控制全都做在了 Service 里,后續(xù)會(huì)詳細(xì)說(shuō)明。 4) Content Provider 用來(lái)保存和檢索數(shù)據(jù)的,并且是應(yīng)用程序之間相互訪問(wèn)數(shù)據(jù)成為可能,他是跨應(yīng)用程序共享數(shù)據(jù)的唯一方法 Android 為常用的數(shù)據(jù)類型(如:視頻、音頻、圖片)提供了大量的 Content Provider, 它 們被放在 android. provider 下面 , 使用時(shí)要注意權(quán)限問(wèn)題 。也許這正是 Android 系統(tǒng)要采用 SQLite數(shù)據(jù)庫(kù)的原因之一 。 SQLite 數(shù)據(jù)庫(kù)不 像 其他的數(shù)據(jù)庫(kù)(如 Oracle),它沒(méi)有服務(wù)器進(jìn)程。該文件是跨平臺(tái)的,可以自由復(fù)制。 Android 也沒(méi)有重復(fù)發(fā)明 “ 輪子 ” ,而是直接是用了SQLite 數(shù)據(jù)庫(kù)。這意味著它的數(shù)據(jù)類型不具有表列屬性,而具有數(shù)據(jù)本身的屬性。如果該類型與關(guān)聯(lián) 的列不匹配,則 SQLite 會(huì)嘗試將該 值轉(zhuǎn)換成列類型。SQLite 支持 NULL、 INTEGER 、 REAL 、 TEXT 和 BLOB 等 數(shù)據(jù)類型。 SQLiteDatabase 代表一個(gè)數(shù)據(jù)庫(kù)對(duì)象,提供了操作數(shù)據(jù)庫(kù)的一些方法,另外還有一個(gè) SQLiteOpenHelper 工具類提供了更簡(jiǎn)潔的功能。 關(guān)于 這個(gè) SQLiteOpenHelper 類在 后續(xù)章節(jié)中 會(huì)詳細(xì)講到,它的出現(xiàn)能夠更好地管理和維護(hù)數(shù)據(jù)庫(kù) 。當(dāng) 1995 年 SUN 推出 Java 語(yǔ)言之后,全世界的目光都被這個(gè)神奇的語(yǔ)言所吸引。由于這些智能化家電的市場(chǎng)需求沒(méi)有預(yù)期 的高, Sun 放棄了該項(xiàng)計(jì)劃。 Java 編程語(yǔ)言的風(fēng)格十分接近 C、 C++語(yǔ)言。在 Java SE 版本中, Java 又引入了泛型編程( Generic Programming)、類型安全的枚舉、不定長(zhǎng) 度 參數(shù)和自動(dòng)裝 /拆箱等語(yǔ)言特性。它首先將源代碼編譯成二進(jìn)制字節(jié)碼 (byte code),然后依賴各種不同平臺(tái)上的虛擬機(jī)來(lái)解釋執(zhí)行字節(jié)碼,從而實(shí)現(xiàn)了 “ 一次編譯、到處執(zhí)行 ” 的跨平臺(tái)特性。但在 J2SE 發(fā)布后 , Java 的執(zhí)行速度有了大幅提升。 全球數(shù)以萬(wàn)計(jì)的 Java 開(kāi)發(fā)公司被要求所設(shè)計(jì)的 Java 軟件必須相互兼容。這與微軟公司所倡導(dǎo)的注重精英和封閉式的模式完全不同 。 Java 平 臺(tái)是基于 Java 語(yǔ)言的平臺(tái)。 Android Google 選擇用 Java 語(yǔ)言作為它十分流行的 Android 移動(dòng)操作系統(tǒng)的編程語(yǔ)言。 Android 程序編譯過(guò)程比普通 Java 程序要多經(jīng)過(guò)一個(gè)步驟,將 JVM 二進(jìn)制碼轉(zhuǎn)換成 Dalvik 二進(jìn)制碼。Android 支持使用 Java 作為編程語(yǔ)言來(lái)開(kāi)發(fā)應(yīng)用程序,而 Android 的 Java 開(kāi)發(fā)方面從接口到功能,都有層出不窮的變化。 內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(畢業(yè)論文) 10 第三章 系統(tǒng) 分析 可行性分析 操作可行性 隨著時(shí)代的發(fā)展, 3G 時(shí)代已經(jīng)來(lái)臨,人們對(duì)于手機(jī)的操作已經(jīng) 很熟練了 ,而對(duì)于Android 手機(jī),更是由于 簡(jiǎn)單的 操作,行云流水的觸摸 感覺(jué) ,已經(jīng)贏得了世人的青睞。 經(jīng)