FrioneL
FrioneL

Reputation: 941

What Android sqlite does?

I'm developing a sqlite database in my android application. I need it can grow easily, so I need that in future upgrades, I could change the database, etc.

I want to know if when I change the data base version in the sqlite creation method, it creates a new file of the database. If it does, then, in the onUpgrade I should migrate all the data, isn't it?

In conclusion, what onCreate does exactly? Does it create a new file of the database? Or does it modify the actually one?

I'm asking this because I dont want that the onCreate creates a new file... I want to alter the actual data base only.

Thanks

Upvotes: 0

Views: 85

Answers (2)

Kuffs
Kuffs

Reputation: 35661

OnCreate is only called when a database needs to be created for the first time.

OnUpgrade is called if the database already exists and the version numbers do not match. You should use OnUpgrade to alter your database from the old version to the new version.

Upvotes: 2

user994886
user994886

Reputation: 444

I am assuming you are referring to OnCreate method in SQLiteOpenHelper. It gets called when you request for a writable or readable database and the the database needs to be created. We do not call the oncreate method directly. So if a database is already existing and we request for a writeable or readable database --- no new database gets created.

Refer to these links for more information

http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html

http://developer.android.com/resources/tutorials/notepad/index.html

Upvotes: 0

Related Questions