To create a complete content provider, both applications should implement complete set of rules that the Content Provider functionality requires.
So, which means that the app A
that provides some content has a specific type of URI to provide the content over this URI with the help of ContentProvider
Now if the app B
wants to get the data it should will first use the ContentResolver
to resolve the URI of the app A
to get the data that the app A
's ContentProvider provides.
So the ContentProvider
provides the way to query the content that it is allowed to provide to other apps for example, and the ContentResolver
is used to resolve the URI of the app that is using the ContentProvider
to provide the content on that resolved URI.
Without ContentProvider you cannot provide content to other apps.
Without ContentResolver you cannot access content from other apps.
Further readings: ContentProviders
Hope it helps!!!