編輯:Android開發教程
一、Service簡介
Service是android 系統中的四大組件之一(Activity、Service、BroadcastReceiver、 ContentProvider),它跟Activity的級別差不多,但不能自己運行只能後台運行,並且可以和其他組件進行交互。service可以 在很多場合的應用中使用,比如播放多媒體的時候用戶啟動了其他Activity這個時候程序要在後台繼續播放,比如檢測SD卡上文 件的變化,再或者在後台記錄你地理信息位置的改變等等,總之服務總是藏在後台的。
Service的啟動有兩種方式: context.startService() 和 context.bindService()
二、Service啟動流程
context.startService() 啟動流程 :
context.startService() -> onCreate() -> onStart() -> Service running -> context.stopService() -> onDestroy() -> Service stop
如果Service還沒有運行,則 android先調用onCreate(),然後調用onStart();
如果Service已經運行,則只調用onStart(),所以一個Service的 onStart方法可能會重復調用多次。
如果stopService的時候會直接onDestroy,如果是調用者自己直接退出而沒有調用 stopService的話,Service會一直在後台運行,該Service的調用者再啟動起來後可以通過stopService關閉Service。
所 以調用startService的生命周期為:onCreate --> onStart (可多次調用) --> onDestroy
context.bindService ()啟動流程:
context.bindService() -> onCreate() -> onBind() -> Service running -> onUnbind() -> onDestroy() -> Service stop
onBind()將返回給客戶端一個IBind 接口實例,IBind允許客戶端回調服務的方法,比如得到Service的實例、運行狀態或其他操作。這個時候把調用者(Context, 例如Activity)會和Service綁定在一起,Context退出了,Srevice就會調用onUnbind->onDestroy相應退出。
所以 調用bindService的生命周期為:onCreate --> onBind(只一次,不可多次綁定) --> onUnbind --> onDestory。
在Service每一次的開啟關閉過程中,只有onStart可被多次調用(通過多次startService調用),其他onCreate,onBind ,onUnbind,onDestory在一個生命周期中只能被調用一次。
1.背景android系統的系統截屏功能是google封裝起來的,也是大家都很想獲得的,經過一個多月的漫長研究,博主終於成功的在android新版本也就是4.3以上版本實
微軟已經對Android平台上的Outlook應用進行了升級,除了修復消費者反饋的大量BUG之外還對收件箱的功能進行了強化,為消費者提供未讀和已標記信息的篩選功能,此外還
ListView是一個可以被深度擴展的視圖。在做項目的時候,擴展ListView去顯示數據是必不可免的。接下 來會展示如何在ListView中去選擇多個物件,以及如何使用
作為Android應用開發者,不得不面對一個尴尬的局面,就是自己辛辛苦苦開發的應用可以被別人很輕易的就反編譯出來。Google似乎也發現了這個問題,從SDK2.3開始我們