加载应用程序后使数据库可用,而无需重新创建它

时间:2012-12-21 09:53:31

标签: android database sqlite

我已经以编程方式创建了一个sql数据库,其默认方式是扩展SQLiteOpenHelper并覆盖onCreate。数据库在设备上成功创建,我可以从中插入和检索数据。

现在我需要将应用程序提交到商店。问题是我需要将数据库移动到资产,以便可以将其加载到包含应用程序的每个设备。我尝试使用av​​d pull从设备中检索数据库并将其放在资产中,但检索到的数据文件夹为空。每次加载应用程序时都无法重新创建数据库,因为这需要很长时间。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

按照以下步骤

1)在您的数据库上触发以下查询

Select * from my table;

2)通过上面的查询来检索行结果。

3)使用Gson将检索到的数据转换为Json。

4)创建简单的文本文件并将json保存到该文件中。

5)将此文件放入资产文件夹。

6)现在清除你的数据库,删除Gson库,删除上面的查询。

7)下次启动应用程序时,从资产加载文本文件(包含json响应),使用json库对其进行解析,并将行逐个插入到数据库表中。

8)仅在用户启动应用程序时第一次执行步骤7.

这不是完美的答案,但你可以试试这个。