Possible Approach 5, similar to 3 - a phony table with 3 columns: 1. Name/Key/Whatever 2. Type ("enumeration") 3. Data (string)
The client would only need to convert the data from string to the appropriate type. Cheers On Fri, Mar 27, 2009 at 11:21 AM, Jesse McGrew <jmcg...@gmail.com> wrote: > > 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 android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---