【问题标题】:Android: is it possible to access a sqlite file that is bundled with my application?Android:是否可以访问与我的应用程序捆绑在一起的 sqlite 文件?
【发布时间】:2010-03-11 00:07:18
【问题描述】:

我有一个已在本地填充的数据库。我想将它与我的应用程序捆绑在一起并在运行时访问它(不想在任何地方重写它,也不想写入数据库,只需读取)。我添加到包中的文件的路径是什么?而且,我可以将该路径与 SQLiteDatabase.openDatabase 一起使用吗?

【问题讨论】:

标签: database android sqlite package


【解决方案1】:

嗯 - 你回答了你自己的问题

static SQLiteDatabase  openDatabase(String path, SQLiteDatabase.CursorFactory factory, int flags)

根据标志 OPEN_READWRITE OPEN_READONLY CREATE_IF_NECESSARY 和/或 NO_LOCALIZED_COLLATORS 打开数据库。

看起来你可以

(当然你不会用 CREATE_IF_NECESSARY 来调用它,而是用 OPEN_READONLY)

【讨论】:

  • 这里:stackoverflow.com/questions/2364185/… 只需将您的数据库打包为 resources.zip 并将其放入 res/raw;然后您可以按照提供的链接中的说明访问它
  • 是的,但是我可以将它作为输入流进行访问——我不想重新写出来,然后用 SQLiteDatabase.openDatabase 打开它。有没有办法从流中打开数据库?
  • 你有没有找到一个函数,可以让你从流中打开数据库?
  • 可能是因为没有这个功能? openDatabase 都没有流作为参数...此外,您不认为 sqlite 必须先加载数据库才能知道它有什么吗?
猜你喜欢
  • 2020-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-07
  • 2017-01-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多