Tutorial :Creating database in android



Question:

i was creating a database and deleting it, adding registries on my android htc mobile sqlite database without any problem.

But now, after last deleting of the database everytime i want to create a new one i get a sqlite exception that says me "unable to open database file" with the following data:

serialVersionUID (RuntimeException)= -7034897190745766939
cause= SQLiteException (id=830058513528)
cause= SQLiteException (id=830058513528)
detailMessage= "unable to open database file" (id=830058513560) stackState= (id=830058513672)
stackTrace= null

This is my code to create a database:

private static String DB_PATH = "/data/data/Android.Applications/databases/testdatabase.db";    public void OpenDataBase(){                SQLiteDatabase ApplicationDB = null;              //Si existe la base de datos              if(checkDataBase())              {                  //Open readonlymode                  String myPath = DB_PATH;                  //open database as readwrite mode                  ApplicationDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READWRITE);              }              else              {                  try                  {                      String myPath = DB_PATH ;                      ApplicationDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.CREATE_IF_NECESSARY);                      CreateTables();                      //create all the necessary tables                      System.out.println("DataBASE CREATED");                  }                  catch(SQLiteException e)                  {                      System.out.println("SQL LiteException"+ e.getMessage());                  }              }          }     private boolean checkDataBase(){            try{              String myPath = DB_PATH;              ApplicationDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY);            }catch(SQLiteException e){                //database does't exist yet.          }          if(ApplicationDB != null){                ApplicationDB.close();          }          return ApplicationDB != null ? true : false;      }  

And this is the code for delete database

 public boolean DeleteDatabase()          {              boolean wasdeleted;              try              {                  File file=new File(DB_PATH);                  wasdeleted=file.delete();              }              catch(SecurityException e)              {                  wasdeleted=false;                }              return wasdeleted;          }  

Could you give me a hand? im stucked here, cause this code works few hours ago...

Thanks in advance. Best Regards. Jose.


Solution:1

You might consider switching to use SQLiteOpenHelper, which would eliminate most of your code.


Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »