Possibile scrivere fornitore di contenuti personalizzati per i database di sistema esistente?
Domanda
Non sono sicuro dell'utilità assoluta di questo, ma sembra come se dovrebbe essere possibile e utile.
Si può estendere ContentProvider
di fornire URIs
rappresentare nuove interrogazioni (vale a dire, si unisce in più tabelle non specificati da URIs
esistente) per un database di sistema esistente?
L'alternativa sembra essere che ho bisogno di scrivere una serie di cursor queries
poi unirsi a loro -. Sembra un sacco di doppioni inutili code
Ho cercato questo per i contatti database
come esercizio, ma nessun amore finora.
Il punto cruciale sembra essere che non posso aprire un database
in un altro pacchetto durante la fase di setup.
Sono appena completamente fuori nel campo di sinistra qui?
E 'possibile, come io sono nuovo di entrambi Java and Android
.
Commenti e / o puntatori a risorse rilevanti sono apprezzati.
Grazie,
Steve
Soluzione
Si può estendersi a ContentProvider fornire URI che rappresentano nuove query (Vale a dire, si unisce su più tavoli non specificato dal URI esistente) per un database di sistema esistente?
Non proprio, solo perché non si dispone di accesso diretto alle banche dati di sistema esistenti, in termini di SQLite. Ora, la creazione di un ContentProvider
che esegue i join per voi, come misura di riusabilità, è certamente fattibile, anche se mi piacerebbe ottenere preoccupati per l'overhead prestazioni di più luppolo cross-process.