コード例 #1
0
ファイル: KMMDroidApp.java プロジェクト: EABonney/KMMDroid
  private void writeDeviceState(List<KMMDDeviceItem> deviceState) {
    XmlSerializer serializer = Xml.newSerializer();
    StringWriter writer = new StringWriter();
    try {
      serializer.setOutput(writer);
      serializer.startDocument("UTF-8", true);
      serializer.startTag("", "DeviceState");
      for (KMMDDeviceItem item : deviceState) {
        serializer.startTag("", "item");
        serializer.startTag("", "type");
        serializer.text(item.getType());
        serializer.endTag("", "type");
        serializer.startTag("", "name");
        serializer.text(item.getName());
        serializer.endTag("", "name");
        serializer.startTag("", "path");
        serializer.text(item.getPath());
        serializer.endTag("", "path");
        serializer.startTag("", "dirtyservices");
        serializer.attribute(
            "", "Dropbox", String.valueOf(item.getIsDirty(KMMDDropboxService.CLOUD_DROPBOX)));
        serializer.attribute(
            "",
            "GoogleDrive",
            String.valueOf(item.getIsDirty(KMMDDropboxService.CLOUD_GOOGLEDRIVE)));
        serializer.attribute(
            "", "UbutntoOne", String.valueOf(item.getIsDirty(KMMDDropboxService.CLOUD_UBUNTUONE)));
        serializer.endTag("", "dirtyservices");
        serializer.startTag("", "revcodes");
        serializer.attribute("", "Dropbox", item.getRevCode(KMMDDropboxService.CLOUD_DROPBOX));
        serializer.attribute(
            "", "GoogleDrive", item.getRevCode(KMMDDropboxService.CLOUD_GOOGLEDRIVE));
        serializer.attribute("", "UbuntuOne", item.getRevCode(KMMDDropboxService.CLOUD_UBUNTUONE));
        serializer.endTag("", "revcodes");
        serializer.endTag("", "item");
      }
      serializer.endTag("", "DeviceState");
      serializer.endDocument();
    } catch (Exception e) {
      throw new RuntimeException(e);
    }

    // Attempt to write the state file to the private storage area.
    String FILENAME = DEVICE_STATE_FILE;
    try {
      FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
      fos.write(writer.toString().getBytes());
      fos.close();
    } catch (FileNotFoundException e) {
      e.printStackTrace();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }