2012-01-17 6 views
2

私は長年の.net開発の後にアンドロイド開発を始めています。私の初心者の本では、サービスとコンテンツプロバイダの違いを明確にしていません。 最初に、このサービスは長時間実行されているアプリケーションであり、デバイス上の他のアプリケーションを公開すると主張しています。これは、ウィンドウやウェブサービスがPC上で行うことですコンテンツプロバイダー対サービス

しかし、それは "連絡先"アプリケーションのコンテンツプロバイダは、andriodで実行されている他のアプリケーションにAPIを公開するので、彼らはそれを反復することができます。これはまさにサービスがすることです。両方とも同じことをします。両方とも、他のアプリはAPIを介して対話することができます。違いは何ですか?私はこれら2つの関数のより論理的な説明を読むことができる方向に私を指摘してください。これはちょうどノンセンスであるように見えます。

答えて

3

Androidサービスは、ユーザーインターフェイスなしで実行されるものです(アクティビティとは対照的に)。バックグラウンドで実行されているとよく言われます。これは別のスレッドで実行されることを意味しません。

コンテンツプロバイダーは、データベース抽象化レイヤーです。それは必ずしもSQLデータベースの上にCRUDを実装していません。それは時代の大部分です。その背後にあるデータにアクセスするための定義済みのインタフェースです。多くの場合、データとは別のプロセスにあるクライアントにのみ推奨されます。内部のアプリケーションデータへのアクセスにも役立ちます。

サービスはhereとコンテンツプロバイダhereと記載されています。

関連する問題