2009-11-12 4 views
1

특정 항목을 클릭하거나 액세스 할 때 타임 스탬프가있는 추적을 작성하는 응용 프로그램이 있습니다. 원격으로 액세스 할 수 있도록 이들을 텍스트 로그 파일에 기록해야합니다. 앱이 실행되는 장치는 웹 서버가없고 플래시 디버그 플레이어를 실행하지 않습니다. os는 xp입니다. 어떻게 이러한 흔적을 텍스트 파일로 보낼 수 있습니까? 내가 Arthropod html 파일에 씁니다,하지만 난 자동으로 상호 작용없이 이것을해야합니다 .. 어떤 제안?AS3에서 웹 서버없이 텍스트 파일에 추적 출력을 쓰는 방법

답변

2

어도비 에어를 동기화 dropbox 또는 syncplicity 같은 것을 사용할 수는 FileStream 클래스를 통해 파일 I/O API를 제공합니다.

전체 로그를 저장해야하는 경우 포함 된 SQLite db를 사용할 수도 있습니다.

+0

감사합니다 당신이 문제를 해결했습니다! – martin

+0

좋습니다! 이 경우 올바른 답변으로 표시하면 좋을 것입니다. 건배. – Peiniau

0

웹 호스트를 설정하고 로그 파일을 만들거나 데이터베이스에 저장하는 웹 서비스를 작성하고 웹 서비스를 호출 할 수 있습니다.

아니면 자신의 서버에 로컬 텍스트 파일 또는 다른 컴퓨터

+0

이 장치에는 인터넷에 대한 외부 액세스 권한이 없습니다. 로그 파일은 3G를 통해 retieved 있습니다. 나는 여전히 드롭 박스 또는 syncplicity를 사용하는 텍스트 파일을 만들어야 만합니다 ... 그리고 그것이 내가 붙어있는 곳입니다 ... – martin

1

어도비 AIR는 확실히 길을 가야하는 것입니다, 일부 모호한 다른 가능성이있을 수 :

사용 플래시 5와의 fscommand ("file.txt를"을 "저장"); see a post on moock.org

또는 SharedObject에 데이터를 저장하고 하드 드라이브의 개체에 액세스 할 수 있습니다. 자세한 정보 here

+0

감사합니다. 예, Adobe Air가 오늘을 저장했습니다. – martin

1

내 비디오 플레이어에서 이와 동일한 문제가있었습니다. 여기에 내가 생각해 낸 것이있다.

추적 대신 사용하는 정적 로그 클래스를 만들었습니다.

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

그런 다음 static s 메소드 내에서 문자열을 배열로 푸시하고 문자열을 추적합니다. 오른쪽 클릭 옵션을 추가하여 로그를 클립 보드에 복사했습니다. 아, 로그를 암호화하여 사용자가 볼 수 없도록 할 수 있습니다.

이 많은 항목을 배열로 푸시하는 것에 대해 의문의 여지가있었습니다. 그러나 프로파일 링 및 테스트를 한 후 배열에 60,000 개가 넘는 항목이 있었으며 메모리가 증가하지 않았으므로 매우 안전하다고 생각했습니다.

다른 아이디어는 AIR 응용 프로그램을 만들어 LocalConnection을 통해 연결하는 것이었지만 그 연결을 작동시키는 데 몇 가지 문제가있었습니다. LocalConnections의 안정성에 대한 확신이 훨씬 적습니다.

이 솔루션이 마음에 드시면 더 많은 코드를보고 싶습니다.