so what would you suggest?
I checked if all bytes of db copied, any yes it copies all of it. 
what should I do now? how can I load my prefilled 5MB database?

On Tuesday, March 13, 2012 11:30:11 AM UTC+2, Zsolt Vasvari wrote:
>
> I would very strongly advise you against doing this.  There is 
> no guarantee that the binary database file will be compatible across 
> Android version and much less across all custom ROMs.   
>
> On Tuesday, March 13, 2012 6:00:16 AM UTC+8, Halil Enver Soylu wrote:
>>
>> I have a 5MB database. I split it into <1MB chuck files.
>> application merges these files and creates its database. 
>>
>> However it works in some Android phones, and does not works in others. I 
>> tried almost dozen of code example in blogs. everytime I got same result.
>> App's platform vers. is 1.5 so it is not about platform vers.
>>
>> According to logs of phones that application crushs, app creates copies 
>> db file from Assets to database. then when it attempts to get a query for 
>> the first time, it crushs and gives that error:
>>
>> 03-11 01:11:34.111 I/Database( 4516): sqlite returned: error code = 11, msg 
>> = database corruption at line 46886 of [42537b6056]
>> 03-11 01:11:34.111 I/Database( 4516): sqlite returned: error code = 11, msg 
>> = database disk image is malformed
>> 03-11 01:11:34.111 D/AndroidRuntime( 4516): Shutting down VM
>> 03-11 01:11:34.111 W/dalvikvm( 4516): threadid=1: thread exiting with 
>> uncaught exception (group=0x40018560)
>> 03-11 01:11:34.111 E/AndroidRuntime( 4516): FATAL EXCEPTION: main
>> 03-11 01:11:34.111 E/AndroidRuntime( 4516): 
>> android.database.sqlite.​SQLiteDatabaseCorruptException​: database disk 
>> image is malformed: , while compiling: SELECT Names FROM MYTABLE WHERE 
>> SayfaNo = 1
>>
>>
>> and here is my codes that copies asset files into database
>>
>>
>> String[] dbFiles = myContext.getAssets().list(​ASSETS_DB_FOLDER);
>> OutputStream myOutput = new FileOutputStream(DB_PATH+DB_​NAME);
>>  for(int i =0; i < dbFiles.length; i++) 
>> {
>> Log.i("FFLOG","COPYDB:"+​dbFiles[i]);
>> InputStream myInput = 
>> myContext.getAssets().open(​ASSETS_DB_FOLDER+"/"+dbFiles[​i]);
>> byte[] buffer = new byte[1024];
>> int length;
>> while ((length = myInput.read(buffer)) > 0) {
>> myOutput.write(buffer, 0, length);
>> }
>> myInput.close();
>> }
>> myOutput.flush();
>> myOutput.close();
>>
>> please help me!!!!
>> if there were a problem about database file or query SQL code, it would 
>> not work in some phones. So, it is not about db file or query. I am looking 
>> for a solution for 2 weeks please help me
>>
>

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

Reply via email to