【正文】
oller * tabCtrl = [[UITabBarController alloc]init]。下面是各個功能模塊的實現(xiàn)。 圖 音樂播放界面 23 圖 音樂音量設(shè)置界面 音樂信息功能模塊 1 所有音樂播放列表的顯示 2 音樂的選擇 運行效果圖如下 所示。 22 音樂播放功能模塊 1 實現(xiàn) mp3 音樂文件的播放 2 歌曲的切換 3 音樂的暫停,音樂的開 始 4 歌曲圖片的顯示 5 音量的調(diào)整 6 隨意拖動滾動條來播放音樂。 7.音樂播放系統(tǒng)設(shè)置的功能需求 本模塊實現(xiàn)的是音樂播放的模式設(shè)置以及改變系統(tǒng)的主題功能 21 第 4 章 在線音樂播放系統(tǒng)設(shè)計 系統(tǒng)設(shè)計階段主要的任務(wù)是系統(tǒng)各個模塊的具體設(shè)計與實現(xiàn) 在線音樂播放系統(tǒng)總體架構(gòu)設(shè)計 該系統(tǒng)七個模塊, 分別為音樂播放界面,本地音樂播放列表界面,在線搜索界面,在線下載界面,水果連連看游戲界面,音樂視頻播放界面 ,音樂播放設(shè)置界面。 4.在線音樂下載功能需求 該模塊實現(xiàn)的是將通過網(wǎng)絡(luò) API 搜索到的音樂下載到本地,并顯示下載列表。 2.音樂播放列表功能需求 該模塊實現(xiàn)的是音樂信息的管理,包括播放哪一個音樂, 本地音樂播放列表的顯示,所有的 音樂信息等等。本系統(tǒng)自帶的小游戲可以有效 的避免用戶等待,畫面絢麗的推箱子,可以有效緩解疲勞。用戶可以在音樂的信息界面看到所有的音樂文件。該音樂播放系統(tǒng),可以在聽歌的同時玩本地小游戲,給用戶極好的娛樂效果。 iOS 平臺上應(yīng)用軟件, App Store 的支付模式更為成熟而且有監(jiān)管,另外 iOS 的兼容性問題小,開發(fā)人員不用考慮太多的配置兼容問題 ,美觀大方的外形,更是吸引了大量的用戶。用戶對在聽音樂的同時還可以玩小游戲來更加的享受。 一臺已經(jīng)安裝有所有必備的軟件及相應(yīng)軟件設(shè)備的計算機;內(nèi)存要求大于或等于 2G。類的繼承關(guān)系圖 31 所示: 圖 31 ObjectiveC 類繼承圖 :開發(fā)環(huán)境為 xcode 。繼承使所有的類構(gòu)成一顆樹形的結(jié)構(gòu),在Objectivec 中使用類一般要繼承或間接繼承于基類: NSObject,因為NSObject 提供了大量的有用特性。面向?qū)ο笞岄_發(fā)者更容易開發(fā)應(yīng)用程序軟件,以及更加規(guī)范化。 17 (3)面向?qū)ο? 面向?qū)ο蟪绦驑?gòu)建在多種對象之上,基于 Cocoa 框架的程序可能使用NSMatrix 對象、 NSWindow 對象、 NSDirectonary 對象、 NSFont 對象以及許多其它對象。這意味著兩個對象對同樣的消息有著不同的響應(yīng),即多態(tài)性。 (2)多態(tài)性 在 Objectivec 中消息的調(diào)用看上去和標準 C 中的函數(shù)調(diào)用相似,但因為方法屬于一個對象,消息的行為與函數(shù)調(diào)用還是不同。確切的消息方法實現(xiàn)依賴于消息的接收者,不同的接收者可能有相同的方法名不同的方法實現(xiàn),只有在消息接收時才能確定 (動態(tài)類型 ),通過源代碼的類型定義并不能完全確 認接收者的類型。相對于其他面向?qū)ο笳Z言, ObjectiveC 更加容易學習。 16 第 3 章 在線音樂播放系統(tǒng)需求分析 根據(jù)第一章所定義的課題研究方向及目標,本章將對系統(tǒng)功能進行具體的需求分析,具體分析音樂播放娛樂系統(tǒng)所要實現(xiàn)的功能以及欲達到的效果。 眾所周知,在構(gòu)建中引進多重處理器可以提高速度, Xcode 能幫你實現(xiàn)這個明顯的結(jié)論。這非常適合數(shù)據(jù)集中的應(yīng)用程序,其通過訪問內(nèi)存中的數(shù)據(jù)運行速度更快,遠勝于磁盤訪問。其他的最優(yōu)化工具則支持反饋定向的最優(yōu)化,以及隱藏模塊分析。新的編譯器利用許多先進的最優(yōu)化技術(shù)幫你從現(xiàn)存編碼中獲得更多性能。 Xcode 將幫你快速找到最新的答案。 Xcode 整合的 Apple Reference Library 為所有的 Apple 開發(fā)者文件提供一個單獨的搜索和顯示界面,這些文件包括來自蘋果電腦公司網(wǎng)站的在線文件,以及存放在你電腦上的文件。 Mac OS X Core Data API 幫你的應(yīng)用程序創(chuàng)建數(shù)據(jù)結(jié)構(gòu)。 Xcode 4 的虛擬模型和設(shè)計功能讓你可以更輕松的開發(fā)和維護應(yīng)用程序。 14 不管你用 C、 C++、 ObjectiveC 或 Java 編寫程序,在 AppleScript 里編寫腳本,還是試圖從另一個奇妙的工具中轉(zhuǎn)移編碼,你會發(fā)現(xiàn) Xcode 編譯速度極快。 XCode Xcode 是開發(fā)人員建立 Mac OS X 應(yīng)用程序的最快捷方式,也是利用新的蘋果電腦公司技術(shù)的最簡單的途徑。它能夠支持 Windows/Linux/Unix 等等主流的操作系統(tǒng),同時能夠跟很多程序語言相結(jié)合,比如 Tcl、 C、 PHP、 Java 等,還有 ODBC 接口,同樣比起 Mysql、 PostgreSQL這兩款開源世界著名的數(shù)據(jù)庫管理系統(tǒng)來講,它的 處理速度比他們都快。 檢測當前網(wǎng)絡(luò)是否可用 和硬件設(shè)備狀態(tài)的能力。 提供動畫特效以及通過硬件進行渲染的能力。 提供視圖控制接口用以處理 Email 和短信。 為應(yīng)用程序提供內(nèi)嵌地圖的接口。 提供 ObjectC 的基礎(chǔ)類 (像 NSObject)、基本數(shù)據(jù)類型和操作系統(tǒng)服務(wù)等。 提供抽象的常用數(shù)據(jù)類型,如 Unicode、strings、 XML、 URL 等。 和 提供音頻錄制和回放的底層 API,同時也負責管理音頻硬件。 提供一個用戶界面,用于顯示存儲在地址薄中的聯(lián)系人詳情。 12 應(yīng)用程序框架 編寫應(yīng)用程序項目,都是從 Cocoa Touch 層開始的,具體來說是從 UIKit Framework 開始的。例如UIKit 框架,它為應(yīng)用程序提供了各種可視化組件,窗 口 (window),視圖 (view)和按鈕組件 (UIButton)。 在 Cocoa Touch 層中的很多技術(shù)都是基于 ObjectiveC 語言的。最上面一層是可觸摸層,這一層為應(yīng)用開發(fā)提供了各種有用的框架,并且大部分與用戶界面有關(guān),本質(zhì)上來說 它負責用戶在 iOS 設(shè)備上的觸摸交互操作。 媒體層,通過它可以在應(yīng)用程序中使用各種媒體文件,進行音頻與視頻的錄制,圖形的繪制,以及制作基礎(chǔ)的動畫效果。 iOS 系統(tǒng)內(nèi)置 SQLite 數(shù)據(jù)庫減小了開發(fā)人員的負擔,是系統(tǒng)的一部分。 11 開發(fā)人員也可以完全訪問核心服務(wù)層來方問 iOS 的一些服務(wù),包括數(shù)據(jù)庫連接, URL 學習等等,它主要包括以下這些組件: Collections, Address Book,Networking, File Access, SQLite, Core Location, Net Services, Threading,Preferences, URL Utilities 等。 核心操作系統(tǒng)層和核心服務(wù)層 位于 iOS 系統(tǒng)架構(gòu)最下面的一層是核心操作層,它包括內(nèi)存管理,文件管理,電源管理以及一些其他的操作系統(tǒng)業(yè)務(wù),它可以直接和硬件設(shè)備交互。不過 ObjC 擁護者認為既然 ObjC 運行時消耗較大, ObjC 本來就不應(yīng)應(yīng)用于 C++或 Java 常見的底層抽象 ios 系統(tǒng)框架 iOS 的系統(tǒng)架構(gòu)和其操作系統(tǒng)一樣,采用了分層的架構(gòu)。 由于 ObjC 使用動態(tài)運行時類型,而且所有的方法都是函數(shù)調(diào)用(有時甚至連系統(tǒng)調(diào)用( syscalls)也如此),很多常見的編譯時性能優(yōu)化方法都不能應(yīng)用于 ObjC(例如:內(nèi)聯(lián)函數(shù)、常數(shù)傳播、交互式優(yōu)化、純量取代與聚集等)。亦與 C++不同,但和 Java 相同, ObjectiveC 只容許對象繼承一個類別(不設(shè)多重繼承)。 雖然 ObjectiveC 是 C 的母集,但它 也不視 C 的基本型別為第一級的對象。取而代之的是程序設(shè)計師必須在其類別名稱加上前綴,時常引致沖突。不過令人欣慰的是在 Apple 發(fā)布的 XCode4 中已經(jīng)支持自動釋放,我不敢冒昧的說那是垃圾回收,因為兩者機制不同,在 xCode4 中的自動釋放,也就是ARC(Automatic Reference Counting)機制 ,是不需要用戶手動去 Release 一個對象,而是在編譯期間,編 譯器會自動幫你添加那些以前你經(jīng)常寫的 [NSObject release]。ObjectiveC 為避免此問題才不擁有這個功能。 ObjectiveC 的最初版本冰不支持垃圾回收。 ObjC 寫成的程序通常不會比其源代碼大很多。 Objectivec 簡介 ObjectiveC 是非?!皩嶋H”的于洋。歌的切換以及列表顯示,在聽歌的同時能夠娛樂。具有資源占用率小,運行效率高,操作簡潔,擴展能力強等特點。市場上大多數(shù)手機播放系統(tǒng),存在功能單一,下載時間長,畫面不流暢,用戶體驗不好,浪費很多資源和時間,另外,由于音樂播放系統(tǒng)發(fā)展短,很多系統(tǒng)都沒有規(guī)范化管理資源,資源分類混亂等 。 8 在各國開發(fā)者中有很好的學習氛圍,如 facebook 的 three 20 iOS開源代碼庫,都是良好的學習資源。 在中國極受歡迎。從全球的編程語言排行榜來看,雖然,ObjectiveC 只有蘋果公司一家使用,但是已經(jīng)排名第 4,可見 iOS 開發(fā)的普及性和受歡迎程度,另外,基于 C 語言,運行效率更高。不僅僅是商業(yè)模式的創(chuàng)新,更重要的是無法模仿,經(jīng)過長時間的運營, App Store 已經(jīng) 形成完備的支付模式,被大部分用戶接受。就目前而言,三大平臺 (Android、 Symbian、 BlackBerry)的市場占有率也在逐漸下降, iOS 呈現(xiàn)平穩(wěn)上升趨勢。有些產(chǎn)品華而不實,用戶體驗差。 7 課題開發(fā)背景 如今的移動應(yīng)用開發(fā)產(chǎn)業(yè)讓人眼花繚亂,主要的移動操作平臺有:iOS(iPhoneOS)、 Android、 Nokia Symbian、 BlackBerry、 Java ME、 Windows Phone、Flash/Flash Lite、 mobile web(WAP/XHTML/CSS/Javascript)。 第五章,具體介紹了系統(tǒng)各功能實現(xiàn)過程,如音樂播放界面的處理, 音樂信息的處理, 在線音樂搜索的處理,連連看游戲的處理等。 第三章,對音樂播放器的系統(tǒng)結(jié)構(gòu)設(shè)計、系統(tǒng)結(jié)構(gòu)功能、運行環(huán)境等概要分析設(shè)計階段做工了大體介紹即需求分析。 第一章,介紹了課題的開發(fā)背景、課題開發(fā)的現(xiàn)實意義、音樂播放器的概念涵義以及預(yù)期達到的目標。 本文依據(jù)設(shè)計實現(xiàn)出的以 SQLite 數(shù)據(jù)庫為例的手機音樂播放器,做了全面系統(tǒng)的介紹。由于移動應(yīng)用具有簡單性,隨時隨地性等諸多特點,因此它有著傳統(tǒng)計算機所無法比擬的優(yōu)點。s music lifestyle! The music will be the focus of the essential means of raising the level of one. This paper describes the iOS platform, as well as the development of the entertainment system based on the platform of music playback status quo, and described in detail. This system is a music player and mobile games based on the iPhone platform, local playback, local game as a whole, support for mp3 and other mainstream audio. Small rate of resource consumption, high operating 3 efficiency, simple operation, and expansion capability. The playback screen and smooth, with the effect on the sound and Figure hearing and visual enjoyment. To use the music player, you may feel relaxed and able to play games while listening to music, people in infinite joy, which uses lowcoupling in the SQLite database, mon iPhonecontrols, modules, and modules, high together, using a modular