Activity好像是應用程式的眼睛,提供與user互動之窗。
BroadcastReceiver好像是耳朵,接收來自各方的Intent。
Service是在后台運行的。
一個Service 是一段長生命周期的,沒有用戶界面的程序。比較好的一個例子就是一個正在從播放列表中
播放歌曲的媒體播放器。在一個媒體播放器的應用中,應該會有多個activity,讓使用者可以選擇歌曲並播放
歌曲。然而,音樂重放這個功能並沒有對應的activity,因為使用者當然會認為在導航到其它屏幕時音樂應該
還在播放的。在這個例子中,媒體播放器這個activity 會使用Context.startService()來啟動一個service,從而
可以在后台保持音樂的播放。同時,系統也將保持這個service 一直執行,直到這個service 運行結束。另外,
我們還可以通過使用Context.bindService()方法,連接到一個service 上(如果這個service 還沒有運行將啟動
它)。當連接到一個service 之后,我們還可以service 提供的接口與它進行通訊。拿媒體播放器這個例子來說,我們還可以進行暫停、重播等操作
ContentProvider提供了訪問其他應用程序數據庫或其他數據的方法。