我了解内容解析器接受来自客户的请求,并通过将它们定向到具有不同权限的内容提供者来解决这些请求。
我正在浏览 vogellas tutorial ,特别是 queryCalendar
方法,我注意到没有调用 Content Provider。我只看到内容解析器的代码:
ContentResolver cr = getContentResolver();
为什么没有调用Content Provider?
最佳答案
因为Content Provider是Android系统自己实现的。如果您查看代码,您会看到这一点:
Uri uri = Calendars.CONTENT_URI;
在Android系统中,某处注册了一个Content Provider来处理Content Provider对该Uri的请求。
简而言之:如果您想将某些数据公开给另一个应用程序(当然,没有人会阻止您在您的应用程序中使用它),您将只面对内容提供者。然后,您需要实现自己的一个(并通过 Uri 公开它)。 Content Resolver 是使用 Uri 与 Content Provider 对话的东西。
你也可以看看this Vogella tutorial查看如何定义您自己的 Content Provider。
关于java - 了解内容提供者和解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20951027/