因為最近想用到service,所以今天系統的學習了一下service的用法。
service給我的感覺就和activity很相似,都是代表可執行的程式,只不過service是在後台執行的,沒有什麼實在的介面。service一旦啟動,和activity一樣,具有生命週期。使用activity或者service的判斷標準是:如果某個程式元件需要在執行時向使用者呈現某種介面,與使用者進行互動,就使用activity,否則就考慮使用service。
因為與activity很相似,所以使用方法也差不多,開發service的元件需要開發乙個service的子類,然後在androidmainfest.xml中配置這個service。
開發乙個service的子類,只需要重寫提供的幾種方法即可。
public class firstservice extends service
@override
public void ondestroy()
@override
public void oncreate()
@override
public int onstartcommand(intent intent, int flags, int startid)
}
每當service被建立時會呼叫oncreat()方法,多次啟動乙個已經被建立的service元件會呼叫onstartcommand()方法。
在androidmainfest.xml中配置該service:
無需指定label,因為是在後台執行,所以意義不大。
當service開發完成後,就可以在程式中執行該service了,執行service有兩種方法:
1.通過context的startservice()方法:使用這種方法,訪問者與service之間沒有關聯,即使訪問者退出了,service仍然執行。
1.通過context的bindservice()方法,這種方法的區別在於,一旦訪問者退出,service隨即終止。
public class mainactivity extends activity
});stop.setonclicklistener(new onclicklistener()
});}
}
以上只是簡單的呼叫service
然而,如果service和訪問者之間需要進行方法呼叫或者是資料交換,則應該使用bindservice(),unbindservice()方法啟動。
Service學習筆記 一
學習service的,必須提到service的兩種啟動方式,下面附上生命週期。通過startservice啟動後,service會一直無限期執行下去,只有外部呼叫了stopservice 或stopself 方法時,該service才會停止執行並銷毀。bindservice啟動服務特點 1.bind...
Service學習總結
生命週期 通過startservice啟動 正常執行時,順序 oncreate onstartcommand onstart 呼叫stopservice後 ondestroy 通過系統切片殺掉軟體後,service會關掉,不會走ondestroy,過一會service會自動再啟動,這個service...
Service學習筆記
四個手動呼叫的方法 手動呼叫的方法 作用startservice 啟動服務 stopservice 關閉服務 bindservice 繫結服務 unbindservice 解綁服務 五個內部自動呼叫的方法 內部自動呼叫的方法 作用oncreat 建立服務 onstartcommand 開始服務 on...