Je regarde la vidéo Google I/O 2010 sur ce sujet et j'ai quelques questions pour m'assurer que je comprends bien.Modèles de base de données et de service Web
Google I/O 2010 - Android REST client applications
S'il vous plaît noter que j'ai aussi une compréhension très limitée de CursorAdapters
En ce moment, ma demande a juste une couche d'interface utilisateur. J'ai créé un objet appelé DbAdapter en utilisant des tutoriels Google pour créer une petite base de données et une table dans cette base de données.
J'ai créé une classe que j'appelle DataBroker (extension de ContentProvider) pour gérer la récupération des données de la base de données et l'appel des services Web pour mettre à jour les données.
Scénarios:
1) Supposons que je veux afficher la liste des articles dans mon ListActivity. Ai-je raison de supposer que j'écrirai une fonction dans mon DataBroker qui crée un Cursor à la table dans ma base de données qui contient ces éléments, lance un service qui lance un thread qui appelle un service web pour obtenir des éléments supplémentaires, puis retourne le Cursor à mon fil d'interface utilisateur? Faire ceci retournerait probablement le Curseur à mon fil d'interface utilisateur avant que le service Web ait fini, mais, je suppose, une fois que le CursorAdapter a un Curseur, il montrera automatiquement toutes les modifications faites à cette table de base de données, oui?
2) Maintenant, j'ai une liste d'éléments dans ma ListView. Supposons que je donne à l'utilisateur certaines fonctionnalités pour supprimer un élément. L'utilisateur exécute cette fonctionnalité. Il devrait appeler une fonction dans mon DataBroker qui met à jour la ligne dans ma base de données correspondant à cet élément, définissant la colonne status à STATE_DELETING (qui supprimera la ligne de ListView car le curseur a une clause excluant cet état), puis déclenche une service qui déclenche un thread qui frappe mon service Web, puis supprime la ligne dans la base de données lorsque vous avez terminé? En outre, supposons que j'ai plusieurs activités, est-ce que je cherche à avoir un curseur statique pour chaque activité avec une liste, en saisissant ce curseur dans l'activité onCreate, et si ce curseur est nul, en tapant mon DataBroker?
Je suppose que l'accès à la base de données devra également se faire dans un service. Est-ce que je dois avoir un service (base de données de coup) lançant un service (coup service de Web)? – Andrew
Je pense que je me penche plus vers le modèle ContentProvider. Je pourrais vraiment utiliser un tutoriel sur ce sujet avec des extraits de code si quelqu'un en connaît un. – Andrew