【发布时间】:2014-12-30 11:56:25
【问题描述】:
我创建了我的第一个应用程序,并将它与包含大约 600 个条目的本地数据库一起发布。 我试图在课堂上对这些数据进行硬编码,但我认为这不是一个好主意。 那么是否可以在第一次启动应用程序时将数据库复制到手机?
【问题讨论】:
标签: android database sqlite copy
我创建了我的第一个应用程序,并将它与包含大约 600 个条目的本地数据库一起发布。 我试图在课堂上对这些数据进行硬编码,但我认为这不是一个好主意。 那么是否可以在第一次启动应用程序时将数据库复制到手机?
【问题讨论】:
标签: android database sqlite copy
将文件存储在assets文件夹中或以xml格式存储在res文件夹中。在启动过程中您可以复制到数据库中。
【讨论】:
而不是硬编码。您可以将该 .db 文件放在应用程序项目的 assests 文件夹中。然后使用 java 的简单 File IO。您可以从资产复制文件并将其放在相应的文件夹中您可以在应用程序中访问它。
看到这个link
【讨论】:
这主要取决于您的应用程序类型,数据的敏感性,我能想到的一些可能性:
将包含所有值的原始 SQL 文本文件添加到项目中。然后每次检查Application.onCreate() 是否存在数据库。如果没有,则运行导入作业,该作业在新创建的数据库上运行 SQL。
与第一个相同,但您通过 https 下载 SQL 文件,确保反编译应用程序不会泄漏信息。不过,您需要确保用户有互联网连接。
如果您更喜欢使用数据库转储,您还可以导入(和导出)SQLite 转储。然后你可以使用here to set it up in your app 描述的方法。我不推荐它,因为在 SQL 中修复小问题比在转储中更容易。
【讨论】: