Как записать вывод трассировки в текстовый файл без веб-сервера в AS3 - PullRequest
1 голос
/ 12 ноября 2009

У меня есть приложение, которое записывает следы с отметкой времени при нажатии или доступе к определенным элементам. Мне нужно записать их в текстовый файл журнала, чтобы к ним можно было получить удаленный доступ. Устройство, на котором работает приложение, не имеет веб-сервера и не запускает проигрыватель отладки флэш-памяти, os is xp. Как я могу отправить эти следы в текстовый файл? Я заметил Arthropod пишет в HTML-файл, но мне нужно сделать это автоматически без взаимодействия .. какие-либо предложения?

Ответы [ 4 ]

2 голосов
/ 12 ноября 2009

Adobe Air предоставляет API-интерфейс для файлового ввода-вывода через класс FileStream.

Вы также можете использовать встроенную базу данных SQLite, если вам нужно хранить полные журналы.

1 голос
/ 02 декабря 2009

У меня была такая же проблема с моим видеоплеером. Вот что я придумал.

Я создал статический класс Log, который я использую вместо trace.

Log.s("[info] Bla.onRemove")

Затем внутри статического метода s я помещаю строку в массив и отслеживаю строку. Я добавил опцию щелчка правой кнопкой мыши, чтобы скопировать логи в буфер обмена. О, возможно, вы захотите зашифровать журналы, чтобы пользователь их не видел.

Я сомневался в том, чтобы поместить это множество элементов в массив. Но после некоторого профилирования и тестирования у меня было более 60 тыс. Элементов в массиве, и я не заметил увеличения объема памяти, поэтому думаю, что это довольно безопасно.

Другие мои идеи заключались в том, чтобы создать приложение AIR и подключить его через LocalConnection, но у меня были некоторые проблемы с установкой этого подключения. Хотя у меня гораздо меньше уверенности в стабильности LocalConnections.

Если вам нравится это решение и вы хотите увидеть больше кода, дайте мне знать.

1 голос
/ 12 ноября 2009

Adobe AIR - это определенно верный путь, некоторые неясные другие возможности могут быть:

использовать Flash 5 и fscommand ("save", "file.txt"); см. Сообщение на moock.org

или вы можете сохранить данные в SharedObject и попытаться получить доступ к объектам на жестком диске. Больше информации здесь

0 голосов
/ 12 ноября 2009

Вы можете настроить веб-хостинг и написать веб-сервис, который создает файл журнала или сохраняет его в базе данных, и вызывать веб-сервис.

Или вы можете использовать что-то вроде dropbox или syncplicity для синхронизации локального текстового файла с их серверами или другим компьютером

...