2017-02-06 12 views
2

Я работаю над приложением, созданным с использованием Firebase на Android. Приложение предназначено для отслеживания пациентов, находящихся в настоящее время под нашим наблюдением. Наша команда может вводить заметки о прогрессе для каждого пациента и добавлять задачи, которые необходимо выполнить для каждого пациента, и отмечать их, когда они будут сделаны. Однако у меня есть все, что мне нужно, но мне нужно добавить еще один вариант, где я могу выбрать пациента, и экспортировать текущее представление (со всеми данными «все-ко-многим», связанным с основной записью) во внешний файл (редактируемый файл), поэтому мы можем использовать его для написания его окончательного отчета и сводки. Я искал в Интернете и обнаружил, что многие рекомендуют экспортировать представление в виде растрового изображения, а затем в 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 на одном String и передайте его как параметр.

+0

спасибо !! Я еще не пробовал, но похоже, что я могу справиться с этим здесь ... дайте понять, как это происходит ... но спасибо в любом случае ... пока я буду рассматривать этот вопрос » ":) – hanykasem

Смежные вопросы