freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于android系統(tǒng)的音樂播放器設計與實現(xiàn)(編輯修改稿)

2025-07-09 07:53 本頁面
 

【文章內容簡介】 Program Files\Java\”(視個人安裝路徑而定)。 path 的項,雙擊,在變量值后面添加: “ 。%JAVA_HOME%\bin?!?, “ 系 統(tǒng) 變 量 ” 變 量 名 : “ classpath ” , 變 量 值 :“ .。%JAVA_HOME%\lib\。%JAVA_HOME%\lib\?!? 配置完成 后 ,重啟可以 在 cmd下輸入 java 或者 javac 測試 。 安裝 Eclipse Eclipse 是我們以后在 Android 開發(fā)時使用的開發(fā)平臺,它集成了很多功能以及插件,在開發(fā)的過程中便于我們使用,在官網( 應系統(tǒng)以及功能的安裝包,在安裝提示安裝完成后并且完成了 JDK 的安裝后即可正常使用。 貴陽學院畢業(yè)設計(論文) 9 安裝 SDK SDK( Software Development Kit) 初始包中有開發(fā) Android 程序所要用到的工具,它包括了從編譯到運行 Android 應用程序所需要的各種工具。安裝時可以根據(jù)自己的需求選擇安裝相應的版本。 (SDK 下載地址: 安裝 ADT 按照 安裝完 SDK 初始包后,就可以開始開發(fā) Android 應用程序了,但是為了更高效地進行開發(fā), Android 團隊推出了 Android Development Tools (ADT) 。 ADT 是目前開發(fā) Android 應用最有效的工具,它是一個 Eclipse 插件,支持 Eclipse 及 以上的版本。以 Eclipse (Galileo)為例,安裝過程如下: 1. 打開 Eclipse,選擇 Help Install New Softare。 2. 在 Available Software 對話框中,點擊 Add...。 3. 在彈出的 Add Site 對話框中,任意填寫一個名字到 Name 一欄。在 Location 一欄,則填入這一 URL: “在后續(xù)的步驟中發(fā)現(xiàn)無法安裝插件,可以試著把 URL 中的 換成 。) 4. 返回到 Available Software 窗口后,就能看到列表中出現(xiàn)了 Developer Tools ,選中它前面的復選框,再點擊 “Next”,就會開始下載安裝 ADT 的各種組件了。 5. 安裝完畢后將彈出窗口顯示 ADT 相關的各種信息以及許可協(xié)議,點擊 “Finish“即可完成安裝。 6. 重新啟動 Eclipse。 設置 Eclipse Window Preferences... 打開偏好設置 Android一欄。 SDK Location 一欄邊 的 Browse 按鈕,選擇剛剛下載的 SDK 保存的路徑。 Apply, OK,設置生效。 至此, Android 的開發(fā)環(huán)境就已經搭建完畢,可以使用了 。 貴陽學院畢業(yè)設計(論文) 10 創(chuàng)建 AVD 在安裝好 JDK, Eclipse, SDK, ADK 之后我們就可以進行 Android 項目開發(fā)了,但是在開發(fā)的過程中我們經常需要運行、調試我們所開發(fā)的軟件,這就需要用到 AVD( Android Virtual Device),也就是 Android 虛擬機。 1. 打開 Eclipse。 2. 點擊 Opens the Android Virtual Device Manager 圖標按鈕。 3. 在彈出的窗口中點擊 New 新建一個 Android 虛擬機。 4. 在彈出的新建虛擬機窗口中 Name 一欄填上虛擬機的名稱(一般與虛擬機的版本號相同,便于區(qū)分)。 5. 在 Target 一欄選擇一個 Android 虛擬機版本(如 或 )。 6. 在 SD Card 下的 Size 一欄填上我們要設定的 SD 卡容量大小。 7. 點擊 Create AVD,這樣我們的一個 Android 虛擬機就創(chuàng)建好了。 貴陽學院畢業(yè)設計(論文) 11 第四章 系統(tǒng)需求分析 功能需求分析 根據(jù)項目的目標,我們可獲得項目系統(tǒng)的基本需求,一 下從不同角度來描述系統(tǒng)的需求,并且使用用例圖來描述,系統(tǒng)的功能需求,播放器的基本控制需求。以下分別描述: 播放器的基本功能 圖 41 播放器基本控制圖 在播放器運行時,主界面是服務器的歌曲列表,可以點擊刷新列表,也可以點擊歌曲名,開始下載歌曲,然后點擊本地歌曲列表可以顯示出本地的歌曲文件,點擊文件名則跳轉到播放界面,在播放界面可以控制歌曲的播放、暫停、停止以及返回本地歌曲列表。 音樂播放器的基本功能 下載歌曲 播放 暫停 停止 音量控制 歌曲列表 播放文件 退出 貴陽學院畢業(yè)設計(論文) 12 功能需求時序分析 圖 42 音樂播放器的時序圖 從以上時序圖可以看到播放器中消息發(fā)送及調用過程。 貴陽學院畢業(yè)設計(論文) 13 系統(tǒng)結構流程圖 圖 43 音樂播放器系統(tǒng)流程圖 以上顯示了播放器的各個流程。 系統(tǒng)界面需求 播放器界面要求布局合理,簡約,顏色舒適,控制按鈕友好,能讓用戶一眼就能看出各個按鈕的作用及操作方法。能實現(xiàn)要求的功能,但又不重復。要考慮到不同手機屏幕大貴陽學院畢業(yè)設計(論文) 14 小可能不一樣,應盡量兼容大多數(shù)手機屏幕尺寸,使之顯示無障礙。 開發(fā)環(huán)境 操作系統(tǒng): Windows7 x64。 開發(fā)環(huán)境: Eclipse Version: Indigo Service Release 1 ADT Version: 運行環(huán)境 : Android 貴陽學院畢業(yè)設計(論文) 15 第五章 音樂播放器詳細設計與實現(xiàn) 播放器界面設計 首先是創(chuàng)建一個主界面 MainActivity,它使用 TabHost 布局,這里面的 TabWidget 控件控制著兩個 Activity 的互相切換: 一個是 Mp3PlayerListActivity(圖 51),這個 Activity 是一打開程序就顯示的服務器歌曲列表。 圖 51 Mp3PlayerListActivity 另一個是 LocalActivity(圖 52),這個 Activity 是點擊 TabWidget 控件中的“本地”按鈕才會顯示的本地歌曲列表界面。 貴陽學院畢業(yè)設計(論文) 16 圖 52 LocalActivity 在 LocalActivity 中點擊列表中的歌曲名就會調出 PlayerActivity(圖 53),這個 Activity就是播放音樂時的界面,其中有一些對播放器進行控制的控件。 圖 53 PlayerActivity 貴陽學院畢業(yè)設計(論文) 17 詳細設計代碼見附錄。 獲取并解析 XML 文件 因為打開播放器首先就要刷新服務器上的歌曲列表,那么我們就得獲取服務器上的歌曲列表文件,即 XML 文件。實現(xiàn)代碼如下: // 根據(jù) URL下載文本文件,必須是文本文件,因為返回值是文本中的字符 public String download(String urlStr) { StringBuilder sb = new StringBuilder()。 String line = null。 BufferedReader buffer = null。 try { // 創(chuàng)建一個 URL對象 URL url = new URL(urlStr)。 // 創(chuàng)建一個 連接 HttpURLConnection urlConn = (HttpURLConnection) url .openConnection()。 // 使用 io讀取數(shù)據(jù) buffer = new BufferedReader(new InputStreamReader( ()))。 // 一行行的讀取數(shù)據(jù) while ((line = ()) != null) { (line)。 } } catch (Exception e) { ()。 } finally { // 關閉 buffer 節(jié)約資源 try { ()。 } catch (Exception e2) { ()。 } } //將讀取到的文本文件中的內容傳回去 return ()。 } 貴陽學院畢業(yè)設計(論文) 18 從服務器上下載到 XML 中的文 本后就要開始解析,在開始解析之前我們先來了解一下服務器上用來保存歌曲信息的 XML 文件。 圖 52 XML 文件結構圖 從上圖中可以看出所有的歌曲信息是包含在一個 resources 標簽當中的,而每一個resource 標簽就代表一首歌曲,其中的 id、 、 、 標簽都分表代表了歌曲的一條信息。 在我所設計的播放器中所用到是實現(xiàn) SAX( Simple API for XML)接口的方式來解析XML 文件,解析的實現(xiàn)代碼如下: //開始解析 XML文件中的每一個標簽時調用的方 法 @Override public void startElement(String uri, String localName, String qName, Attributes attr) throws SAXException { //將從 XML文件中讀取到的標簽名賦值給 tagName tagName = localName。 //如果標簽名為 resource時 就創(chuàng)建一個 mp3Info的實例對象 if ((resource)) { mp3Info = new Mp3Info()。 } } //解析完 XML文件中的每一個標簽時調用的方法 @Override public void endElement(String uri, String localName, String qName) 貴陽學院畢業(yè)設計(論文) 19 throws SAXException { //每次讀取到 resource標簽就代表一首歌曲的信息已經完成,并將次 mp3Info加到 infos當中 if ((resource)) { (mp3Info)。 } //每讀完一個標簽就清空 tagName,以免出錯 tagName = 。 } //讀取 XML文件中沒一個標簽中內容 @Override public void characters(char[] ch, int start, int length) throws SAXException { //將讀取到的內容賦值給 temp String temp = new String(ch, start, length)。 //將每 個標簽中的內容賦值給 mp3Info實例對象中相應的變量 if ((id)) { (temp)。 } else if (()) { (temp)。 } else if (()) { (temp)。 } else if (()) { (temp)。 } else if (()) { (temp)。 } } 下載 MP3 文件 根據(jù) URL 的地址從服務器上下載文件,因為下載不可能是一瞬間就能完成的事,如果我們在主線程中進行下載,那么下載過程中程序就會出現(xiàn)假死狀態(tài),因為它在等待文件下載完成,下載完成才能執(zhí)行后面的操作,所以我們需要用一個線程來進行下載任務,實現(xiàn)代碼如下: // 每次用戶點擊 ListActivity當中的一個條目時,就會調用該方法 @Override public int onStartCommand(Intent intent, int flags, int startId) { 貴陽學院畢業(yè)設計(論文) 20 // 從 Intent對象當中將 Mp3Info對象取出 Mp3Info mp3Info = (Mp3Info) (mp3Info)。 // 生成一個下載線程,并將 Mp3Info對象作為參數(shù)傳遞到線程對象當中 DownloadThread downloadThread = new DownloadThread(mp3Info)。 // 啟動新線程 Thread thread = new Thread(downloadThread)。 ()。 return (intent, flags, startId)。 } class DownloadThread implements Runnable {
點擊復制文檔內容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1