【问题标题】:Android SQLiteOpenHelper existing databaseAndroid SQLiteOpenHelper 现有数据库
【发布时间】:2010-06-09 12:47:53
【问题描述】:

来自 iPhone/MonoTouch C# 背景的新手 Q

我有一个来自另一个项目的现有 SQLite 数据库文件。

我在哪里将数据库文件包含到我的 Eclipse 项目中以使其与应用程序一起部署。

我需要指出数据库文件是可写的吗? (在 iPhone 世界中,您需要在首次使用前将应用程序包中的数据库文件复制到 iPhone 上的可写文件夹中。)

一旦我在手机上拥有数据库文件,我如何告诉 SQLiteOpenHelper 使用它? (我在自定义类中扩展了 SQLiteOpenHelper。

【问题讨论】:

    标签: android sqlite


    【解决方案1】:

    我在哪里将数据库文件包含到我的 Eclipse 项目中以使其与应用程序一起部署。

    您可以将 db 文件放在 res/rawassets/ 中。

    我需要指出数据库文件是可写的吗? (在 iPhone 世界中,您需要 在首次使用之前,将应用程序包中的数据库文件复制到 iPhone 上的可写文件夹中。)

    使用 Android,您必须将文件从捆绑包复制到应用的数据库目录中。然后,您的应用应该能够使用 SQLiteOpenHelper 打开数据库,就像您使用由您的应用创建的任何其他数据库一样。

    要打开文件(假设您将其放在res/raw),请调用Resource.openRawResource(id),要获取目标目录,请调用Context.getDatabasePath(filename)。数据库路径可能不存在,因此您可能需要先创建父目录。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多