我正在学习android中的数据库,我意识到在android中它并不像你创建数据库并将其放在内存中并访问它,而是在应用程序中创建和放置数据。我学会了在代码之外创建SQlite
数据库并将其复制到资源文件夹并使用InputStream
将其复制到新创建的数据库的方法,您可以从HERE找到此代码
所以我的问题是这不是这种数据冗余,因为我已经在.apk文件中创建了数据包,同时当app第一次运行时我创建另一个数据库并将我的数据复制到新创建的数据库中?
我知道还有其他方法可以做到这一点,例如创建一个XML文件,甚至使用INSERT
操作将数据放到数据库中,但这些方式不是很有用吗?
答案 0 :(得分:2)
所以我的问题是这种数据冗余是因为我已经在.apk文件中创建了数据包,同时当app第一次运行时我创建了另一个数据库并将我的数据复制到新创建的数据库中? / p>
您将拥有两份数据副本,一份在资产中,一份在内部存储上。资产副本应该在ZIP存档中压缩,这有点帮助。
顺便说一下,我希望你usingSQLiteAssetHelper
为此。
我知道还有其他方法可以做到这一点,比如创建一个XML文件,甚至使用INSERT操作将数据放到数据库中,但是这些方式是不是有额外的工作?
是
避免冗余复制的唯一方法是在应用首次运行时从Internet下载数据库。但是,这需要访问Internet,这对用户来说可能是方便也可能不方便。