Kostia Dombrovsky
Kostia Dombrovsky

Reputation: 1647

Use sqlite database from Android app resources

I've started Android programming recently so bear with me :)

I develop an app which has all of its content stored in database.sql file. I've implemented a subclass of SQLiteOpenHelper and added database.sql to my project assets.

public class DBHelper extends SQLiteOpenHelper
{
public DBHelper (Context ctx)
{
  super(ctx, "database.sql", null, 1);
}
}

This thing doesn't work. I just get an exception every time I try to do smth with DB :(

Upvotes: 2

Views: 6658

Answers (2)

Alex Waddell
Alex Waddell

Reputation: 196

You have 3 choices when you want to create a database locally in Android; hopefully they will support deployment directly from the APK soon. The database needs to be in a specific location :

/data/data/YOUR_PACKAGE/databases/

  1. you can download the database and write it to the database folder from a known Net location.
  2. you can create the database using code.
  3. you can copy the database from your assets folder to the database folder (doubles space required).

Also see http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/

Upvotes: 4

nico
nico

Reputation: 1748

You need to override onCreate and onUpdate as well, have a look to google's example here

Upvotes: 1

Related Questions