2017-02-06 69 views
2

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

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

回答

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数据放在一个字符串中并将其作为参数传递。

+0

谢谢!我还没有尝试过,但看起来我可以从这里管理它......会让你知道它是怎么回事......但无论如何谢谢......暂时,我会考虑这个问题“回答“:) – hanykasem