我有一个扩展名为.s3db的数据库文件,它是使用SQLite Administrator创建的。我想用我的android应用程序连接到数据库。我已将数据库放在assets文件夹中。打开数据库需要编写什么代码?
答案 0 :(得分:0)
以下是一些完整的教程,其中显示了访问存储在资产文件夹中的数据库的分步过程:
use-existing-sqlite-database-in-android
using-your-own-sqlite-database
BTW如果你想使用手动创建的数据库(将在sdcard中),只需访问它:
File dbfile = new File("/sdcard/Your_db_File" );
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(dbfile, null);
答案 1 :(得分:0)
如前所述,结果是,在安装软件之后,我们应该将assets
文件夹中的数据库复制到/data/data/your_package/
文件夹,然后轻松使用它。为此,我使用下面的代码在运行时复制数据库。
if (!new File("/data/data/" + this.getPackageName()
+ "/database.sqlite").exists()) {
try {
FileOutputStream out = new FileOutputStream("data/data/"
+ this.getPackageName() + "/database.sqlite");
InputStream in = getAssets().open("databases/dic.db");
byte[] buffer = new byte[1024];
int readBytes = 0;
while ((readBytes = in.read(buffer)) != -1)
out.write(buffer, 0, readBytes);
in.close();
out.close();
} catch (IOException e) {
}
}
您应该将此代码放在MainActivity的onCreate
函数中。您可以在整个项目中轻松使用自己的数据库。要访问您的数据库,您可以使用以下代码:
SQLiteDatabase sqliteDB = SQLiteDatabase.openOrCreateDatabase(
"/data/data/" + this.getPackageName() + "/database.sqlite",
null);
Cursor cursor = sqliteDB.rawQuery("SELECT * FROM table", null); // example of query
享受它:)