我想构建一个拥有自己的数据库的应用程序。我知道可以使用LiteSQL,但除此之外我可以使用FileInputStream和FileOuputStream来使用标准文件系统。
我知道我可以使用FileOutputStream创建文件,它将被写入/data/data/com.mydomain/files/目录。我也知道,一旦文件被写入,它将保留在那里,下次应用程序运行时可以读取。
我的问题是:如何使用应用程序分发文件?我不想在第一次运行应用程序时强制创建该文件。我希望在应用程序打包之前创建它。
事实上,如果我决定使用LiteSQL,我将面临类似的问题。正确?
提前致谢,
m.k的。
答案 0 :(得分:0)
您可以将任何不需要编译的资源放入/res/raw
目录。
您可以将文件放在那里,并在第一次运行时使用getResources().openRawResource()
方法读取文件,然后将内容写入设备上的文件。
过去,我使用/res/raw
目录中的数据库转储文件来创建数据库的初始填充(如果要插入大量数据,这可能会非常耗时)。可以将实际的SQLite数据库文件放在那里,您可以将其复制到设备中。