2012-01-17 153 views
2

经过多年的.net开发,我才刚刚开始android开发。我的起始书不能说明服务和内容提供者之间的区别。首先它声称一个服务是一个长时间运行的应用程序,它暴露了它在设备上的其他应用程序。这是Windows或Web服务在PC上执行的操作内容提供商vs服务

但是,它声明“联系人”应用程序的内容提供者将API暴露给运行在andriod上的其他应用程序,以便它们可以迭代它。这正是服务所要做的。两者都做同样的事情。这两者都允许其他应用通过它们的API进行交互。那么区别是什么呢。请给我一个方向,我可以阅读这两个函数的更合理的描述。因为这似乎只是无稽之谈。

回答

3

Android服务是在没有用户界面的情况下运行的(与Activity相反)。经常被说成是在后台运行。这并不意味着它在一个单独的线程上运行。

内容提供者是一个数据库抽象层。它不一定在sql数据库的顶部实现CRUD。大部分时间都是这样。它是一个定义的接口来访问它后面的数据。通常只推荐处于与数据不同的进程中的客户端。我发现它也适用于内部应用程序数据访问。

服务记录here和内容提供商here