将Firebase数据导出到文件

时间:2017-02-06 09:10:43

标签: android firebase firebase-realtime-database export

我正在处理在Android上使用Firebase构建的应用。该申请用于跟踪目前在我们护理下的住院病人。我们的团队可以为每位患者输入进度记录,并为每位患者添加所需的任务,并在他们完成后进行标记。我做了所有这些,但是,我需要添加一个选项,我可以选择一个患者,并将当前视图(包含与主记录关联的所有多对一数据)导出到外部文件(可编辑)文件),所以我们可以用它来写他/她的最终报告和摘要。我在网上搜索过,发现很多人建议将视图导出为位图,然后输出到pdf ...但这会使文档无法编辑..如果有人有任何想法,或者可以指向正确的方向,我很感激。最终格式不是真正的问题... pdf,txt,doc,html ....我想它并不重要,只要数据可以像当前视图一样导出(有序)并且有意义),并且可以编辑。

任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:3)

我曾经创建了一个应用程序,可以选择将数据导出到设备存储上的txt文件。这是我使用的方法:

public void exportTxt(String text){
        if(Environment.getExternalStorageState().equalsIgnoreCase("mounted"))//Check if Device Storage is present
        {
            try {
                File root = new File(Environment.getExternalStorageDirectory(), "MyAppFolder");//You might want to change this to the name of your app. (This is a folder that will be created to store all of your txt files)
                if (!root.exists()) {
                    root.mkdirs();
                }
                File myTxt = new File(root, "filename.txt"); //You might want to change the filename
                FileWriter writer = new FileWriter(myTxt);
                writer.append(text);//Writing the text
                writer.flush();
                writer.close();
                Toast.makeText(this, "File exported", Toast.LENGTH_SHORT).show();
            } catch (IOException e) {
                e.printStackTrace();
                Toast.makeText(this, "Error: "+e.getMessage(), Toast.LENGTH_SHORT).show();
            }
        }
        else
                Toast.makeText(this, "Can't access device storage!", Toast.LENGTH_SHORT).show();
}

不要忘记将此权限添加到AndroidManifest.xml文件中:

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

因此,为了使用此方法,您需要做的就是将所有currentView数据分组到一个String上并将其作为参数传递。

相关问题