Service詳解 學習(一)

2021-07-03 21:25:14 字數 1289 閱讀 9140

因為最近想用到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...