问题
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 :(
回答1:
You need to override onCreate and onUpdate as well, have a look to google's example here
回答2:
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/
- you can download the database and write it to the database folder from a known Net location.
- you can create the database using code.
- 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/
来源:https://stackoverflow.com/questions/1894984/use-sqlite-database-from-android-app-resources