2017-01-10 8 views
-1

이것은 Adobe Air를 통해 Android 장치에 배포 할 Flash 응용 프로그램입니다. 안드로이드 장치에 나타나는 대화 상자없이 메모장 .txt 파일에 사용자의 사용자 이름과 점수 (boxTwo.text + _clickTxt.text)를 저장하려고합니다. 저장 버튼 (btnSave)을 누르면 생성됩니다. 나는 그것을 작동하게 만들 수 없다. 감사! 이건 내 코드입니다 :AS3/AIR, 대화 상자없이 저장 버튼을 눌러 .txt 파일 생성

기본으로
import flash.net.FileReference; 
import flash.events.Event; 

var so:SharedObject = SharedObject.getLocal("Test"); 
var f:File=new File("path\to\file.txt") 
var str:FileStream=new FileStream(); 

btnSave.addEventListener(MouseEvent.CLICK, onClick); 
function onClick(e:MouseEvent):void 
{ 
    so.data.saveData = currentFrame; 
    so.flush(); 

} 

btnSave.addEventListener (MouseEvent.CLICK, saveFile) 
function saveFile(evt):void 
{ 
    str.open(f, FileMode.WRITE); 
    str.writeUTFBytes(boxTwo.text + _clickTxt.text); 
    str.close(); 
} 
+1

'내가 할 수없는 허용 된 디렉토리로 경로를 변경 (이 다른 디렉토리는 각 플랫폼에 특정하지만 일반적으로 그들은이 3 종류가 있습니다) 정확히 그것이 의미합니까? 그것은 추락합니까? 또는 무엇을? –

+0

@VladMatvienko 메모장 파일을 저장하기 전에 확인/대화 상자가 먼저 나타납니다. 메모장 파일의 위치를 ​​묻습니다. 내가 원하는 것은 대화 상자없이 저장된다는 것입니다. 고맙습니다! – niagrafallsxxx

답변

0

어도비 에어에만 액세스를 작성 얻을 수있는 디렉토리에 파일을 쓸 수 없습니다 :

  • 는 File.applicationStorageDirectory
    • 의 File.documentsDirectory
    • "browseForDirectory()"대화 상자에서 선택한 디렉토리

      fil eVariable.browseForDirectory ("디렉토리 선택");

    그래서 그냥 무엇을 work`

    var string:String = "Text"; 
        var file:File = File.documentsDirectory.resolvePath("myTxtFile.txt"); 
        var stream:FileStream = new FileStream(); 
        stream.open(file, FileMode.WRITE); 
        stream.writeUTFBytes(string); 
        stream.close(); 
    
    +0

    은 Adobe Air에서 작동합니까? – niagrafallsxxx