Junior — Middle
Pode explicar o princípio de funcionamento do Content Provider no Android e como ele interage com outros componentes da aplicação?
sobes.tech IA
Resposta da IA
Content Provider no Android é um componente que fornece um mecanismo para troca de dados entre aplicações. Encapsula o acesso aos dados (por exemplo, a uma base de dados SQLite, ficheiros ou outras fontes) e fornece uma interface padrão para leitura e escrita de dados através de URI.
Princípio de funcionamento:
- Os dados estão acessíveis através de URI, que identificam recursos específicos.
- Para aceder aos dados, utilizam-se métodos: query(), insert(), update(), delete(), getType().
- Outros componentes (ou aplicações) acedem ao Content Provider através do ContentResolver, que atua como intermediário.
Interação com outros componentes:
- A aplicação que deseja obter dados usa o ContentResolver e o URI do Content Provider.
- O Content Provider processa as requisições e devolve os dados em formato de Cursor ou outros formatos.
- Isto permite trocar dados entre aplicações de forma segura e padronizada.
Exemplo de uso do ContentResolver para ler contactos:
val cursor = contentResolver.query(
ContactsContract.Contacts.CONTENT_URI,
null, null, null, null
)
if (cursor != null) {
while (cursor.moveToNext()) {
val name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME))
println("Nome do contacto: $name")
}
cursor.close()
}