2010-06-04 7 views
2

mon application android gère une grande base de données de temps de passage de bus et nous aimerions permettre à d'autres applications d'afficher certains temps de passage de bus. Nous aimerions utiliser un fournisseur de contenu pour le faire. La plupart des exemples semblent concerner l'utilisation d'une base de données SQL, mais ... nous utilisons un fichier texte personnalisé. Je me demandais quelle serait la meilleure façon de faire cela. Je pensais pouvoir utiliser un fournisseur de contenu et implémenter l'interface Cursor sur un objet personnalisé que je remplirais manuellement avec mes données texte. Serait-ce possible? Tout le monde a une meilleure idée (à part de changer pour SQL Lite bien sûr)?Fournisseur de contenu Android sans SQL

Merci d'avance.

Répondre

3

Est-ce que ce serait possible?

Bien sûr. ConetntProvider est, en effet, une façade, ne dicte pas beaucoup sur l'implémentation interne.

La clé sera la documentation. Si vous n'utilisez pas SQLite en tant que magasin de données, vous ne prendrez probablement pas en charge les clauses complètes WHERE pour query() et autres. Par conséquent, vous devez vous assurer que tout ce que vous supportez pour les clauses WHERE, les colonnes disponibles, etc., vous le documentez bien, afin que les développeurs qui intègrent votre fournisseur de contenu sachent comment le faire. Sinon, ils peuvent faire des hypothèses erronées.

+0

Même si je bidouille avec URI, comment puis-je esquiver Cursor? (using new DB, Realm) – Dexter

+0

@Dexter: Vous ne pouvez pas "esquiver le curseur". Le domaine n'est pas conçu pour être placé derrière un 'ContentProvider'. Vous devez convertir les résultats de domaine en un 'MatrixCursor' ou une autre implémentation' Cursor'. – CommonsWare

+0

Mon motif principal est d'utiliser CursorLoader et les adaptateurs de synchronisation. Dois-je implémenter une forme de curseur ou devrais-je ignorer le fournisseur de contenu totalement et faire du code personnalisé. Je sais que c'est un vauge qstn, mais que feriez-vous dans ma situation. Mes besoins de synchronisation sont assez basiques. – Dexter

Questions connexes