Ejemplo n.º 1
0
  public static BackupResult simpleBackup(Context context, String appName) {
    BackupResult result = new BackupResult();
    String dbName = ODKFileUtils.getBackupFolder(appName) + generateFileName(context);
    result.setDatabaseFileName(dbName);

    FileInputStream fromFile = null;
    FileOutputStream toFile = null;

    FileChannel from = null;
    FileChannel to = null;
    try {
      fromFile = new FileInputStream(ODKFileUtils.getCensusDbFullPath(appName));
      toFile = new FileOutputStream(dbName);
      from = fromFile.getChannel();
      to = toFile.getChannel();
      from.transferTo(0, from.size(), to);
      result.setSuccess(true);
    } catch (FileNotFoundException e) {
      result.setSuccess(false);
      e.printStackTrace();
    } catch (IOException e) {
      result.setSuccess(false);
      e.printStackTrace();
    } finally {
      if (fromFile != null) {
        try {
          fromFile.close();
        } catch (IOException e) {
          e.printStackTrace();
        }
      }

      if (toFile != null) {
        try {
          toFile.close();
        } catch (IOException e) {
          e.printStackTrace();
        }
      }

      if (from != null) {
        try {
          from.close();
        } catch (IOException e) {
          e.printStackTrace();
        }
      }

      if (to != null) {
        try {
          to.close();
        } catch (IOException e) {
          e.printStackTrace();
        }
      }
    }

    return result;
  }