Я работаю в приложении, которому нужно написать файл .xml
. Сейчас файл заполняется только после перезапуска Android device
, и я не понимаю, почему. Это мой код:
override fun doInBackground(vararg params: Void?): Boolean {
val sagaCollectFolder = File(Environment.getExternalStorageDirectory(), ".sagacollect")
if (!sagaCollectFolder.exists())
sagaCollectFolder.mkdir()
try {
val file = File(
sagaCollectFolder,
"collect.xml"
)
file.createNewFile()
val factory: DocumentBuilderFactory = DocumentBuilderFactory.newInstance()
val builder: DocumentBuilder = factory.newDocumentBuilder()
val doc: Document = builder.parse(InputSource(StringReader(JRPresenter.getFilledFormXml().toString())))
// Write the parsed document to an xml file
val transformerFactory: TransformerFactory = TransformerFactory.newInstance()
val transformer: Transformer = transformerFactory.newTransformer()
val source = DOMSource(doc)
val result = StreamResult(file)
transformer.transform(source, result)
} catch (exception: Exception) {
Log.e(TAG, exception.toString())
}
return true
}
Здесь я выполняю AsyncTask
:
fun saveResult(index: FormIndex, answer: IAnswerData?) {
formController.saveAnswer(index, answer)
WriteCacheAsync().execute()
}
Кто-нибудь знает, что я должен изменить, чтобы заполнить файл после вызова метода и не после перезагрузки устройства?
Ура,
Маурисио