Content providers. You can think of content providers as a database server.
A content provider's job is to manage access to persisted data, such as a SQLite database.
If your application is very simple, you might not necessarily create a content provider.
If you're building a larger application, or one that makes data available to multiple activities or applications, a content provider is the means of accessing your data.