是否可以在不消耗双倍数据库空间的情况下发布Android应用程序?

时间:2013-04-29 13:27:20

标签: android sqlite

所以这是对这个问题的跟进(Ship an application with a database

看看这个问题,我只看到了3种在Android中获取SQLite数据库的方法。

  1. 在设计时将其放入Asset文件夹,并在安装时复制到数据文件夹。
  2. 使用SQLiteOpenHelper在安装时生成
  3. 安装应用程序后下载数据库。
  4. 所以在我看来,对于解决方案1和解决方案2,您将消耗双倍的磁盘空间。解决方案1意味着复制数据库,解决方案2意味着拥有一个数据库,但也必须存储脚本来编写数据(这可能与数据库一样大)。

    我会尝试解决方案3,但我没有任何地方可以放置一个可以从网络上免费访问的数据库,而且我是Android的新手,而且我真的不知道如何(可能在几周内) )。

    所以只是想知道,除非我使用解决方案3,否则在安装时需要数据库的任何Android应用程序需要两倍于初始填充数据的初始空间?有没有其他解决方案来解决这个问题?

1 个答案:

答案 0 :(得分:4)

  

因此,在我看来,对于解决方案1和解决方案2,您将占用两倍的磁盘空间。

作为ZIP文件的APK文件被压缩,因此“双重”可能夸大了案例。但是,是的,它会占用一些额外的磁盘空间。

  

解决方案1意味着复制数据库

如果“复制”你的意思是“复制”,是的。 SQLiteAssetHelper为您处理此问题。

  

我会尝试解决方案3,但我没有任何地方可以放置一个可以从网上免费访问的数据库

如果您计划通过Play商店进行分发,则需要一个网站才能推广和推广该应用,在这种情况下,您可以在自己的网站上托管数据库。

如果您计划通过自己的分销渠道进行分发,则需要一个网站才能托管APK本身以供下载,在这种情况下,您也可以在那里托管数据库。

如果您不打算发布应用程序,那么担心空间消耗几乎没有意义,因为它只会影响您。

  

还有其他解决办法解决这个问题吗?

如果您打算通过Play商店进行独家发布,可以查看expansion files。您仍然需要下载逻辑,但有时Play商店会为您下载该文件。