我当前的项目遇到了一个小问题。我正在做一个需要连接到 SQLite 数据库才能完成某些语句的 android 应用程序。我相信陈述等都很好,我唯一的问题是与数据库的连接不成功。
LogCat 错误:
04-18 08:20:30.688: E/Database(304): sqlite3_open_v2("jdbc:sqlite:res/raw/randomdb.db", &handle, 1, NULL) failed
所以到目前为止我连接数据库的代码是这样的:
String url = "jdbc:sqlite:res/raw/randomdb.db";
SQLiteDatabase db;
db = SQLiteDatabase.openDatabase(url, null, SQLiteDatabase.OPEN_READONLY);
如您所见,我正在尝试访问位于我的 project/res/raw 文件夹中的数据库。有没有人看到错误?
!!!更新!!! *我尝试使用 SQLiteOpenHelper,但仍然遇到一个我似乎无法解决的错误。这是我的新代码: *
public class DatabaseAdapter extends SQLiteOpenHelper {
private static String dbPath= "data/data/com.YourPackageName/applicationDb/";
private static String dbName = "YourDBName";
private SQLiteDatabase applicationDatabase;
private final Context applicationContext;
private boolean checkDataBase(){
File dbFile = new File( dbPath + dbName);
return dbFile.exists();
}
public void openDataBase() throws SQLException{
String fullDbPath= dbPath + dbName;
applicationDatabase = SQLiteDatabase.openDatabase( fullDbPath,null,SQLiteDatabase.OPEN_READONLY);
}
@Override
public void onCreate(SQLiteDatabase db) {
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
我收到此错误: 默认构造函数未定义隐式超级构造函数 SQLiteOpenHelper()。必须定义一个显式构造函数有 什么想法吗?会很好!