




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
項目八Service服務(wù)學(xué)習(xí)目標(biāo)了解Service的特點掌握Service的啟動方式掌握Service的兩種類型:本地服務(wù)和遠(yuǎn)程服務(wù)情景導(dǎo)入日常生活通過手機播放音頻來學(xué)習(xí)、工作和娛樂已經(jīng)成為大多數(shù)人采取的主要途徑,本項目以手機播放器為業(yè)務(wù)背景,通過Service組件技術(shù),實現(xiàn)播放器運行過程中的核心功能:播放、暫停、重播、停止等。任務(wù)描述功能描述本任務(wù)將設(shè)計一款音樂播放器程序。使用線性布局設(shè)計音樂播放器主界面初始化進(jìn)度條的長度,獲取音樂文件的長度點擊“播放”按鈕,播放音樂并且更新進(jìn)度條進(jìn)度點擊“暫停”按鈕,暫停播放音樂并且暫停更新進(jìn)度條點擊“重播”按鈕,音樂重新開始播放并且更新進(jìn)度條進(jìn)度點擊“停止”按鈕,音樂停止播放并且進(jìn)度條停止更新【基本框架】基本框架如圖8.1所示,將框架圖轉(zhuǎn)換成的效果如圖8.2所示。任務(wù)描述任務(wù)技能技能點1Service概述1Service簡介Service是可以在后臺執(zhí)行長時間操作而不使用戶界面的應(yīng)用組件,與Android四大組件中的Activity最相似,代表著可執(zhí)行程序。Service有自己的生命周期,按運行類別分類可分為前臺Service與后臺Service兩種。任務(wù)技能前臺Service和后臺Service最大的區(qū)別在于前臺Service會在系統(tǒng)的狀態(tài)欄顯示一個一直運行的圖標(biāo)。當(dāng)下拉狀態(tài)欄后會看到更為詳細(xì)的信息,類似于通知。有些項目要實現(xiàn)Service在后臺更新數(shù)據(jù)的同時,還要在狀態(tài)欄顯示圖標(biāo)和新的信息的時候必須使用前臺Service了,前臺Service應(yīng)用,如圖8.3所示。任務(wù)技能任務(wù)技能2Service方法說明Service有自己的生命周期,經(jīng)歷了創(chuàng)建到銷毀的過程,Service的有兩種啟動方式:startService()和bindService()。Service生命周期如圖8.4所示。Service生命周期相關(guān)方法說明如表8.1所示。任務(wù)技能任務(wù)技能任務(wù)技能3Service實現(xiàn)雖然Service在后臺運行,但是Service后端的數(shù)據(jù)還是要用戶可見的,最終還是要呈現(xiàn)在前端Activity上的,因此在啟動Service時,系統(tǒng)會重新開啟一個新的進(jìn)程。當(dāng)想獲取啟動的Service實例時,可以用到bindService()和onBindService()方法。在這兩種方法中分別執(zhí)行了Service中的IBinder()和onUnbind()方法。接下來新建一個Service,命名為Service.java。任務(wù)技能技能點2服務(wù)通信1本地服務(wù)通信本地服務(wù)通信是最常用的后臺Service,用于實現(xiàn)應(yīng)用程序內(nèi)部的一些耗時任務(wù),比如查詢升級信息,并不占用應(yīng)用程序比如Activity所屬線程,而是單開線程后臺執(zhí)行。Service與訪問者之間無法進(jìn)行通信以及數(shù)據(jù)交換,若Service和訪問者之間要進(jìn)行通信,就調(diào)用bindService()和unBindService()這兩個方法來啟動或關(guān)閉Service。Context的bindService()方法的完整方法為bindService(Intentservice,ServiceConnectionconn,intflags),Context的bindService()方法參數(shù)說明如表8.2所示。任務(wù)技能注意:當(dāng)調(diào)用者主動通過unBindService()方法斷開與Service的連接時,ServiceConnection對象的onServiceDisconnected(ComponentNamename)方法并不會被調(diào)用。使用startService()啟動服務(wù)后,要使用stopService()停止服務(wù)。同時使用startService()與bindService()要注意,需要unbindService()與stopService()同時調(diào)用,才能終止Service。任務(wù)技能2遠(yuǎn)程服務(wù)通信遠(yuǎn)程服務(wù)是一個獨立的進(jìn)程,它不受其它進(jìn)程的影響,能為其它應(yīng)用程序提供可用的接口—進(jìn)程間通信IPC(Inter-ProcessCommunication),Android提供了AIDL(AndroidInterfaceDefinitionLanguage,接口描述語言)工具來幫助進(jìn)程間接口的建立。遠(yuǎn)程服務(wù)通信適用于為其它應(yīng)用程序提供公共服務(wù)的Service,這種Service就是系統(tǒng)常駐Service。當(dāng)創(chuàng)建遠(yuǎn)程服務(wù)時,首先要通過AIDL文件定義服務(wù)(Service)向客戶端(Client)提供的接口,在對應(yīng)的目錄下添加一個后綴為.aidl的文件,IMyAidllnterface.aidl文件內(nèi)容如下所示。任務(wù)技能Aidl的適用場景為:只有允許客戶端從不同的應(yīng)用程序去訪問Service時,可以使用aidl來實現(xiàn)。當(dāng)我們創(chuàng)建遠(yuǎn)程Service時,我們還需要新建RemoteService,在遠(yuǎn)程服務(wù)中,通過Service的onBind(),在客戶端與服務(wù)建立連接時,用來傳遞Stub(存根)對象。具體代碼如下所示。任務(wù)技能任務(wù)技能同時,在AndroidManifest.xml中對RemoteService進(jìn)行如下配置:任務(wù)實施第一步:在Eclipse中創(chuàng)建一個Android工程,命名為“音樂播放器”,并設(shè)計界面。如圖8.2所示。第二步:在src文件夾中建立MainActivity.java文件并實現(xiàn)界面初始化。第三步:在MainActivity中實現(xiàn)獲取音樂文件功能。第四步:實現(xiàn)音樂播放功能。第五步:實現(xiàn)音樂暫停功能。第六步:實現(xiàn)音樂重播功能。第七步:實現(xiàn)音樂停止功能。第八步:編寫更新進(jìn)度條代碼。第九步:編寫取消綁定防止退出程序抱死的代碼。第十步:運行程序。任務(wù)實施任務(wù)拓展【拓展目的】熟悉并掌握Service生命周期的使用方法以及本地與遠(yuǎn)程服務(wù)?!就卣箖?nèi)容】實現(xiàn)“音樂播放器”上一曲下一曲功能。效果如圖8.6所示?!就卣共襟E】1設(shè)計思路添加上一曲,下一曲成功實現(xiàn)歌曲的切換功能。2“上一曲”,“下一曲”功能。任務(wù)拓展任務(wù)總結(jié)學(xué)習(xí)Service需要重點掌握創(chuàng)建、配置Service組件,以及如何啟動、停止Service。本項目重點是Service的開發(fā)和通信,這個知識
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 臺州職高面試題及答案
- 車輛轉(zhuǎn)讓與維修保養(yǎng)培訓(xùn)及配件供應(yīng)合同
- 智能停車誘導(dǎo)系統(tǒng)建設(shè)與車位租賃合同
- 長鐵絲考試題及答案
- 礦石分區(qū)管理方案
- 手工環(huán)保面試題及答案
- 水利施工技術(shù)方案
- 圍棋初步考試題及答案
- 2026版《全品高考》選考復(fù)習(xí)方案生物38 第26講 免疫調(diào)節(jié)含答案
- 玻璃破碎安保措施方案
- 密閉空間環(huán)氧樹脂防腐施工方案
- 渣土運輸方案
- 2025-2030中國包裝印刷行業(yè)現(xiàn)狀供需分析及市場深度研究發(fā)展前景及規(guī)劃可行性分析研究報告
- 董事長給應(yīng)屆生培訓(xùn)
- 高職大學(xué)生心里健康教育(第2版)-課程思政案例(結(jié)合知識點)
- Drager呼吸機使用指南
- 辦公用品、易耗品供貨服務(wù)方案投標(biāo)方案文件
- 民兵應(yīng)急知識培訓(xùn)課件
- 酒吧裝修施工方案
- 非煤礦山礦石運輸車輛安全協(xié)議書
- 東北林業(yè)大學(xué)20-21高數(shù)A2期末考試含答案
評論
0/150
提交評論