2012-01-17 141 views
2

經過多年的.net開發,我纔剛剛開始android開發。我的起始書不能說明服務和內容提供者之間的區別。首先它聲稱一個服務是一個長時間運行的應用程序,它暴露了它在設備上的其他應用程序。這是Windows或Web服務在PC上執行的操作內容提供商vs服務

但是,它聲明「聯繫人」應用程序的內容提供者將API暴露給運行在andriod上的其他應用程序,以便它們可以迭代它。這正是服務所要做的。兩者都做同樣的事情。這兩者都允許其他應用通過它們的API進行交互。那麼區別是什麼呢。請給我一個方向,我可以閱讀這兩個函數的更合理的描述。因爲這似乎只是無稽之談。

回答

3

Android服務是在沒有用戶界面的情況下運行的(與Activity相反)。經常被說成是在後臺運行。這並不意味着它在一個單獨的線程上運行。

內容提供者是一個數據庫抽象層。它不一定在sql數據庫的頂部實現CRUD。大部分時間都是這樣。它是一個定義的接口來訪問它後面的數據。通常只推薦處於與數據不同的進程中的客戶端。我發現它也適用於內部應用程序數據訪問。

服務記錄here和內容提供商here