Java 在android中创建数据库
我创建了一个数据库并删除了它,在我的android htc mobile sqlite数据库上添加了注册表,没有任何问题 但是现在,在上次删除数据库之后,每次我想要创建一个新的数据库时,我都会收到一个sqlite异常,该异常表示我“无法打开数据库文件”,其中包含以下数据: serialVersionUID(运行时异常)=-7034897190745766939Java 在android中创建数据库,java,android,Java,Android,我创建了一个数据库并删除了它,在我的android htc mobile sqlite数据库上添加了注册表,没有任何问题 但是现在,在上次删除数据库之后,每次我想要创建一个新的数据库时,我都会收到一个sqlite异常,该异常表示我“无法打开数据库文件”,其中包含以下数据: serialVersionUID(运行时异常)=-7034897190745766939 原因=SQLiteException(id=830058513528) 原因=SQLiteException(id=8300585135
原因=SQLiteException(id=830058513528)
原因=SQLiteException(id=830058513528)
detailMessage=“无法打开数据库文件”(id=830058513560) stackState=(id=830058513672)
stackTrace=null 这是我创建数据库的代码:
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;
}
这是删除数据库的代码
public boolean DeleteDatabase()
{
boolean wasdeleted;
try
{
File file=new File(DB_PATH);
wasdeleted=file.delete();
}
catch(SecurityException e)
{
wasdeleted=false;
}
return wasdeleted;
}
你能帮我一下吗?我在这里被卡住了,因为这个代码在几个小时前就开始工作了
提前谢谢。
顺致敬意,
若泽。 < p>您可以考虑切换使用<代码> SqLeLeOpenHelpP/COD>,这将消除大部分代码。 嗨,Currenty,我展示的代码是一个扩展SQLiteOpenHelper的类。谢谢当做Jose.SQLiteOpenHelper子类应该与您发布的内容完全不同。例如,您不会在SQLiteOpenHelper中打开自己的数据库——SQLiteDatabase对象作为onCreate()和onUpgrade()的参数提供给您。