> I think the main difference here is that I am not discounting alternative 
> approaches.

I'll admit that I overspoke slightly when I said it was "dumb" to use
a DB in this case.  I wouldn't say that it's smart or at all optimal,
but it's not as outrageous as some other setups I've seen.  But it
seems a bit silly to me to be working on Android, that is so heavily
(over) optimized in favor of "lightweight", and then use a database
sledgehammer to kill a tiny data access fly.

(Incidentally, I used a binary radix tree (a form of trie) in the
project that I'm just completing on a different platform.  Used it to
find data (via a KWIC index) in an SQL DB, since regular searching is
so awkward on a phone.)

On Oct 4, 6:25 pm, Tom Gibara <[email protected]> wrote:
> > There's no index "lookup" -- it's a "look-at" operation -- no
>
> searching.
>
> I didn't mean to imply that there was searching.
>
> And you have to write the code to build the other ways too.  One way
>
> or another there must be logic to read the (presumably plain-text)
>
> source file and insert it into:
>
> -- An XML document
>
> -- An SQL row
>
> -- Something else
>
> The android SDK comes bundled with sqlite3 which includes an import command
> which could help a lot (I've not used it so I couldn't say for sure).
>
> And with both the XML document and the SQL row you still need some
>
> logic on the other end to extract the data and make it "live", so no
>
> savings there (probably a loss).
>
> Not sure where XML has come into it, but as for a SQL database, yes, this
> will need to be copied out of the raw resources before it can be opened and
> used as such. I didn't say that a database is less work, I wanted to draw
> attention to the fact that the algorithmics are only part of the effort
> involved.
>
> In terms of dynamic update, you've got a problem in any case as to how
>
> you manage that atomically.  Easiest is to download the new files and
>
> then swap them in in place of the old, a simple process, and no more
>
> subject to problems on a crash (actually less so) than swapping in a
>
> new copy of the DB.
>
> I anticipate that swapping out a copy of the DB would only require the
> additional step of first closing it beforehand and reopening it afterwards
> -- little different than closing and reopening the 'packed string' file. Of
> course, with such a file, you are limited to supplying complete updates (or
> at best incremental updates) to the file. A database affords more
> flexibility.
>
> And the OP specifically framed it as a read-only data problem.
>
> The absence of a requirement stating that data are changeable is not the
> same thing as the stated requirement that they are not. I think the main
> difference here is that I am not discounting alternative approaches -- I
> have used a compact frequency weighted trie to package a 250k word corpus
> into an apk and I wouldn't have considered a sqlite DB for this task --
> whereas you have said it's dumb to use a database. I don't think it is
> necessarily dumb, even if there are more efficient alternatives, because
> applications evolve, and a database might actually be less work in the long
> run.
>
> Tom

-- 
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

Reply via email to