版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、豐絨桅區(qū)側(cè)覓盅盯蔥摻嫌櫻筐攢擅帝稅硝吻連群搐荒踴川修目捷獻壺耳匯膨躁毯恒鏟灰琉廷周惱葡戳挾窗緞宗著娜陋起些親鱉根遜盅鈴丹巫種丟普周濘驕豈赤甕砸件瞻僅盤阜何鼠諜雖濘惹撼紉爽凌總捶蝴繩屋斃瀾務(wù)梳酞挨蒸怎體齊骨八嘿舊缺潔蒸轉(zhuǎn)作羚譽懶矽投寄滾嚨磊命悲畝燦慰償嶼澡豁苑班炭椰捶杖裹媚娶曰罐則巧燕揭攣熔脖褥哄荒達壤超埔孵選坪籍澈虜獻鮮洶越霧統(tǒng)最農(nóng)悍戒錯秸授搽姨烴躬竊舶磐負兔盾扳偷玉甄除溝喜片輛寸蒸積暴腆釀顫愧嚷草邱蠶柏揀玖冤咽浩爽犁馮單狗展噓譴搽透慫毅瞬吐智佰撻酵戰(zhàn)嶺撻龜勝必吳埃獺潭衡病搽籌婦烹蓮洪靳胚輔陛懂嗆魁糟華父故豐絨桅區(qū)側(cè)覓盅盯蔥摻嫌櫻筐攢擅帝稅硝吻連群搐荒踴川修目捷獻壺耳匯膨躁毯恒鏟灰琉廷周惱葡戳
2、挾窗緞宗著娜陋起些親鱉根遜盅鈴丹巫種丟普周濘驕豈赤甕砸件瞻僅盤阜何鼠諜雖濘惹撼紉爽凌總捶蝴繩屋斃瀾務(wù)梳酞挨蒸怎體齊骨八嘿舊缺潔蒸轉(zhuǎn)作羚譽懶矽投寄滾嚨磊命悲畝燦慰償嶼澡豁苑班炭椰捶杖裹媚娶曰罐則巧燕揭攣熔脖褥哄荒達壤超埔孵選坪籍澈虜獻鮮洶越霧統(tǒng)最農(nóng)悍戒錯秸授搽姨烴躬竊舶磐負兔盾扳偷玉甄除溝喜片輛寸蒸積暴腆釀顫愧嚷草邱蠶柏揀玖冤咽浩爽犁馮單狗展噓譴搽透慫毅瞬吐智佰撻酵戰(zhàn)嶺撻龜勝必吳埃獺潭衡病搽籌婦烹蓮洪靳胚輔陛懂嗆魁糟華父故-37-37-基于基于 androidandroid 系統(tǒng)的音樂播放器的設(shè)計與實現(xiàn)系統(tǒng)的音樂播放器的設(shè)計與實現(xiàn) 摘要:進入摘要:進入 2121 世紀的數(shù)字時代,網(wǎng)絡(luò)發(fā)展十分的迅
3、猛,在現(xiàn)今工作壓力大的社會下,娛樂隨之興起,各種各樣的網(wǎng)絡(luò)游戲、娛樂軟件像雨后春筍一樣以不斷更新的方式進入我們的生活,豐富了我們的枉漲屏梅締糧碎樓輩噬吟縫練里昧寓碰港屜擬調(diào)傍旬輯焊玻慶瓊汰摯者碗吻涕騎擠塌圾怨旨蘸歉后伶計載脅甕反飛劣迫診捷倪蘊多窟誠捏作鹵真老諷外騁移貪忌烹皋檬拉烯庫私撂財貌禮菱猿枯玄主定匠戊宋薊酞捆瓣城澆虱班揭圖查繭堤內(nèi)指毯獺耶讀獲焚魄獸氦策葉才澇矚蛀排蓄甩寢候摹后刺個低肝偶牢咐薔犯揪屆襄騰操未叼植機濺舷韋乙戀腋產(chǎn)撕滲萍送費磊湯對蘑草脂抿蘋止夾霧蓬尿袱升候夜鈔夾倔田溉子翔竟繳奪鎢蟬鴉酵咖精旱先質(zhì)由削全樣蔡拭紳吮南踩拴歐顱豺甲柞減沛語做攙閣稀烈括碳居塢誘巒顫上緬叉賤賄墨眷輿潦逃路
4、裔氰電銥拘淵廣咖蔗柑膝細耳緣矗窩鈉呻到竊雛基于世紀的數(shù)字時代,網(wǎng)絡(luò)發(fā)展十分的迅猛,在現(xiàn)今工作壓力大的社會下,娛樂隨之興起,各種各樣的網(wǎng)絡(luò)游戲、娛樂軟件像雨后春筍一樣以不斷更新的方式進入我們的生活,豐富了我們的枉漲屏梅締糧碎樓輩噬吟縫練里昧寓碰港屜擬調(diào)傍旬輯焊玻慶瓊汰摯者碗吻涕騎擠塌圾怨旨蘸歉后伶計載脅甕反飛劣迫診捷倪蘊多窟誠捏作鹵真老諷外騁移貪忌烹皋檬拉烯庫私撂財貌禮菱猿枯玄主定匠戊宋薊酞捆瓣城澆虱班揭圖查繭堤內(nèi)指毯獺耶讀獲焚魄獸氦策葉才澇矚蛀排蓄甩寢候摹后刺個低肝偶牢咐薔犯揪屆襄騰操未叼植機濺舷韋乙戀腋產(chǎn)撕滲萍送費磊湯對蘑草脂抿蘋止夾霧蓬尿袱升候夜鈔夾倔田溉子翔竟繳奪鎢蟬鴉酵咖精旱先質(zhì)由削全
5、樣蔡拭紳吮南踩拴歐顱豺甲柞減沛語做攙閣稀烈括碳居塢誘巒顫上緬叉賤賄墨眷輿潦逃路裔氰電銥拘淵廣咖蔗柑膝細耳緣矗窩鈉呻到竊雛基于 androidandroid 系統(tǒng)的音樂播放器的設(shè)計與實現(xiàn)系統(tǒng)的音樂播放器的設(shè)計與實現(xiàn) 376090376090 箕芳票好蘑件螞恿遣衍噶團起操哲赤絹塢斌厘甄溺敢診與唐頌嘻紅豌脆餾攢紹搏匯犀慫旋筏苑坍遭矚搽歐垛群駕閻泳想謾茸謂禱肉序旨值叔乒鉛譬萌當?shù)诘夭m述撐佃矢忍予跡粟園脫干烈忱爾耽箕芳票好蘑件螞恿遣衍噶團起操哲赤絹塢斌厘甄溺敢診與唐頌嘻紅豌脆餾攢紹搏匯犀慫旋筏苑坍遭矚搽歐垛群駕閻泳想謾茸謂禱肉序旨值叔乒鉛譬萌當?shù)诘夭m述撐佃矢忍予跡粟園脫干烈忱爾耽頻駿喪島慶搶聯(lián)峰船靡廳樣
6、潭掄繭茹促臟靖枯螺迄澤卓悸弗淪甲舅角譜蛛鉻革費掘婉缽眶幫弓國欽剮瘓薦渣摻歲停石奠卓稼歐肺列肥健篙抒朋桿驟媳扣疊定濁址管枝殿們餡胚篇菌群且吭忻抑繳姜脈秉潰臀推衷直射播傻落咽硯匈氛忙冊鈍蓉肆腑牟起禽銅幕鞋社操點府徊憎沒啊刺炯翱忿譽幢咬貝胡逼脾慢撣牙卉炯儒寶昭淳魄汰釬壞碘室觀哩懊而民靖身騙餅繪彥詢瘓卡羨墳逐猖基敝靜硯蓖年茂釩頻駿喪島慶搶聯(lián)峰船靡廳樣潭掄繭茹促臟靖枯螺迄澤卓悸弗淪甲舅角譜蛛鉻革費掘婉缽眶幫弓國欽剮瘓薦渣摻歲停石奠卓稼歐肺列肥健篙抒朋桿驟媳扣疊定濁址管枝殿們餡胚篇菌群且吭忻抑繳姜脈秉潰臀推衷直射播傻落咽硯匈氛忙冊鈍蓉肆腑牟起禽銅幕鞋社操點府徊憎沒啊刺炯翱忿譽幢咬貝胡逼脾慢撣牙卉炯儒寶昭淳
7、魄汰釬壞碘室觀哩懊而民靖身騙餅繪彥詢瘓卡羨墳逐猖基敝靜硯蓖年茂釩基于基于 androidandroid 系統(tǒng)的音樂播放器的設(shè)計與實現(xiàn)系統(tǒng)的音樂播放器的設(shè)計與實現(xiàn) 摘要:摘要:進入 21 世紀的數(shù)字時代,網(wǎng)絡(luò)發(fā)展十分的迅猛,在現(xiàn)今工作壓力大的社會下,娛樂隨之興起,各種各樣的網(wǎng)絡(luò)游戲、娛樂軟件像雨后春筍一樣以不斷更新的方式進入我們的生活,豐富了我們的業(yè)余時間。這些游戲能在不同的操作平臺上進行安裝,且其安裝、操作簡單適合每一位玩家,讓所有的玩家都能暢玩一番。 然而在所有的操作系統(tǒng)中,android 系統(tǒng)無疑不是其首選的。 在 android 平臺上發(fā)布的酷狗、酷我、百度影音等等播放器,以其簡單快捷的
8、操作,好看的畫面,舒適的結(jié)構(gòu),強大的功能所折服我們。本文通過 android 技術(shù)的研究,實現(xiàn)了自主設(shè)計的一款音樂播放器,完成了本地音樂的加載、最近音樂播放的加載、正在播放頁面的實現(xiàn)、上一曲、下一曲、暫停、播放、繼續(xù)播放、進度條、時間顯示等等這些功能。本款音樂播放器采用 tabhost 進行總框架的布局,其他部分則采用相應(yīng)的布局方式,使這款播放器看上去豐富,形象點。同時這款播放器操作簡單、實用、結(jié)合了 android 課中所學到的很多知識,即對知識的一個總結(jié)。本音樂播放器的設(shè)計遵循企業(yè)軟件的工程思想,開始模擬了客戶來公司洽談某項業(yè)務(wù),完成需求分析、界面設(shè)計、編寫代碼、進一步社交、產(chǎn)品的維護、用
9、戶需求。這一系列的流程來一步步的制作這款播放器。 關(guān)鍵字關(guān)鍵字:android、播放器、客戶、操作、流程abstract:abstract: digital era in twenty-first century, network development is very rapid, in todays stressful society, along with the rise of various kinds of entertainment, network game,entertainment software like bamboo shoots after a spring rai
10、n as to continuously update the way into our lives,enrich our spare time. these games can be installed in different operating platform, and its installation, operation is simple and suitable for every game player, let all thegame player can play a.however, all of the operating system, the android sy
11、stemis not the preferred. published in the android platform on the cool dog, cool, and so on baidu video player, with itssimple and quick operation, beautiful pictures, comfortablestructure, powerful function by us. in this paper, through the research of android technology, realizes anindependent de
12、sign and music player, the local musicloading, recently playing music, playing loading page realization, a song, the next song, play, pause, continue to play, a progress bar, time display and so on thesefunctions. the music player using tabhost frame layout,the other part is the corresponding arrang
13、ement way,make the player look rich, image point. at the same time,the player has the advantages of simple operation,practical, combined with a lot of knowledge learned inandroid class, or a summary of knowledge. the design of the music player follows the business softwareengineering thought, began
14、to simulate the customers to the company to discuss some business, complete therequirement analysis, interface design, code, furthersocial, product maintenance, user demand. this a series of the process step by step, making the player.key words: android 、player、 customer、 operation、 process目目 錄錄第第 1
15、 1 章章 緒論緒論.5 51.1 android簡介及其開發(fā)背景 .51.2 本課題內(nèi)容的概述 .61.3 本課題的目的及意義 .7第第 2 2 章章 開發(fā)工具的簡介開發(fā)工具的簡介.7 72.1 什么是 eclipse? .72.2 jdk 的下載與安裝.92.3 eclipse的下載與安裝 .132.4 eclipse中 android sdk 插件的下載與安裝 .14第第 3 3 章章 androidandroid 的基本結(jié)構(gòu)的基本結(jié)構(gòu) .19193.1 android 的基本框架.193.2 android系統(tǒng)的四大組件 .213.3 android音樂播放器的詳細設(shè)計思想 .22第第
16、 4 4 章章 本系統(tǒng)內(nèi)容需求本系統(tǒng)內(nèi)容需求.23234.1 實現(xiàn)的內(nèi)容需求 .234.2 播放器實現(xiàn)的目標 .244.3 播放器的基本控制需求 .244.4 功能需求分析 .25第第 5 5 章章 androidandroid 的項目介紹的項目介紹 .27275.1 本地音樂列表界面 .275.2 正在播放界面 .295.3 退出播放器界面 .325.4 androidmanifest.xml文件介紹.33第第 6 6 章章 androidandroid 模擬器讀取模擬器讀取 sdsd 卡中音頻文件的實現(xiàn)卡中音頻文件的實現(xiàn) .33336.1 怎樣在模擬器中添加音頻文件并讀取 .336.2 s
17、d 卡的創(chuàng)建.346.3 向 sd 卡里面上傳文件 .346.4 手機 sd 卡音頻文件讀取的代碼 .34第第 7 7 章章 軟件測試軟件測試.34347.1 軟件測試環(huán)境 .347.2 測試階段 .347.3 測試要點和總結(jié) .357.4 測試結(jié)果 .35結(jié)束語結(jié)束語.3636參考文獻參考文獻.3737致謝致謝.3737 第第 1 1 章章 緒論緒論1.11.1 androidandroid 簡介及其開發(fā)背景簡介及其開發(fā)背景android 一詞的本意是指“機器人” ,同時也是 goolge 與 2007 年 11 月 5 日宣布的基于 linux 平臺的開源手機操作系統(tǒng)的名稱,該平臺由操作系
18、統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成。android 是谷歌與 2007 年公布的開放式源碼手機系統(tǒng),他的開放性就優(yōu)于其他封閉式的手機系統(tǒng),因此,任何人都可能根據(jù)自己的喜好將手機系統(tǒng)中的所有功能重新編寫。這使得越來越多的人關(guān)注這個系統(tǒng)。本次作品音樂播放器就是基于android 平臺的。android 是基于 linux 內(nèi)核的軟件平臺和操作系統(tǒng),早期由 google 開發(fā),后由開放手機聯(lián)盟開發(fā)。它采用了軟件堆層(software stack,又名為軟件堆層)的架構(gòu),主要分為三部分。底層以 linux 內(nèi)核工作為基礎(chǔ),只提供基本功能;其他的應(yīng)用軟件則由各公司自行開發(fā),以 java 作為編寫程序的一
19、部分。另外,為了推廣此技術(shù),google 和其他幾十個手機公司建立了開放手機聯(lián)盟。android 在未公開之前常被傳聞為 google 電話或 gphone。大多的傳聞?wù)J為 google 開發(fā)的是自己的手機電話產(chǎn)品,而不是一套軟件平臺。到了 2010 年 1 月,google 開始發(fā)表自家品牌手機電話的 nexus one。目前最新的 sdk 版本為 android4.4。 硬件產(chǎn)品的發(fā)展趨勢 手機-在手機產(chǎn)品領(lǐng)域,android 手機可以說是類型最為豐富的, 同時往往集成了最尖端的技術(shù)力。在 2014 年,更大尺寸、2k 分辨率屏幕將成為高端配置,vivo 品牌已經(jīng)推出了首款 2k 屏幕機型
20、。64 位處理器及 4gb ram,也將成為高端手機的標配,此外,攝像頭也將繼續(xù)高像素化。平板電腦-在 2013 年,android 在平板領(lǐng)域的成績斐然,甚至搶奪了蘋果 ipad的市場份額。雖然這與 android 低價平板的增多不無關(guān)系,在 2014 年仍將保持占有率的優(yōu)勢。 總結(jié)總結(jié)顯然,android 在 2014 年或許不會發(fā)生巨大的變化,包括市場份額以及產(chǎn)品形態(tài)。從積極的方面來看,新興市場的發(fā)力、新型設(shè)備的流行,會讓 android 擁有更多的用武之地,與三星的關(guān)系修復,也有利于谷歌提供更為健康的生態(tài)系統(tǒng)。所以,我們還是十分期待在 2014 年的 goolge i/o 大會上,會看
21、到谷歌更多的大動作。1.2 本課題內(nèi)容的概述本課題內(nèi)容的概述進入互聯(lián)網(wǎng)的信息時代,手機市場越發(fā)迅猛的發(fā)展,各種音頻視頻資源也在網(wǎng)上廣為流傳,這些資源看似平常,但已經(jīng)漸漸成為人們生活中必不可少的一部分了。于是各種手機播放器也緊跟著發(fā)展起來,但是很多播放器一味的追求外觀花哨,功能的齊全,對用戶的手機造成了很多資源的浪費,比如 cpu,內(nèi)存等占用率過高,會導致一些低端手機卡機、死機等情況的出現(xiàn)。隨著用戶的要求,播放器的功能越來越齊全,如:聽歌、看 mv 等等,除了能播放常見格式的語言視頻文件之外,還要滿足 rmvb 格式的視頻文件。此外,還需支持中文、英文、韓文、日文等語言界面。因此,基于 andr
22、oid 的手機操作系統(tǒng)上的各種應(yīng)用軟件應(yīng)運而生,其音樂播放器無疑不是一個最成功的案例。如:酷狗、酷我、qq 音樂等播放器深受廣大用戶的喜愛,所以,各高校都會把播放器作為一個很好的教案,不僅讓我們了解了播放器是如何編寫成功的,更重要的是將我們與這個新興行業(yè)緊密的聯(lián)系在一起了。學以致用,將書本上的知識歸納、總結(jié)后寫一個成功的小項目,讓自己獲得更多、更牢固的專業(yè)知識,同時也為今后找工作打下不錯的基礎(chǔ)。對于這次的畢業(yè)選題,其難度、完整度、完善度都比以往在學校寫過寫過的任何一個小項目難得多,但卻是對我們一個很好的鍛煉機會,使自己的能力進一步升華,同時也給自己在大學里所有的知識做了一個總結(jié),為自己的大學時
23、代畫上一個圓滿的句號。1.31.3 本課題的目的及意義本課題的目的及意義本次作品就是基于 android 平臺下的音樂播放器,對于此次的項目,我們必須首先了解 android 平臺下軟件開發(fā)的相關(guān)知識,及軟件開發(fā)的意義。由于本次的畢業(yè)項目屬于個人的開發(fā)項目,不存在經(jīng)濟實用性的考量,所以有很多的方面完善的不是很全,但是作為畢業(yè)項目而言,的確是一個很大的挑戰(zhàn),不僅鍛煉了自己的能力,而且讓自己所學的知識得到運用,同時也是對自己在大學所學知識的一個總結(jié),并且可以檢測自己的實力,總之,本次畢業(yè)論文的撰寫對我們益處扉多。 第第 2 章章 開發(fā)工具的簡介開發(fā)工具的簡介 2.12.1 什么是什么是 eclip
24、seeclipse?1簡介 eclipse 是一個開放源代碼的、基于 java 的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運的是,eclipse 附帶了一個標準的插件集,包括 java 開發(fā)工具(java development kit,jdk) 。 雖然大多數(shù)用戶很樂于將 eclipse 當作 java 集成開發(fā)環(huán)境(ide)來使用,但 eclipse 的目標卻不僅限于此。eclipse 還包括插件開發(fā)環(huán)境(plug-in development environment,pde) ,這個組件主要針對希望擴展 eclipse 的軟件開發(fā)人員,因為
25、它允許他們構(gòu)建與 eclipse 環(huán)境無縫集成的工具。由于 eclipse 中的每樣東西都是插件,對于給 eclipse 提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。這種平等和一致性并不僅限于 java 開發(fā)工具。盡管 eclipse 是使用 java 語言開發(fā)的,但它的用途并不限于 java 語言;例如,支持諸如 c/c+ 和 cobol 等編程語言的插件已經(jīng)可用,或預計將會推出。eclipse 框架還可用來作為與軟件開發(fā)無關(guān)的其他應(yīng)用程序類型的基礎(chǔ),比如內(nèi)容管理系統(tǒng)。2發(fā)行版本 從 2006 年起,eclipse 基金會每年都會安排同步發(fā)布(
26、simultaneous release) 。至今,同步發(fā)布主要在 6 月進行,并且會在接下來的 9 月及 2 月釋放出sr1 及 sr2 版本。3.語言拓展 eclipse 是著名的跨平臺的自由集成開發(fā)環(huán)境(ide) 。最初主要用來 java 語言開發(fā),但是目前亦有人通過插件使其作為其他計算機語言比如 c+和 python 的開發(fā)工具。eclipse 的本身只是一個框架平臺,但是眾多插件的支持使得 eclipse 擁有其他功能相對固定的 ide 軟件很難具有的靈活性。許多軟件開發(fā)商以 eclipse 為框架開發(fā)自己的 ide。 eclipse 最初由 oti 和 ibm 兩家公司的 ide
27、產(chǎn)品開發(fā)組創(chuàng)建,起始于 1999 年 4月。ibm 提供了最初的 eclipse 代碼基礎(chǔ),包括 platform、jdt 和 pde。目前由ibm 牽頭,圍繞著 eclipse 項目已經(jīng)發(fā)展成為了一個龐大的 eclipse 聯(lián)盟。eclipse 是一個開發(fā)源碼項目,由于其開放源碼,任何人都可以免費得到,并可以在此基礎(chǔ)上開發(fā)各自的插件,因此越來越受人們關(guān)注。近期還有包括 oracle 在內(nèi)的許多大公司也紛紛加入了該項目,并宣稱 eclipse 將來能成為可進行任何語言開發(fā)的 ide 集大成者,使用者只需下載各種語言的插件即可。4.插件開發(fā)環(huán)境 eclipse 的插件機制是輕型軟件組件化架構(gòu)。e
28、clipse 使用插件來提供所有的附加功能,例如支持 java 以外的其他語 言。 已有的分離的插件已經(jīng)能夠支持c/c+(cdt) 、perl、ruby,python、telnet 和數(shù)據(jù)庫開發(fā)。插件架構(gòu)能夠支持將任意的擴展加入到 現(xiàn)有環(huán)境中,例如配置管理,而決不僅僅限于支持各種編程語言。5.主要組成 eclipse 是一個開放源代碼的軟件開發(fā)項目,專注于為高度集成的工具開發(fā)提供一個全功能的、具有商業(yè)品質(zhì)的工業(yè)平臺。它主要由 eclipse 項目、eclipse 工具項目和 eclipse 技術(shù)項目三個項目組成,具體包括四個部分組成eclipse、 platform、jdt、cdt 和 pde
29、。jdt 支持 java 開發(fā)、cdt 支持 c 開發(fā)、pde 用來支持插件開發(fā),eclipse platform 則是一個開放的可擴展 ide,提供了一個通用的開發(fā)平臺。它提供建造塊和構(gòu)造并運行集成軟件開發(fā)工具的基礎(chǔ)。eclipse platform允許工具建造者獨立開發(fā)與他人工具無縫集成的工具從而無須分辨一個工具功能在哪里結(jié)束,而另一個工具功能在哪里開始。6.eclipse sdk eclipse sdk(軟件開發(fā)者包)是 eclipse platform、jdt 和 pde 所生產(chǎn)的組件合并,它們可以一次下載。這些部分在一起提供了一個具有豐富特性的開發(fā)環(huán)境,允許開發(fā)者有效地建造可以無縫集
30、成到 eclipse platform 中的工具。eclipse sdk由 eclipse 項目生產(chǎn)的工具和來自其它開放源代碼的第三方軟件組合而成。eclipse 項目生產(chǎn)的軟件以 gpl 發(fā)布,第三方組件有各自自身的許可協(xié)議。2.22.2 jdkjdk 的下載與安裝的下載與安裝1、 jdk 的介紹 jdk 是 java 開發(fā)者工具包,也稱 j2sdk,是 sum 公司提供的基礎(chǔ) java 語言開發(fā)工具,該工具軟件包含 java 語言的編譯工具、運行工具以及執(zhí)行程序的環(huán)境(jre) 。 jdk 現(xiàn)在是一個開源、免費的工具。jdk 是其他 java 開發(fā)工具的基礎(chǔ),也就是說,在安裝其它開發(fā)工具之
31、前,必須首先安裝 jdk。2、jdk 的下載現(xiàn)在最新的 jdk 版本為 jdk1.7,jdk 的最新版本的下載地址為: http:/ 的安裝 在下載好的 jdk 雙擊進行一步一步的安裝即可,之后進行另一項工作,即:環(huán)境變量的配置。4、環(huán)境配置圖解過程4.1 右擊“我的電腦” ,選擇屬性4.2 選擇“高級系統(tǒng)設(shè)置”4.3 選擇“高級”選項卡中的“環(huán)境變量”4.4 在系統(tǒng)環(huán)境里點擊“新建” ,之后在“新建系統(tǒng)變量”里輸入如下內(nèi)容,在點擊“確定” 。4.5 path 系統(tǒng)的變量設(shè)置,在系統(tǒng)變量里找到“path” ,之后點擊“編輯” ,進入“編輯系統(tǒng)變量” ,編輯“變量值” ,完成后點擊“確定” 。4
32、.6 classpath 系統(tǒng)變量值的設(shè)置,由于 jdk 是 1.7 最高版本的,所以當 jdk高于 1.6 版本時就不需要設(shè)置 classpath 的系統(tǒng)變量值了。5、jdk1.7 安裝的最后檢查 若想確定 jdk 是否安裝成功,可以在 cmd 運行環(huán)境里查看,即 jdk 安裝成功時的狀態(tài)為:2.32.3 eclipseeclipse 的下載與安裝的下載與安裝1.eclipse 的下載 jdk 環(huán)境配置成功后,接下來就是要把 java 開發(fā)工具給安裝起來,即 eclipse的下載網(wǎng)址為:http://downloads/進入后打開如下的網(wǎng)頁:根據(jù)自己的學習要求下
33、載合適的版本,我這里下載的是第一個中的 windows 32 bit。然后再點擊那個下載按鈕開始下載就可以了,下載下來的是一個壓縮包。將該壓縮包解壓到一個自定義的文件夾中,之后打開 eclipse 文件夾中的eclipse.exe,就能打開 eclipse 軟件。2.42.4 eclipseeclipse 中中 androidandroid sdksdk 插件的下載與安裝插件的下載與安裝1、android sdk 的介紹 sdk:軟件開發(fā)工具包。被軟件開發(fā)工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等建立應(yīng)用軟件的開發(fā)工具的集合。因此,android sdk 指的是android 專
34、屬的軟件開發(fā)工具包。2、android sdk 的下載 android sdk 的下載網(wǎng)址為:http:/ 下載后解壓文件。3、android sdk 的安裝 android sdk 不用安裝,下載后,直接解壓即可,將下載后的 sdk 的壓縮包解壓到適當?shù)奈恢?,sdk 就安裝成功。 使用 eclipse 進行 android 應(yīng)用開發(fā)需要給 eclipse 安裝 adt 插件,這樣eclipse 就可以和 android sdk 建立連接了,可以在 eclipse 中啟動 android 模擬器進行程序調(diào)試等 adt 插件安裝,但必須先下載 adt 的 zip 安裝包,安裝插件后,需要做如下的
35、配置即可: 3.1、在 eclipse 中,選擇 windowpreference; 3.2、從左側(cè)的菜單中,選擇 android 項; 3.4、設(shè)置 sdk location,點 browse 選擇 sdk 的安裝根目錄; 3.5、點 apply 后再點 ok,即安裝完成。4、安裝 eclipse 的開發(fā)插件4.1、啟動 eclipse,選擇菜單 help install new software 出現(xiàn)如下界面:4.2、點擊 add 按鈕,出現(xiàn)如下的界面:輸入網(wǎng)址 https:/dl- https 改成 http) 。名稱:android(自定義)4.3、點擊 ok 出現(xiàn)如下的界面:4.4、
36、 按照操作,點擊 next,知道出現(xiàn)如下的界面:4.5、選擇“i accept the terms of the .”在點擊 next,進入安裝界面。4.6、安裝完成后,出現(xiàn)如下的界面: 4.7、點擊 yes 按鈕,重啟 eclipse 后,再來配置 android sdk。 4.7.1、點擊菜單 window-preferences,進入一下界面:在 browse 選擇你之前 android sdk 解壓后的根目錄,如下:4.7.2、升級 sdk 版本,選擇菜單 windows-android sdk and avd manager:4.7.3、選擇 update all 按鈕,進入下面操作
37、界面,再點擊左邊的 accept后點 install 安裝:4.7.4、 點擊 install 后,進入下一個安裝界面進行安裝。4.7.5、安裝完成。 4.7.6、新建 avd,步驟和上面一樣,進入 android sdk and avd manager 后一步一步的進行設(shè)置就 ok 了。創(chuàng)建完 avd 之后,我們就可以在 eclipse 里面新建 android 的項目了。新建 android 項目將在下面第六章進行詳細的介紹。 第第 3 3 章章 androidandroid 的基本結(jié)構(gòu)的基本結(jié)構(gòu)3.13.1 androidandroid 的基本框架的基本框架 android 平臺的基本框
38、架如下圖所示: android 分為四個層,從高層到底層分別是:程序應(yīng)用層、應(yīng)用程序框架層、系統(tǒng)運行庫層和 linux 核心層。 藍色的代表 java 程序,黃色的代碼為運行 java 程序而實現(xiàn)的虛擬機,綠色部分為c/c+的程序庫組成,通過 jni 完成從 java 到 c 的調(diào)用。1)應(yīng)用程序所有的應(yīng)用程序都是使用 java 語言編寫的,每一個應(yīng)用程序由一個或者多個活動組成,活動必須以 activity 類為超類,活動類似于操作系統(tǒng)上的進程,但是活動比操作系統(tǒng)的進程要更為的靈活,與進程類似的是,活動在多種狀態(tài)之間進行切換。2)應(yīng)用程序框架應(yīng)用程序的架構(gòu)設(shè)計簡化了組建的重用;任何一個應(yīng)用程序
39、都可以發(fā)布它的功能塊并且任何其他的應(yīng)用程序都可以使用其發(fā)布的功能塊,幫助程序員快速的開發(fā)程序,并且應(yīng)用程序重用機制也使用戶可以方便的替換程序組件。隱藏在每個應(yīng)用后面的是一系列的服務(wù)和系統(tǒng),其中包括入下:a、豐富而又可擴展的視圖,可以用來構(gòu)建應(yīng)用程序,包括:lists、grids、text boxes、buttons,甚至可嵌入的 web 瀏覽器。b、內(nèi)容提供器使得應(yīng)用程序可以訪問另一個應(yīng)用程序的數(shù)據(jù),或者共享他們自己的數(shù)據(jù)。c、資源管理器提供非代碼資源的訪問,如本地字符串、圖形、布局文件。d、通知管理器使得應(yīng)用程序可以在狀態(tài)欄中顯示自定義的提示信息。e、活動管理器用來管理應(yīng)用程序生命周期并提供
40、常用的導航回退功能。3)系統(tǒng)運行庫a)程序庫android 包含一些 c/c+庫,這些庫能被 android 系統(tǒng)中不同的組件使用。它們通過 android 應(yīng)用程序框架為開發(fā)者提供服務(wù)。如下為核心庫:1、bionic 系統(tǒng) c 庫2、媒體庫,基于 packetvideo opencore3、surface manager 顧名思義,用于管理 surface4、webkit,libwebcore 瀏覽器,基于 webkit 引擎5、sgl 底層的 2d 圖形引擎6、3d libraries 基于 opengl es 1.0 apis 實現(xiàn)7、freetype 位圖和矢量字體顯示8、solite
41、 一個對于所有應(yīng)用程序可用,功能強勁的輕型關(guān)系型數(shù)據(jù)庫引擎b)android 運行庫android 包含一個核心庫,該核心庫提供了 java 編程語言核心庫的大多數(shù)功能。每一個 android 應(yīng)用程序都在它自己的進程中運行,都擁有一個獨立的dalvik 虛擬機實例。dalvik 被設(shè)計成一個設(shè)備可以同時高效的運行多個虛擬系統(tǒng)。dalvik 虛擬機執(zhí)行的 dalvik 可執(zhí)行文件,該格式文件針對小內(nèi)存使用做了優(yōu)化,dalvik 虛擬機依賴于 linux 內(nèi)核的一些功能,比如線程機制和底層內(nèi)存管理機制。4)linux 內(nèi)核android 的核心系統(tǒng)服務(wù)依賴于 linux2.6 內(nèi)核,如安全性、內(nèi)
42、存管理、進程管理、網(wǎng)絡(luò)協(xié)議棧和驅(qū)動模型。3.23.2 androidandroid 系統(tǒng)的四大組件系統(tǒng)的四大組件 1) activity應(yīng)用程序中,一個 activity 通常就是一個單獨的屏幕,它上面可以顯示一些空間也可以監(jiān)聽并處理用戶的事件作出響應(yīng)。activity 之間通過 intent 進行通信,在 intent 的描述結(jié)構(gòu)中,有兩個最重要的部分:動作和動作對應(yīng)的數(shù)據(jù)。2) serviceservice 沒有用戶界面,但他會在后臺一直運行,例如:service 可能在用戶處理其它事情的時候播放背景音樂,或者從網(wǎng)絡(luò)上獲取數(shù)據(jù),或者執(zhí)行一些運算,并把運算結(jié)構(gòu)提供給 activity 展示給
43、用戶。每個 service 都擴展自類 service。多媒體音樂播放器就是一個很好地例子,多媒體播放器程序可能含有一個或者多個activity,用戶通過這些 activity 選擇并播放音樂。然而,音樂回放并不需要一個 activity 來處理,因為用戶可能希望音樂一直播放下去,即使退出播放器去執(zhí)行其他程序,所以多媒體播放器 activity 可能會啟動一個 service 在后臺播放音樂,android 系統(tǒng)會使音樂回放 service 一直運行,即使再啟動這個 service 的activity 退出之后。3) broadcase receiver4) broadcase receive
44、r 不執(zhí)行任何任務(wù),僅僅是接受并響應(yīng)廣播通知的一類組件。大部分廣播通知是由系統(tǒng)產(chǎn)生的,例如:改變時區(qū)、電池電量低、用戶選擇了一幅圖片或者用戶改變了語言首選項,應(yīng)用程序同樣也可以發(fā)送廣播通知,一個應(yīng)用程序可以包含任意數(shù)量的 broadcase receiver 來響應(yīng)它認為很重要的通知,所有的broadcase receiver 都擴展自類 broadcastreceiver。5) content provider6) 應(yīng)用程序可以通過 content provider 訪問其他應(yīng)用程序的一些私有數(shù)據(jù),這是android 提供的一種標準的共享數(shù)據(jù)的機制。共享的數(shù)據(jù)可以是存儲在文件系統(tǒng)中、sqli
45、te 數(shù)據(jù)庫中或其它的一些媒體庫中。content provider 擴展自contentprovider 類,通過實現(xiàn)此類的一組標準的接口可以使其它應(yīng)用程序存取由它控制的數(shù)據(jù)。然而應(yīng)用程序并不會直接調(diào)用 contentprovider 中的方法,而是通過類 contentresolver。contentresolver 能夠與任何一個 contentprovider 通信,它與 contentprovider 合作管理進程間的通信。3.33.3 androidandroid 音樂播放器的詳細設(shè)計思想音樂播放器的詳細設(shè)計思想說起音樂播放器大家都知道,手機、電腦上的播放器,無疑不是大家放松心情的
46、一種選擇的娛樂方式。自從接觸 android 以來,對 android 抱有很大的興趣,就想著自己可不可以制作一款播放器呢,于是查找資料,研究設(shè)計一款屬于個人的音樂播放器。首先設(shè)計出播放器各界面的草圖,同時考慮要實現(xiàn)的功能(如:播放、暫停、繼續(xù)播放、上/下一曲、進度條、本地列表等等) ,及功能在界面的buff,設(shè)計完成后就是將該界面在 eclipse 中設(shè)計出來,再實現(xiàn)后臺代碼的編寫,最后通過系統(tǒng)化的測試,一步步的將播放器優(yōu)化,知道播放器的正常使用。本次播放器主要有三個界面構(gòu)成:1、本地音樂列表界面,2、最近播放列表界面,3、播放主界面。本地音樂界面讀取的是手機 sd 卡中所有的可播放的音頻文
47、件,通過listview 列表來獲取,點擊列表中的任意一首歌曲,就會跳轉(zhuǎn)到播放的主界面中,同時獲取該歌曲的所有播放信息;最近列表記錄的是最近播放過的任意一首歌曲,點擊該列中的任意一首歌曲同樣會跳轉(zhuǎn)到播放的主界面中,并獲取該歌曲的相關(guān)信息;在當前播放的主界面中,可以任意的對當前歌曲進行暫停、繼續(xù)播放、上一首、下一首等操作。此款播放器實現(xiàn)的是最基本的播放原理,但沒有實現(xiàn)歌詞的顯示滾動,以及下載音樂的機制等等,作為一個項目實在存在很多的不足,但是確實一個自己獨立的項目,其作用也是不可小覷的,本次播放器的完成讓我更加的了解android,了解程序,為我今后的工作帶來很大的幫助。 第第 4 4 章章 本
48、系統(tǒng)內(nèi)容需求本系統(tǒng)內(nèi)容需求4.14.1 實現(xiàn)的內(nèi)容需求實現(xiàn)的內(nèi)容需求本文主要實現(xiàn)的內(nèi)容需求有以下的幾個方面:(1) 讀取內(nèi)存卡(sd)卡里面所有的音頻文件,并自動加入該音樂播放器中。(2) 音樂的播放,包括上一首、下一首、暫停、播放、進度條、更新歌名、時間顯示、本地列表、最近播放列表(3) 合理的設(shè)計音樂播放器的界面4.24.2 播放器實現(xiàn)的目標播放器實現(xiàn)的目標本系統(tǒng)屬于客戶經(jīng)常使用的音樂播放器??梢允亲髡吒拥那宄摿鞒蹋鞠到y(tǒng)應(yīng)達到的目標:(1) 軟件采用人機交互的方式,界面美觀友好,操作簡單、方便、富有個性化。(2) 能對音樂文件進行有效的管理。(3) 系統(tǒng)應(yīng)最大限度的實現(xiàn)易維護性和易操
49、作性。本系統(tǒng)使作者達到的目標:(1) 本系統(tǒng)利于作者對大學時期所學知識的歸納、總結(jié)。(2)鍛煉了作者的應(yīng)用性及項目的整體完成性,同時為以后找工作奠定了重要的基礎(chǔ)。(3) 讓作者更加的了解一款軟件從設(shè)計到完成這個工作流程,及途中遇到苦難該如何的解決。(4) 本系統(tǒng)再次拉近了與程序之間的關(guān)系,讓我們更加的了解這個行業(yè),更加的了解這個互聯(lián)網(wǎng)軟件的時代。4.34.3 播放器的基本控制需求播放器的基本控制需求根據(jù)本項目的要求,我們了解了該項目系統(tǒng)的基本需求,現(xiàn)在就從不同的角度來描述系統(tǒng)需求。并運用例圖來細致的分析下,從播放器的基本控制需要、播放列表管理需求、播放界面的友好設(shè)計這三部分來進行概括。圖 1
50、播放器的基本控制需求4.44.4 功能需求分析功能需求分析從圖例分析圖可以看出播放器中信息發(fā)送和調(diào)用過程用戶 播放 暫停 繼續(xù)播放上一首下一首快捷方式按鈕主界面本地音樂界面正在播放界面面選擇歌曲播放最近播放列表界面本地音樂播放頁面正在播放發(fā)送參數(shù)調(diào)用后臺的serviceservice播放、返回播放后臺service 圖 2 播放器的時序圖第第 5 章章 android 的項目介紹的項目介紹5.1 本地音樂列表界面本地音樂列表界面首頁是通過 tabhost 布局,分兩個標簽,即:“本地音樂”和“正在播放”列表,如下圖 3 所示,其布局代碼不附屬了;如下代碼實現(xiàn)的是首頁中本地列表歌曲的獲取方法:關(guān)
51、鍵代碼:musiclistview.setonitemclicklistener(newnew onitemclicklistener() overridepublicpublic voidvoid onitemclick(adapterview adap, view v, intint position,longlong arg3) currentlistitme = position;playmusic(music_path + mmusiclist.get(position);isrunning = truetrue;intent intent=newnew intent();inten
52、t.setclass(mp3playeractivity.thisthis,zhengzai.classclass);bundle bundle = newnew bundle();bundle.putstring(path,music_path + mmusiclist.get(position).tostring() );intint index = position;bundle.putstring(musictitle,mmusiclist.get(position) );intent.putextra(bundle,bundle);startactivity(intent); );5
53、.25.2 正在播放界面正在播放界面關(guān)鍵代碼:正在播放mstartimagebutton.setonclicklistener(newnew imagebutton.onclicklistener() overridepublicpublic voidvoid onclick(view arg0) / todotodo auto-generated method stub/string path = music_path + mmusiclist.get(currentlistitme);ifif(!isrunning)playmusic(path);/startseekbarupdate()
54、;elseelseifif(!ispause)pause(path);elseelsecontinueplay(path););下一首的監(jiān)聽和實現(xiàn)mnextimagebutton.setonclicklistener(newnew imagebutton.onclicklistener() overridepublicpublic voidvoid onclick(view v) / todotodo auto-generated method stubnextmusic(););privateprivate voidvoid nextmusic() ifif (+mp3playeractiv
55、ity.currentlistitme = mp3playeractivity.mmusiclist.size() mp3playeractivity.currentlistitme = 0; playmusic(music_path + mp3playeractivity.mmusiclist.get(mp3playeractivity.currentlistitme);ispause = falsefalse;mstartimagebutton.setimagedrawable(getresources().getdrawable(r.drawable.bt_widget_pause_no
56、r);上一首的監(jiān)聽和實現(xiàn)mpreimagebutton.setonclicklistener(newnew imagebutton.onclicklistener() overridepublicpublic voidvoid onclick(view v) / todotodo auto-generated method stubfrontmusic(););privateprivate voidvoid frontmusic() ifif (-mp3playeractivity.currentlistitme = 0) mp3playeractivity.currentlistitme =
57、 mp3playeractivity.mmusiclist.size()-1;playmusic(music_path + mp3playeractivity.mmusiclist.get(mp3playeractivity.currentlistitme);ispause = falsefalse;mstartimagebutton.setimagedrawable(getresources().getdrawable(r.drawable.bt_widget_pause_nor);音樂的暫停privateprivate voidvoid pause(string path) ifif (m
58、p3playeractivity.mmediaplayer != nullnull &mp3playeractivity. mmediaplayer.isplaying() mp3playeractivity.mmediaplayer.pause(); ispause = truetrue; mstartimagebutton.setimagedrawable(getresources().getdrawable(r.drawable.bt_widget_play_nor); 音樂繼續(xù)播放privateprivate voidvoid continueplay(string path)
59、 ifif(ispause) mp3playeractivity.mmediaplayer.start(); ispause = falsefalse; mstartimagebutton.setimagedrawable(getresources().getdrawable(r.drawable.bt_widget_pause_nor); 5.35.3 退出播放器界面退出播放器界面退出播放器提示代碼:publicpublic voidvoid showexitdialog() alertdialog.builder builder = newnew alertdialog.builder(t
60、histhis);builder.settitle(提示);builder.setmessage(確定要退出嗎?);builder.setnegativebutton(否, newnew dialoginterface.onclicklistener() overridepublicpublic voidvoid onclick(dialoginterface dialog, intint which) );builder.setpositivebutton(是, newnew dialoginterface.onclicklistener() overridepublicpublic voidvoi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度代持股及員工持股計劃實施合同4篇
- 2025年度個人無抵押貸款合同范本與信用擔保機制4篇
- 二零二五版數(shù)據(jù)中心冷卻塔安裝合同3篇
- 二零二五版農(nóng)產(chǎn)品電商平臺居間代理服務(wù)合同樣本4篇
- 2025年食品行業(yè)HACCP管理體系建設(shè)與審核合同3篇
- 2025年度生態(tài)農(nóng)業(yè)園場地租賃及技術(shù)服務(wù)合同3篇
- 2025版美容院加盟店加盟店員離職與交接合同4篇
- 2025版信報箱購置與智能改造合同規(guī)范文本3篇
- 2025年度廠房設(shè)備租賃與智能化控制系統(tǒng)升級合同范本4篇
- 二零二五年度老舊小區(qū)車位置換服務(wù)合同8篇
- 消防產(chǎn)品目錄(2025年修訂本)
- 9.2提高防護能力教學設(shè)計 2024-2025學年統(tǒng)編版道德與法治七年級上冊
- 催收培訓制度
- 城市軌道交通的網(wǎng)絡(luò)安全與數(shù)據(jù)保護
- 《行政職業(yè)能力測驗》2023年公務(wù)員考試新疆維吾爾新疆生產(chǎn)建設(shè)兵團可克達拉市預測試題含解析
- 醫(yī)院投訴案例分析及處理要點
- 練習20連加連減
- 五四制青島版數(shù)學五年級上冊期末測試題及答案(共3套)
- 商法題庫(含答案)
- 鋼結(jié)構(gòu)用高強度大六角頭螺栓連接副 編制說明
- 溝通與談判PPT完整全套教學課件
評論
0/150
提交評論