如何使用已填充的数据库发布Android应用程序?

如何使用已填充的数据库发布Android应用程序?,android,database,sqlite,copy,Android,Database,Sqlite,Copy,我创建了我的第一个应用程序,我会将它与一个包含大约600个条目的本地数据库一起发布。 我试图在课堂上硬编码这些数据,但我认为这不是一个好主意。 那么,是否可以在应用程序第一次启动时将数据库复制到手机上?将文件存储在Assets文件夹中或以xml格式存储在res文件夹中。在启动过程中,您可以复制到数据库中。而不是硬编码。您可以将该.db文件放在应用程序项目的Assets文件夹中。然后使用简单的java的文件IO。您可以从Assets复制该文件,并将其放置在相应的文件夹中,从该文件夹中可以在应用程序

我创建了我的第一个应用程序,我会将它与一个包含大约600个条目的本地数据库一起发布。 我试图在课堂上硬编码这些数据,但我认为这不是一个好主意。
那么,是否可以在应用程序第一次启动时将数据库复制到手机上?

将文件存储在Assets文件夹中或以xml格式存储在res文件夹中。在启动过程中,您可以复制到数据库中。

而不是硬编码。您可以将该.db文件放在应用程序项目的Assets文件夹中。然后使用简单的java的
文件IO
。您可以从Assets复制该文件,并将其放置在相应的文件夹中,从该文件夹中可以在应用程序中访问该文件



请参见此

这主要取决于您的应用程序类型、数据的敏感性以及我能想到的一些可能性:

  • 将包含所有值的原始SQL文本文件添加到项目中。然后每次在
    Application.onCreate()
    中检查数据库是否存在。如果不是,则运行导入作业,该作业在新创建的数据库上运行SQL

  • 与第一个相同,但是您可以通过https下载SQL文件,以确保反编译应用程序不会泄漏信息。但是,您需要确保用户具有internet连接

  • 如果您喜欢使用数据库转储,还可以导入(和导出)SQLite转储。然后您可以使用所描述的方法。我不推荐这样做,因为在SQL中修复小问题比在转储中更容易