How to disable Android SQLite Journal file?
Pergunta
I am using transactions to insert multiple rows into table. But, I still see temporary sqlite-journal file being created on SD Card along with sqlite table.
How do I disable creation of journal file?
Thanks
Solução
You can elect to keep the journal in memory so that no -journal file is created:
pragma journal_mode=memory;
Note that you need to run this each time you open the database.
I recommend that you read the following to get a better idea of what is going on:
Outras dicas
The journal is an internal SQLite file that is used when running transactions (to ensure roll back). You cannot disable it, and you don't want to.
Please remind, the statement PRAGMA journal_mode=OFF
or PRAGMA journal_mode=memory
is valid per transaction base. You need to set it for every transaction.
You can delete journal file using below code
@Override
public void onOpen(SQLiteDatabase db) {
Cursor cc = db.rawQuery("PRAGMA journal_mode=DELETE",null);
Log.i(TAG,"--- cursor count " + cc.getCount());
super.onOpen(db);
}
You need to use cursor. Cursor is a interface provides random read-write access to the result set returned by a database query. The journal file will get delete if you use cursor.