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

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

  • 带整数列的SQLite表存储string
  • 由于java.lang.IllegalArgumentException,应用程序在启动时崩溃:列'_id'不存在
  • java.lang.IllegalStateException:尝试重新打开已关闭的对象(尝试关闭)
  • Android SQLite查询列不为空且不为空
  • Android Sqlite数据库架构
  • 资产文件夹中的数据库文件。 会被更新吗?
  • Android 2.1和2.2之间的SQLite差异
  • Android的SimpleCursorAdapter使用DISTINCT进行查询
  • 看看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);