service是android的四大元件之一,與activity比較相似的元件,只能執行於後台沒有視覺化的介面
1、開發service需要兩個步驟
定義乙個service的子類定義子類myservice在androidmanifest.xml檔案中配置該service
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()在第一次建立的時候會呼叫androidmanifest.xml中註冊serviceonstartcommand(intent intent, int flags, int startid)每次啟用都會呼叫一次
onunbind(intent intent) 解除繫結呼叫
ondestroy() 銷毀服務呼叫
服務的啟動方式有兩種
通過 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...