Initial database population from large data files, several problems

by Justin Allen Jaynes » Fri, 06 Mar 2009 05:13:56 GMT

Sponsored Links
 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 
    Scanner fileScanner = new 
    while ( fileScanner.hasNextLine() ) {
        String wordFromFile = fileScanner.nextLine();
         database.execSQL("INSERT INTO words (word) VALUES ('" + 
wordFromFile + "');");
    fileScanner = new 
    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?



Other Threads

1. Timeframe for adding SensorEventListener class to released SDK

This is part of the cupcake platform, which doesn't have a FRC date yet, and
even with that the date it appears on particular devices is really outside
of the scope of the open source project.

Dianne Hackborn
Android framework engineer

Note: please don't send private questions to me, as I don't have time to
provide private support.  All such questions should be posted on public
forums, where I and others can see and answer them.


2. Sell applications on market


Is it already possible for people outside US and GB to sell
applications on the market? Because i want to set up a merchant
account and on the form it is only possible to choose between US/GB
for my location!?

May this is only possible when we will receive the android update
(market is then no beta version)?


3. Antialias transformed bitmap ??

4. How to use android tool chain to compile a simple HelloWorld.cpp program

5. Whether Emulator supporting sensor Listener

6. More on android ...

7. Android application without UI