【移動應(yīng)用開發(fā)技術(shù)】Android如何實現(xiàn)簡單音樂播放器_第1頁
【移動應(yīng)用開發(fā)技術(shù)】Android如何實現(xiàn)簡單音樂播放器_第2頁
【移動應(yīng)用開發(fā)技術(shù)】Android如何實現(xiàn)簡單音樂播放器_第3頁
【移動應(yīng)用開發(fā)技術(shù)】Android如何實現(xiàn)簡單音樂播放器_第4頁
【移動應(yīng)用開發(fā)技術(shù)】Android如何實現(xiàn)簡單音樂播放器_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

【移動應(yīng)用開發(fā)技術(shù)】Android如何實現(xiàn)簡單音樂播放器

在下這次要給大家分享的是Android如何實現(xiàn)簡單音樂播放器,文章內(nèi)容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。開發(fā)工具:AndoridStudio1.3運行環(huán)境:Android4.4KitKat工程內(nèi)容實現(xiàn)一個簡單的音樂播放器,要求功能有:代碼實現(xiàn)導(dǎo)入歌曲到手機SD卡的Music目錄中,這里我導(dǎo)入了4首歌曲:仙劍六里面的《誓言成暉》、《劍客不能說》、《鏡中人》和《浪花》,也推薦大家聽喔(捂臉然后新建一個類MusicService繼承Service,在類中定義一個MyBinder,有一個方法用于返回MusicService本身,在重載onBind()方法的時候返回在MusicService中,聲明一個MediaPlayer變量,進行設(shè)置歌曲路徑,這里我選擇歌曲1作為初始化時候的歌曲設(shè)計一些歌曲播放、暫停、停止、退出相應(yīng)的邏輯,此外我還設(shè)計了上一首和下一首的邏輯注冊MusicService并賦予權(quán)限,允許讀取外部存儲空間在MainAcitvity中聲明ServiceConnection,調(diào)用bindService保持與MusicService通信,通過intent的事件進行通信,在onCreate()函數(shù)中綁定ServicebindService函數(shù)回調(diào)onSerciceConnented函數(shù),通過MusiceService函數(shù)下的onBind()方法獲得binder對象并實現(xiàn)綁定通過Handle實時更新UI,這里主要使用了post方法并在Runnable中調(diào)用postDelay方法實現(xiàn)實時更新UI,Handle.post方法在onResume()中調(diào)用,使得程序剛開始時和重新進入應(yīng)用時能夠更新UI在Runnable中更新SeekBar的狀態(tài),并設(shè)置SeekBar滑動條的響應(yīng)函數(shù),使歌曲跳動到指定位置給每個按鈕設(shè)置響應(yīng)函數(shù),在onDestroy()中添加解除綁定,避免內(nèi)存泄漏在Button中賦予onClick屬性指向接口函數(shù)效果圖打開界面->播放一會兒進度條實時變化->拖動進度條->點擊暫停->點擊Stop->點擊下一首(歌曲時間變化)->點擊上一首->點擊退出一些總結(jié)了解Service中startService(service)和bindService(service,conn,flags)兩種模式的執(zhí)行方法特點及其生命周期,還有為什么這次要一起用startService方法是讓Service啟動,讓Service進入后臺running狀態(tài);但是這種方法,service與用戶是不能交互的,更準(zhǔn)確的說法是,service與用戶不能進行直接的交互。因此需要使用bindService方法綁定Service服務(wù),bindService返回一個binder接口實例,用戶就可以通過該實例與Service進行交互。Service的生命周期簡單到不能再簡單了,一條流水線表達了整個生命周期。service的活動生命周期是在onStart()之后,這個方法會處理通過startServices()方法傳遞來的Intent對象。音樂service可以通過開打intent對象來找到要播放的音樂,然后開始后臺播放。注:service停止時沒有相應(yīng)的回調(diào)方法,即沒有onStop()方法,只有onDestroy()銷毀方法。onCreate()方法和onDestroy()方法是針對所有的services,無論它們是否啟動,通過Context.startService()和Context.bindService()方法都可以訪問執(zhí)行。然而,只有通過startService()方法啟動service服務(wù)時才會調(diào)用onStart()方法。簡述如何使用Handler實時更新UI方法一:Handle的post方法,在post的Runable的run方法中,使用postDelay方法再次post該Runable對象,在Runable中更新UI,達到實時更新UI的目的方法二:多開一個線程,線程寫一個持續(xù)循環(huán),每次進入循環(huán)內(nèi)即po

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論