Possível escrever um provedor de conteúdo personalizado para o banco de dados do sistema existente?
Pergunta
Não tenho certeza da utilidade absoluta disso, mas parece que deve ser possível e útil.
Você pode se estender ContentProvider
fornecer URIs
Representando novas consultas (ou seja, se junta a várias tabelas não especificadas por URIs
) para um banco de dados de sistema existente?
A alternativa parece ser que eu preciso escrever uma série de cursor queries
Em seguida, junte -se a eles - parece muita duplicação desnecessária de código.
Eu tenho tentado isso para os contatos database
Como exercício, mas nenhum amor até agora.
O ponto crucial parece ser que eu não posso abrir um database
em outro pacote durante a fase de configuração.
Estou completamente no campo esquerdo aqui?
É possível como eu sou novo para ambos Java and Android
.
Comentários e/ou ponteiros para recursos relevantes são apreciados.
Obrigado,
Steve
Solução
Você pode estender o ContentProvider para fornecer URIs representando novas consultas (ou seja, se junta a várias tabelas não especificadas pelos URIs existentes) para um banco de dados de sistema existente?
Na verdade, não, apenas porque você não tem acesso direto aos bancos de dados do sistema existentes, em termos de sqlite. Agora, criando um ContentProvider
Isso executa suas junções para você, como uma medida de reutilização, é certamente factível, embora eu fique preocupado com a sobrecarga de desempenho de vários lúpulos de processo cruzado.