Btw, this is how the app works: There is a text view and a button. The user will enter a single word, and when he presses the button, the application checks whether this is actually a real word.
On 2 Jun., 09:27, kaloer <mkal...@gmail.com> wrote: > It is a list of english words, that shall be used as a spell checker. > I have tried to use a txt file and put the data to a List, but this is > too slow because it needs to read all the data. But Maybe I should > create a table in the database for each letter (and every second, if > necessary) , so that it doesn't need to read all the data. > > On 1 Jun., 18:28, Raphael <r...@android.com> wrote: > > > This begs to a different kind of question: do you really need to store > > this data in an sqlite3 database? > > > There are other alternatives, it all depends on your data and how you > > want to use it so you might want to help us here. > > > Example: you mention "words", just not any string, so your data might > > be a dictionary. > > Then in this case you could simply use a binary file, in your own > > format, packaged in your project/res/raw directory, which you can > > retrieve > > withhttp://d.android.com/reference/android/content/res/Resources.html#ope...) > > -- the file is added uncompressed to your APK but the APK itself is a > > zip file, which is why you get an input stream. That also means if you > > need direct random access you'll probably want to write it somewhere, > > such as on the sdcard. > > Make sure to write an index for fast lookup, for example the offset of > > words starting by A, by B, etc. You will probably need to experiment a > > bit to get a tradeof between simplicity of the index and lookup time, > > e.g. a tree will have faster lookup times but is more tricky to get > > right, etc. > > > R/ > > > On Sun, May 31, 2009 at 6:11 AM, kaloer <mkal...@gmail.com> wrote: > > > > Okay, I'll look at it.. > > > Thank you very much for your help > > > > On 31 Maj, 14:59, Mark Murphy <mmur...@commonsware.com> wrote: > > >> kaloer wrote: > > >> > Well, of course I shouldn't. This only adds one line when it's called. > > >> > Should I call it before the while-loop begins? > > > >> You're right -- I skimmed it too quickly. > > > >> It's actually a bit more complicated than that. The flow is: > > > >> begin-transaction > > >> insert 100 rows worth of stuff > > >> set-transaction-successful > > > >> and do that whole block 1000 times for 100,000 words. > > > >> So you're probably going to wind up with something like: > > > >> while ((line=input.readLine())!=null) { > > >> DB.beginTransaction(); > > >> DB.execSQL(...); > > > >> for (int i=0;i<99 && (line=input.readLine())!=null; i++) { > > >> DB.execSQL(...); > > >> } > > > >> DB.setTransactionSuccessful(); > > > >> } > > > >> plus an appropriate try/catch in there. > > > >> However, bear in mind that this will still take a very long time, so > > >> unless you're trying this for educational purposes, I'd move along to > > >> one of the other options. > > > >> -- > > >> Mark Murphy (a Commons > > >> Guy)http://commonsware.com|http://twitter.com/commonsguy > > > >> _The Busy Coder's Guide to Android Development_ Version 2.0 Available! --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Beginners" group. To post to this group, send email to android-beginners@googlegroups.com To unsubscribe from this group, send email to android-beginners-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-beginners?hl=en -~----------~----~----~----~------~----~------~--~---