I’ve noticed in more than one SQLite tutorial that the table is recreated in the onCreate() event of the class that extends SQLiteOpenHelper. I’ve already created my SQLite database and tables outside the Android environment (Eclipse IDE) with the help of a Firefox add-in. The database tables reside in the expected spot:
C:\aXX3&Space\Android\workspace\OnDemandAndAutomatic_Project\assets
It seems bizarre to me that I would have to recreate them programmatically each time (obviously, they continue to exist and retain data, or what would be the point)? However, I’m having a serious issue with this application right now which leads me to my question:
- Is it really necessary reminding Android every time about the database?
Much to my chagrin, I just realized that instead of creating my database tables in C:\aXX3&Space\Android\workspace\OnDemandAndAutomatic_Project\assets, I had put them in C:\aXX3&Space\Android\workspace\OnDemandAndAutomatic\assets, which was an earlier version of the application, yet copying the SQLite file to the proper location didn’t change things a single bit. If this is what has been causing the problem, being that my application was looking for an AWOL database, is it not enough to simply copy and paste the file? Must I do something to officially
introduce the database to the system/Android/Eclipse directory? Any suggestions?
Actually
SQLiteOpenHelperis responsible for your database creation, upgrade and many more.If you want to create tables programmatic then you have to write a create tables queries in the onCreate method of the
SQLiteOpenHelperclass.If you want to update your database after previously created database you can write the modified table’s queries in the onUpgrade method only you will have to change the database version.If you already created a database externally and if you want to use that database then you have to put that database in the assets folder and copy that file in the databases folder which is resides in the
/data/data/packagename/databasesfolder.here is the example for copy database from assets to databases folder
Here is the method which check for the databases and its version for copy
Here is the example which check whether the database is already exists or not?