添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

本问题已经有最佳答案,请猛点这里访问。

我使用sql浏览器创建了一个sqlite数据库(mydb.db)

然后我在android应用程序中创建了assets文件夹,并在其上添加了mydb.db文件。

如何连接到这个数据库?

我使用此代码,但它无法正常工作。

SQLiteDatabase db;

db = openOrCreateDatabase("DataBase.db",

SQLiteDatabase.CREATE_IF_NECESSARY, null);

Cursor c = db.rawQuery("SELECT * FROM user", null);

c.moveToFirst();

while(!c.isAfterLast()) {

Toast.makeText(this, c.getString(0) +"" + c.getString(1), Toast.LENGTH_SHORT).show();

c.moveToNext();

}

db.close();

您可以使用SQLiteAssetHelper,它具有在您的应用首次运行时安装预打包数据库所需的所有代码。

您无法直接打开assets文件夹中的文件。 您必须将assets文件夹的数据库文件复制到内部/外部存储,然后使用文件路径打开该文件。

快速查看代码示例以复制数据库:

private void copydatabase() throws IOException {

//Open your local db as the input stream

InputStream myinput = mycontext.getAssets().open(DB_NAME);

// Path to the just created empty db

String outfilename = DB_PATH + DB_NAME;

//Open the empty db as the output stream

OutputStream myoutput = new FileOutputStream("/data/data/(packagename)/databases   /(datbasename).sqlite");

// transfer byte to inputfile to outputfile

byte[] buffer = new byte[1024];

int length;

while ((length = myinput.read(buffer))>0) {

myoutput.write(buffer,0,length);

}

//Close the streams

myoutput.flush();

myoutput.close();

myinput.close();

}

现在你可以使用db了:

String mypath = DB_PATH + DB_NAME;

myDataBase = SQLiteDatabase.openDatabase(mypath, null, SQLiteDatabase.OPEN_READWRITE);

版权声明:本文为CSDN博主「weixin_42522518」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接: https://blog.csdn.net/weixin_42522518/article/details/117558549