I am creating a database like this :
SQLiteDatabase db = openOrCreateDatabase("mydata.db",SQLiteDatabase.CREATE_IF_NECESSARY,null);
try
{
db.execSQL("CREATE TABLE IF NOT EXISTS vars (id INTEGER PRIMARY KEY ASC, varname,varvalue);");
db.execSQL("INSERT INTO vars (varname,varvalue) VALUES (\"user\",\"" + username + "\");");
Log.w("Test", "Am executat sql");
}
catch (SQLiteException e)
{
Log.w("Exceptie", "Acum or niciodata");
}
When i restart my program and i want to open it like this :
SQLiteDatabase objDb = null;
try
{
objDb = SQLiteDatabase.openDatabase("mydata.db", null, SQLiteDatabase.OPEN_READWRITE);
}
catch(SQLiteException e)
{
//addShortcut();//setShortCut(getApplicationContext(),"GpsRo");
//setContentView(R.layout.main);
Log.w("Exceptie", e.getMessage());
showForm = true;
}
I get an exception : unable to open database file…
What am i doing wrong ?
Your database is in the wrong place:
“mydata.db” means your Databasefile is in root: (Path: /mydata.db). Your App can’t write in the root folder.
Try
context.getFilesDir() + "/mydata.db"instead.In one Command: