使用Android应用程序发送(巨大!)SQLite3数据库

时间:2012-06-06 13:22:13

标签: android sqlite

我需要发布一个应用程序,该应用程序使用对几个预先存在的SQLite3数据库的只读访问权限,每个数据库都是100MB,总的组合大小> 1GB。数据库是在Mac上创建的,目前用于运送iOS应用程序。我非常精通Java,但不熟悉Android。

这导致以下问题:

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

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

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

4)对于我已经明显错过的Androidan,还有其他明显的东西吗?

2 个答案:

答案 0 :(得分:1)

有关sqlite帮助程序类的一个不错的示例,请查看here

  1. 您不需要编辑数据库。我的sqlite数据库工作相同,我通过sqlite3或android我的sqlite帮助类访问它们

  2. 复制后,您可以阅读和书写

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

  4. 不这么认为

答案 1 :(得分:1)

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

2)是的,如果您要发送超过50Mb的APK,则需要使用expansion文件。

3)对于使用回调的简单后台任务,您可以使用ASyncTask