我现在有一个应用程序,它使用多个实体将数据存储在 Room 数据库中。我需要的是获取表格的内容,将数据转换为 CSV 格式,然后通过电子邮件发送该格式。我已经确定了最后一部分,因为它只涉及通过带有ACTION_SEND. 这很容易。
我知道我可以获得实际数据库的路径并操作该文件。然而,Room 的设计者不遗余力地将 SQLite 放入一个黑匣子中,这似乎是一个坏主意。
我知道我还可以在其中一个 DAO 中编写一个查询方法,该方法以 CSV 格式返回一个字符串,然后可以将其转换为 File 对象。但是,这是一项大量工作,如果其他人为我这样做,我不会浪费我的时间。
所以,这是我的问题:如何将 Room 数据库表导出为 CSV 格式的字符串?如果有多种方法可以这样做,是否有首选方法?
额外问题:是否有任何首选方法来备份整个数据库?