Service的使用和理解

2021-10-01 21:59:28 字數 1515 閱讀 2060

service是android的四大元件之一,與activity比較相似的元件,只能執行於後台沒有視覺化的介面

1、開發service需要兩個步驟

定義乙個service的子類

在androidmanifest.xml檔案中配置該service

定義子類myservice

public class myservice extends service 

@nullable

@override

public ibinder onbind(intent intent)

@override

public void oncreate()

@override

public int onstartcommand(intent intent, int flags, int startid)

@override

public boolean onunbind(intent intent)

@override

public void ondestroy()

service也有屬於自己的生命週期

oncreate()在第一次建立的時候會呼叫

onstartcommand(intent intent, int flags, int startid)每次啟用都會呼叫一次

onunbind(intent intent) 解除繫結呼叫

ondestroy() 銷毀服務呼叫

androidmanifest.xml中註冊service

服務的啟動方式有兩種

通過 startservice(intent i)   訪問者與service之間沒有關聯,即使訪問者離開服務仍然執行

通過 bindservice() 訪問者與服務繫結在一起,訪問者離開服務停止

繫結列子

/**

* 服務連線監聽

*/private serviceconnection connection=new serviceconnection()

@override

public void onservicedisconnected(componentname name)

};//開始繫結

bindservice(new intent(clipdrawableactivity.this,myservice.class),connection,service.bind_auto_create);

會執行 onserviceconnected方法

//解除繫結

unbindservice(connection);

執行了@override

public boolean onunbind(intent intent)

清晰理解Service

生命週期 先呼叫unbindservice stopservice start sticky compatibility 0 相容start sticky,不確保服務一定會被重啟在被殺死之後 start sticky 1 如果service的程序被殺掉,當返回這個值時,把它放在初始狀態,不保留它的傳...

DAO層和Service層的究極理解

先看後贊,養成習慣。點讚收藏,人生輝煌。說實話,學了挺久的mvc架構了,到現在也一直沒整明白service層和dao層是幹什麼用的,哪怕我目前已經學到了spring boot,但回過頭來看這些基礎知識,依然是不明就裡。感覺service層並沒有做什麼實際的工作,只是接受了servlet,同時又呼叫了...

Service使用方式

使用service的場合 1.乙個或多個activity需要向同一應用中的service發出執行某一操作的命令。ps 不需要繫結 2.某個activity需要同一應用中的service為其單獨服務,當此activity消毀時,也將為其服務的service一併消毀。ps 需要繫結 3.多個activi...