如何访问Android中现有的SQLite数据库?

到目前为止,我们已经在android中开发了在运行时创build数据库的应用 我们想知道如何访问我们的android应用程序中的预build或现有的数据库/ sqlite文件? 请提供详细信息

Solutions Collecting From Web of "如何访问Android中现有的SQLite数据库?"

看看android.database.sqlite.SQLiteDatabase的文档。

特别是,有一个openDatabase()命令将访问给定文件path的数据库。

SQLiteDatabase db = SQLiteDatabase.openDatabase(path, null, 0); 

只需指定数据库path作为pathvariables,它应该工作。

我遵循了同样的道路,发现了两个问题:

  1. 在您创build的任何表上包含_id字段,并确保它是查询任何表时要返回的列的一部分。
  2. 您可能会遇到无法打开数据库的错误 closures它。 。 这是因为我们从现有的文件复制数据库,而不是在sqlite android API创build的数据库顶部创build表,并且android_metadata表可能不存在。 为了创build它,只需在你的db上运行以下查询:

    CREATE TABLE android_metadata (locale TEXT);

    并添加相应的语言环境,例如en_US

首先复制你的SDCARD,并在下面的例子中给出它的variables“DBNAME”的path。 如果你直接把它拉到SD卡上,它会是“/sdcard/persons.db”。

使用它来访问应用程序中的数据库:

 Context context = getApplicationContext(); context.getDatabasePath(DataBaseHelper.database_Name);