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

正文內(nèi)容

基于安卓平臺(tái)的手機(jī)音樂(lè)播放器的研究與實(shí)現(xiàn)-預(yù)覽頁(yè)

 

【正文】 ndroid 系統(tǒng) 最 初 并 不是由 Google 公司研發(fā)出來(lái)的,而是由安迪 魯 賓 則成為 其工程部副總裁,繼續(xù)負(fù)責(zé) Android 項(xiàng)目的研發(fā)工作。傻子是會(huì)吃虧的人,瘋子是會(huì)行動(dòng)的人! Android 系統(tǒng)的開(kāi)放源代碼 [5]。 Android 的基本框架 Android 的系統(tǒng)架構(gòu)和其操作系統(tǒng)一樣,采用了分層的架構(gòu)。 所有 應(yīng)用程序都是 使用 JAVA 語(yǔ)言編寫的 , 并且可以被開(kāi)發(fā)人員所開(kāi)發(fā)的其他程序替代 。主要 包括 如 下組件 : 視圖 系統(tǒng)( View System) 、 內(nèi)容 提供者( Content Providers )、資源管理器( Resource Manager)、通知管理器( Notification Manager)、活動(dòng)類管理器( Activity Manager) 、 窗口管理器( Window Manager) 、 電話管理器( Telephony Manager) 等 等 。 核心 庫(kù)提供了 Java 語(yǔ)言 中所封裝的大多數(shù)類和方法。 (4) Linux 內(nèi)核 層 Android 的核心系統(tǒng)服務(wù)依賴于 Linux 內(nèi)核,如安全性,網(wǎng)絡(luò)協(xié)議棧,內(nèi)存管理,驅(qū)動(dòng)模型和進(jìn)程管理。 Content Provider 內(nèi) 容 提 供 者 : 支 持 在 多 個(gè) 應(yīng) 用 中 存 儲(chǔ) 和 讀 取 數(shù) 據(jù) 。一個(gè) Activity 通常就是一個(gè)單獨(dú)的屏幕,它上面可以顯示一些控件也可以監(jiān)聽(tīng)并處理用戶的事件做出響應(yīng)。如果 一個(gè)應(yīng)用 需要 使用其他 應(yīng)用 的 文件要 怎么辦呢? 這 個(gè)時(shí)候就要用到Content Provider了 。而 BroadcastReceiver 是對(duì)發(fā)送出來(lái)的 Broadcast 進(jìn)行過(guò)濾接受并響應(yīng)的一類組件。 通 知可以 有 很多種方式 來(lái) 吸引用 戶 注意力 ,一 般來(lái)說(shuō)是在狀態(tài)欄 上 放一個(gè)持久 圖標(biāo) , 用戶 可以打開(kāi)它 獲取 消息。 服務(wù)不能自己運(yùn)行 ,需要通過(guò) ()或()啟動(dòng)服務(wù) , 兩種方式 主要 區(qū)別就是使用 startService()啟動(dòng) 的服務(wù)與 調(diào)用 者沒(méi)有關(guān)系, 就 算調(diào)用者 關(guān)閉 了 , 服務(wù)還在后臺(tái)一直運(yùn)行 , 想要停止服務(wù)必須使 用 (); 使用 bindService()啟動(dòng) 的服務(wù)與 調(diào)用 者綁定 , 調(diào)用者 一 旦關(guān)閉,服務(wù)也就終止,而且通過(guò)綁定方式啟動(dòng)服務(wù)時(shí),調(diào)用者可以執(zhí)行服務(wù)中的一些方法 。 Android 由 多個(gè)開(kāi) 發(fā) 包組成的,其中最主要的開(kāi)發(fā)包如下: JDK ( Java 語(yǔ) 言 的 軟 件 開(kāi) 發(fā) 工 具 包 ) :可以 到 網(wǎng) 址【精品文檔】世界上,成功的有兩種人,一種人是傻子,一種人是瘋子。” 隔開(kāi) 。傻子是會(huì)吃虧的人,瘋子是會(huì)行動(dòng)的人! 圖 4 系統(tǒng) 變量設(shè)置 圖 5 系統(tǒng) 變量設(shè)置 配置 好環(huán)境變量后 需要 測(cè)試 看 JDK 是否正確 安裝 , 按 win+R 鍵打 開(kāi)運(yùn)行窗口,在對(duì)話框中輸入 CMD, 在 彈出的命令提示符窗口中輸入 java按 下回車鍵,看是否能打印出信息,再 輸 javac 按 下回車 看 是否能打印出信息 ,能得到 如下圖所示的信息 說(shuō)明 JDK 與 JRE 都已正確安裝 了 。 然后 打 開(kāi) CMD, 輸入android –h 按 下回車鍵,若能打印出幫助信息則說(shuō)明 SDK 已經(jīng)正確配置,可以使用了。 【精品文檔】世界上,成功的有兩種人,一種人是傻子,一種人是瘋子。傻子是會(huì)吃虧的人,瘋子是會(huì)行動(dòng)的人! 和布局 如下圖: 圖 10 Android 資源 類型和 布局 下 面組 圖 為 音樂(lè)播放器代碼結(jié)構(gòu)和各界面的配置文件,圖像資源等 ,圖 11 為一個(gè) Android 工程所必須的結(jié)構(gòu),圖 12 為該播放器的 類 文件 ,圖13 為播放器所用到的字符串,字體大小,字的顏色等配置文件,圖 14 為 該播放器的各種界面的布局配置文件,圖 15 為該播放器的圖片資源。下面 將介紹系統(tǒng)需求。 (1)歌曲 列表模塊 此 模塊將自動(dòng)掃描擴(kuò)展卡中 MP3 格式 的文件 并 顯示 出來(lái) , 用戶點(diǎn)擊某一歌曲后將會(huì)跳轉(zhuǎn)到播放 界。 圖 16 模塊結(jié)構(gòu) ○ 2 暫停 播放 器正在播放時(shí),用戶點(diǎn)擊暫停按鈕,將暫停播放。 音樂(lè) 播放器 歌曲列表 播放控制 【精品文檔】世界上,成功的有兩種人,一種人是傻子,一種人是瘋子。 系統(tǒng) 性能需求 由于 Android 手機(jī)系統(tǒng)要求的無(wú)響應(yīng)時(shí)間為 5 秒 ,故有如 下 性能要求: 當(dāng)歌曲 列表 與 播放界面 相互 跳轉(zhuǎn)時(shí),程序響應(yīng)時(shí)間最長(zhǎng)不能超過(guò) 5 秒 。 運(yùn)行 環(huán)境需求 運(yùn)行 系統(tǒng): Android ~ 版本 開(kāi)發(fā) 環(huán)境: Eclipse ADT 4. 詳細(xì)設(shè)計(jì)及功能實(shí)現(xiàn) 本音樂(lè) 播放器可用 2 個(gè) Activity 和 1 個(gè) Service 來(lái)實(shí)現(xiàn) , 通過(guò) Activity來(lái)顯示歌曲列表和播放 界 面,使用 Service 在后 臺(tái) 播放音樂(lè) ,通過(guò) 一 個(gè)Application 類來(lái)存放全局變量,用于 Activity 間以及 Activity 和 Service 之間數(shù)據(jù)的傳遞。 圖 19 歌曲 列表界面 播放 界面設(shè) 計(jì) 在 歌曲列表中點(diǎn)擊某一首歌曲之后 程序 則跳轉(zhuǎn)到播放 界 面中,該 界 面需要 有各種按鈕可以控制 音樂(lè) 播放 ,播放 模式 的 設(shè)置, 以 及顯示歌 名 ,播放進(jìn)度等。傻子是會(huì)吃虧的人,瘋子是會(huì)行動(dòng)的人! 圖 20 播放 界面 各模塊詳細(xì)設(shè)計(jì) 歌曲 列表功能 進(jìn)入歌曲 列表 時(shí)需要 自動(dòng)掃描 SD 卡中的 MP3 文件 , 掃描 到文件則顯示 歌曲 列表,掃描不到文件則彈出提示 , 并自動(dòng)退出 程序 。 // 把每一次遍歷到的歌曲名字添加到 myMusicList表中 } ArrayAdapterString musicList = new 【精品文檔】世界上,成功的有兩種人,一種人是傻子,一種人是瘋子。 // 找不到歌曲時(shí)彈出一個(gè) Toast提示 (runable, 2020)。 replay = 1。 【精品文檔】世界上,成功的有兩種人,一種人是傻子,一種人是瘋子。兩 個(gè)功能切換 的 同時(shí)需要切換 到 相應(yīng)的按鈕圖片素材 。 replay = 0。 replay = 0。 (runnable)。 // 播放當(dāng)前音樂(lè) public void play() { try { ()。 } catch (Exception e) { ()。 } // 繼續(xù)播放 public void start() { ()。 (0)。 Handler handler = new Handler()。 //顯示當(dāng)前播放時(shí)間 (formatTime(()))。 【精品文檔】世界上,成功的有兩種人,一種人是傻子,一種人是瘋子。 // 得到秒數(shù) String result = 。 result = result + second。 // 把當(dāng)前歌曲的位置跳轉(zhuǎn)到進(jìn)度條的位置 } } })。 } 播放模式模塊 默認(rèn) 播放模式為 順序 播放, 播放 最后一首歌曲時(shí), 若歌曲播完 或者 用戶 點(diǎn)擊 下一首 , 則 彈出提示,并停止音樂(lè) ; 播放第一首歌曲 時(shí), 若 用戶點(diǎn)擊 上一首 ,則 彈 出提示,并停止音樂(lè)。 } else if (() == ) { // 若當(dāng)前為列表循環(huán)則切換到默認(rèn)模式 if ((listloop)) { playMode = normal。 (playMode)。 } } return false。 (playMode)。 ()。 } } private class repeatListener implements OnTouchListener { public boolean onTouch(View v, MotionEvent event) { if (() == ) { ()。 ()。 ()。代碼 如 下。 // 播放按鈕切換為暫停功能 【精品文檔】世界上,成功的有兩種人,一種人是傻子,一種人是瘋子。 // 播放按鈕切換到播放功能 } } } private class nextListener implements OnClickListener { public void onClick(View v) { ()。 // 啟動(dòng)進(jìn)程更新進(jìn)度條及時(shí)間 if(() == 0){ // 需要停止播放 replay = 1。 【精品文檔】世界上,成功的有兩種人,一種人是傻子,一種人是瘋子。 (getApplicationContext(), 已經(jīng)是第一首,請(qǐng)重新選擇歌曲 , 0).show()。 } else { (() 1)。 if (() = 2) { while (num == ()) { num = (())。 } else if (().equals(repeat)) { play()。 if (().equals(normal)) { if (num + 1 ()) { (num + 1)。 (getApplicationContext(), 沒(méi)有歌曲了,請(qǐng)重新選擇歌曲 , 0).show()。 (1)。 } } else if (().equals(shuffle)) { 【精品文檔】世界上,成功的有兩種人,一種人是傻子,一種人是瘋子。 play()。 } } 來(lái)電 暫停功能 模塊 Android開(kāi)發(fā)中可以利用 Telephony Manager 這 個(gè) API來(lái)監(jiān)聽(tīng)電話狀態(tài)的改變,電話狀態(tài)一旦改變 就 會(huì)調(diào)用 一 個(gè)回調(diào)方法,通過(guò) 重 寫該方法,可以實(shí)現(xiàn)來(lái)電暫停播放,掛電話自動(dòng)播放的功能 。 private final class MyPhoneListener extends PhoneStateListener { // 電話狀態(tài)改變時(shí)調(diào)用,來(lái)電時(shí)暫停播放,掛斷電話時(shí)繼續(xù)播放 public void onCallStateChanged(int state, String iningNumber) { switch (state) { case : // 來(lái)電 【精品文檔】世界上,成功的有兩種人,一種人是傻子,一種人是瘋子。 case : // 掛斷電話 if (position 0) { start()。傻子是會(huì)吃虧的人,瘋子是會(huì)行動(dòng)的人! 5. 程序 調(diào)試 與 測(cè)試 程序 的 調(diào)試 程序 代碼編寫完成之后需要對(duì) 程序 開(kāi)始進(jìn)行 調(diào) 試 , 查找錯(cuò)誤 并 修改代碼 , 使 程序 能夠正常運(yùn)行。程序 運(yùn)行 過(guò)程中可能還會(huì) 出 現(xiàn)一些錯(cuò)誤 導(dǎo)致 程序 停止 運(yùn)行,這時(shí)我們需要到 LogCat 窗口中去查 看 錯(cuò) 誤 信息 ,窗口 中會(huì)顯示出 導(dǎo)致 錯(cuò)誤的原因 以 及錯(cuò)誤出現(xiàn)在哪個(gè)位置 。 程序 的測(cè)試 程序 調(diào)試完成后還需要對(duì)軟件的各項(xiàng)功能進(jìn)行測(cè)試, 改 進(jìn)代碼,進(jìn)一步完 善 程序功能 。 以 下 是測(cè)試過(guò)程截圖。 歌曲 播放過(guò)程 中點(diǎn)擊暫停,查看歌曲是否會(huì) 暫停 播放,進(jìn)度條及時(shí)間是 否 會(huì)暫停,按鈕是 否 為切換為播放按鈕。 (3) 播放模式 測(cè)試 分別點(diǎn) 擊界面下方三個(gè)按鈕 ,查 看 按鈕 外觀是否 有 變化, 具體 播放功能需要結(jié)合 上一首 /下一首 共同 測(cè)試。傻子是會(huì)吃虧的人,瘋子是會(huì)行動(dòng)的人! 歌。 【精品文檔】世界上,成功的有兩種人,一種人是傻子,一種人是瘋子。 另外 , 編 程難,調(diào)程序更難, 調(diào)試 程序時(shí)需要耐心 、 細(xì)心,有時(shí) 候 代 碼看似沒(méi)有問(wèn)題,但是運(yùn)行起來(lái)往往 會(huì) 出現(xiàn) 異常, 這時(shí)就需要耐心 而且 細(xì)心地分析程序,查出錯(cuò)誤, 修改 代碼,解決問(wèn)題。 在此,我對(duì)老師以及同學(xué)的幫助表示衷心的感謝! 【精品文檔】世界上,成功的有兩種人,一種人是傻子,一種人是瘋子
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1