Alistair, This is precisely the approach I was looking for. Thank you--most invaluable to me.
Justin Alistair. wrote: > Justin, > > You might find this article of interest. This is a technique to pre- > populate the database and bundle into the assets directory of your > application. > > http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/ > > Al. > > On Mar 5, 7:49 am, Justin Allen Jaynes <jus...@ragblue.com> wrote: > >> I'm building a dictionary application with 135,000 word entries (words >> only). My raw file must have been too large (1.5 meg), because I got >> this error: >> >> D/asset (909): Data exceeds UNCOMPRESS_DATA_MAX (1424000 vs 1048576) >> >> I've searched for this error with very few relevant hits. It seemed to >> mean I could not open an uncompressed file over a meg. So I then split >> the file into two smaller files and ran my code on both of them. It >> worked out fine. My total application size is 3 meg installed. >> >> My code is: >> public void onCreate(SQLiteDatabase database) { >> database.execSQL("CREATE TABLE " + DATABASE_TABLE + " (wordid >> INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, word VARCHAR);"); >> >> Scanner fileScanner = new >> Scanner(myContext.getResources().openRawResource(R.raw.wordlist)); >> while ( fileScanner.hasNextLine() ) { >> String wordFromFile = fileScanner.nextLine(); >> database.execSQL("INSERT INTO words (word) VALUES ('" + >> wordFromFile + "');"); >> } >> fileScanner = new >> Scanner(myContext.getResources().openRawResource(R.raw.wordlist2)); >> while ( fileScanner.hasNextLine() ) { >> String wordFromFile = fileScanner.nextLine(); >> database.execSQL("INSERT INTO words (word) VALUES ('" + >> wordFromFile + "');"); >> } >> >> } >> >> However, when the application is first run, it takes several MINUTES to >> initialize the database in this way. Is there a way (like a copy >> command, as found in, say, postgresql, or a restore of a database file) >> to copy data from a raw file, and can such a method be accessed from the >> SDK so that standard first-run procedures can correctly set up the >> database? I have been unable to locate such a luxury. I am seeking to >> speed up this data populating process. >> >> First question: how can I speed up my database population? >> >> Second question: is there a way to read a raw resource file larger than >> 1 megabyte (aside from making it into two smaller files)? If not, why? >> >> Justin >> > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---