I'm writing a content provider that returns data about game sessions. This data comes from an SQLite table. However, the client that consumes it will also want summary data: total wins, current/best winning streak, and so on. I'm not sure which approach to use.
* Possible Approach 1: Do nothing, let the client calculate what it needs. The client could step through the whole table and calculate statistics itself. However, it's inefficient to send the entire database over the content provider link if the client only wants the summaries; this may also be prone to bugs because each client has to reimplement the summary calculations. * Possible Approach 2: Separate content URIs for summary data. The client could ask for a URI like content://myapp/summary/totalwins and get back a text/plain stream containing the number of wins. This seems like a big hassle to implement on both ends, though. Or it could ask for a URI like content://myapp/summary and get back an XML stream containing all the summary data, but this isn't much simpler. * Possible Approach 3: A phony table. The client could ask for a URI like content://myapp/summary and get back a cursor over a single row, with each summary value having its own column. This would not be an SQLite cursor but a custom in-memory cursor. It seems a little unnatural to use a table metaphor when there's always exactly one row, though. * Possible Approach 4: The extras bundle. Cursor has a getExtras() method that returns a bundle. The client could make a request for the main URI, content://myapp/sessions, and then just look at the extras bundle instead of reading any rows. However, there's no setExtras() method, so I'm stuck with whatever bundle object SQLite puts in there - and if it's Bundle.EMPTY, I'm out of luck. What do you recommend? Jesse --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---

