Для общения с серваком, нужно отправлять ему несколько xml - так прописано в документации, и вот тут возникли сложности, так как второй xml не создается.
Пробовал:
Новый экземпляр XmlSerializer и StringWriter с другими именами- создается без ошибок, но всегда пуст, чтобы я туда не записывал.
При этом Я получаю предупреждение:
Variable xmlcreate1
initializer Xml.newSerializer()
is redundant less...
Inspection info: This inspection points out the cases where a variable value is never used after its assignment, i.e.: - the variable never gets read after assignment OR - the value is always overwritten with another assignment before the next variable read OR - the variable initializer is redundant (for one of the above two reasons)
Поставить null и выдать новый Xml.newSerializer() старому классу- Получаю тот же эффект что и при первом пункте (пустой xml)
выдать новый Xml.newSerializer() старому классу- Получаю тот же эффект что и при первом пункте (пустой xml)
Просто StartDocument - никакой реакции, просто не перезаписывает старый.
p.s сервер прекрасно реагирует на первый xml и высылает правильный ответ, который мы успешно парсим
Вот что для первого xml:
XmlSerializer xmlcreate = Xml.newSerializer();
StringWriter writer = new StringWriter();
xmlcreate.setOutput(writer);
xmlcreate.startDocument("UTF-8", true);
xmlcreate.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
xmlcreate.startTag("", "Command");
xmlcreate.startTag("","Type");
xmlcreate.text("SERVER_CONNECTION");
xmlcreate.endTag("","Type");
xmlcreate.endTag("", "Command");
xmlcreate.endDocument();
//Отправляем на сервер xml
DataOutputStream serverOutput = new DataOutputStream(s.getOutputStream());
serverOutput.writeUTF(writer.toString());
serverOutput.flush();
Вот что для второго xml:
//xmlcreate=null;
//xmlcreate = Xml.newSerializer();
//writer = new StringWriter();
//xmlcreate.setOutput(writer);
xmlcreate.startDocument("UTF-8", true);
xmlcreate.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
//Open Tag <Command>
xmlcreate.startTag("", "Command");
xmlcreate.startTag("","Type");
xmlcreate.text("SERVER_GET_SYSTEMTIME");
xmlcreate.endTag("","Type");
xmlcreate.endTag("", "Command");
serverOutput.writeUTF(writer.toString());
serverOutput.flush();
Ничего особого)
Удачные намеки на код: Вначале должно быть так:
writer = new StringWriter();
xmlcreate.setOutput(writer);
А также пропустил закрытие:
xmlcreate.endDocument();
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Учусь программироватьУ меня есть классы (Базовый и производный)
Насколько известно, изменив volatile переменную, мы остаёмся уверенны, что остальные потоки, которые будут её читать, получат новое значениеПричина...
файл сохраняется но он пустойпри дебаге выяснилось что output пустой