O título resume minha pergunta, mas para elaborar basicamente o que eu quero entender é por que os designers do Android querem que os aplicativos que precisam trabalhar com dados compartilhados usem um provedor de conteúdo em vez de apenas acessar o banco de dados SQLite diretamente?
A única razão pela qual consigo pensar é na segurança, porque certos arquivos podem ser acessados apenas em certos processos e, dessa forma, o Provedor de Conteúdo é o gatekeeper que garante que cada aplicativo tenha os privilégios adequados antes de permitir acesso de leitura e / ou gravação ao arquivo do banco de dados. Essa é a principal razão pela qual o ContentProvider foi criado?