0

我需要发布一个应用程序,该应用程序使用对几个预先存在的 SQLite3 DB 的只读访问,每个数据库都是几个 100MB,总大小> 1GB。这些数据库是在 Mac 上创建的,目前用于发布的 iOS 应用程序中。我精通Java,但对Android很陌生。

这导致以下问题:

1)我需要修改数据库吗?我只打算将它们与 SQLiteDatabase::rawQuery 查询一起使用,所以我希望不需要绑定和元数据。

2)即使数据库仅用作只读数据库,我也必须将它们从应用程序包中复制出来或在第一次启动时将它们下载到用户目录中,这真的正确吗?

3)查询可能很慢。我想在线程中运行它们并通过回调提供数据。这是在普通 Java(可运行/线程)中完成的方式,还是我必须使用另一种方法?

4) 还有什么我明显错过的对 Androidan 很明显的东西吗?

4

2 回答 2

1

一个不错的 sqlite 助手类的例子看这里

  1. 你不应该需要编辑数据库。我的 sqlite 数据库的工作方式与我通过 sqlite3 或使用 android my sqlite helper 类访问它们的方式相同

  2. 一旦你复制它们,你就可以读写

  3. 不太确定这个答案。我会说虽然上面的数据库助手类似乎工作得很好(快)但我的数据库更小(500kb)

  4. 不这么认为

于 2012-06-06T13:28:38.117 回答
1

1)不,它应该可以正常工作。

2) Yes, if you want to ship an APK that is over 50Mb you will need to use an expansion file.

3) For easy background tasks with a call back you could use an ASyncTask.

于 2012-06-06T13:33:14.290 回答