0

我想知道如何在 Android 中使用 A DB MANAGER(GUI 工具)作为内置 SQLite db。我的意思是,我想通过 DB MANAGER 创建、编辑、删除、插入表/数据,而不是对其进行硬编码,然后我只想从数据库中读取数据。我可以将数据库导出/导入到/从android内置数据库吗?为什么我不能/不应该在我的应用程序中使用任何独立的、预加载的数据库?

4

1 回答 1

1

您可以在应用程序之外构建数据库,然后将其加载。没有理由不这样做。您只需要确保对其进行设置,使其符合 Android 所需的某些要求。这些要求是:

  • 每个表的主键需要是“_id”。
  • 数据库必须包含一个名为“android_metadata”的表
  • “android_metadata”表必须包含一个名为“locale”的字段
  • “locale”字段必须有一个条目(对于美国,它需要是“en_US”)
  • 设置数据库后,您可以选择。要么把它放在你的应用程序的资产文件夹中,这样它就会被编译到应用程序中,或者你可以设置代码来通过一些网络服务来获取它。无论哪种情况,它都需要在您的应用程序数据/数据库目录中结束,以便它可以被 android 系统使用(如果您希望它保持私有/其他应用程序无法使用)。

    可以在这里找到一篇涵盖我上面所说的内容的好文章(以及深入研究将数据库从资产文件夹复制到数据库目录的代码)。

    编辑

    您不能将数据库直接放入您的应用程序数据目录中,因为除了您的应用程序之外的任何东西都无法访问它(除非您根设备),因此您必须将它放在您的资产文件夹中,然后将其从那里复制到您的应用程序数据目录(或其他可以使用它的地方......它不能从您的应用程序资产中使用)。

    每个应用程序的数据库存储标准目录都不同,没有一个目录适用于所有应用程序。安卓使用/data/data/your.package.name/databases/.

    有很多方法可以从您的数据库中获取数据......从将其复制到文本文件并通过电子邮件发送到将数据库批发复制到/从您的 SD 卡中,任何其他应用程序都可以访问它,或者您可以使用数据库管理器访问它。

    于 2012-09-15T14:19:16.117 回答