資源描述:
《android服務(wù)service詳解》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、第8章Android服務(wù)·8.1Service起步·8.1.1Service的生命周期·8.1.2綁定Activity和Service·8.1.3在BroadcastReceiver中啟動Ser..·8.2.1獲得系統(tǒng)服務(wù)·8.2.2在模擬器上模擬重力感應(yīng)·8.3.1計時器:Chronometer·8.3.2預(yù)約時間Handler·8.3.4在線程中更新GUI組件·8.3.5全局定時器AlarmManager(1)·8.3.5全局定時器AlarmManager(2)·8.3.5全局定時器AlarmManager(3)·8.4.1什么是AIDL服務(wù)·8.4.2建立AIDL服務(wù)的步驟(1)·
2、8.4.2建立AIDL服務(wù)的步驟(2)·8.4.2建立AIDL服務(wù)的步驟(3)·8.5本章小結(jié)第8章Android服務(wù)服務(wù)(Service)是Android系統(tǒng)中4個應(yīng)用程序組件之一(其他的組件詳見3.2節(jié)的內(nèi)容)。服務(wù)主要用于兩個目的:后臺運行和跨進程訪問。通過啟動一個服務(wù),可以在不顯示界面的前提下在后臺運行指定的任務(wù),這樣可以不影響用戶做其他事情。通過AIDL服務(wù)可以實現(xiàn)不同進程之間的通信,這也是服務(wù)的重要用途之一。本章內(nèi)容Service的生命周期綁定Activity和Service在BroadcastReceiver中啟動Service系統(tǒng)服務(wù)時間服務(wù)在線程中更新GUI組件AIDL
3、服務(wù)在AIDL服務(wù)中傳遞復(fù)雜的數(shù)據(jù)8.1?Service起步Service并沒有實際界面,而是一直在Android系統(tǒng)的后臺運行。一般使用Service為應(yīng)用程序提供一些服務(wù),或不需要界面的功能,例如,從Internet下載文件、控制Video播放器等。本節(jié)主要介紹Service的啟動和結(jié)束過程(Service的生命周期)以及啟動Service的各種方法。8.1.1?Service的生命周期本節(jié)的例子代碼所在的工程目錄是srcch08ch08_servicelifecycleService與Activity一樣,也有一個從啟動到銷毀的過程,但Service的這個過程比Activity
4、簡單得多。Service啟動到銷毀的過程只會經(jīng)歷如下3個階段:創(chuàng)建服務(wù)開始服務(wù)銷毀服務(wù)一個服務(wù)實際上是一個繼承android.app.Service的類,當(dāng)服務(wù)經(jīng)歷上面3個階段后,會分別調(diào)用Service類中的3個事件方法進行交互,這3個事件方法如下:1.public?void?onCreate();?????????????????????//??創(chuàng)建服務(wù)?2.public?void?onStart(Intent?intent,?int?startId);????????????//??開始服務(wù)?3.public?void?onDestroy();???????????????????
5、?????//??銷毀服務(wù)?一個服務(wù)只會創(chuàng)建一次,銷毀一次,但可以開始多次,因此,onCreate和onDestroy方法只會被調(diào)用一次,而onStart方法會被調(diào)用多次。下面編寫一個服務(wù)類,具體看一下服務(wù)的生命周期由開始到銷毀的過程。1.package?net.blogjava.mobile.service;?2.import?android.app.Service;?3.import?android.content.Intent;?4.import?android.os.IBinder;?5.import?android.util.Log;?6.?7.//??MyService是一個
6、服務(wù)類,該類必須從android.app.Service類繼承?8.public?class?MyService?extends?Service?9.{?10.????@Override?11.????public?IBinder?onBind(Intent?intent)?12.????{?13.????????return?null;?14.????}?15.????//??當(dāng)服務(wù)第1次創(chuàng)建時調(diào)用該方法?16.????@Override?17.????public?void?onCreate()?18.????{?19.????????Log.d("MyService",?"onCr
7、eate");?20.????????super.onCreate();?21.????}?22.????//??當(dāng)服務(wù)銷毀時調(diào)用該方法?23.????@Override?24.????public?void?onDestroy()?25.????{?26.????????Log.d("MyService",?"onDestroy");?27.????????super.onDestroy();?28.????}?29.????//