0

嗨,我希望我在 flash pro cs6 中使用 air for android 制作的应用程序从 .txt 文件而不是 .dat 文件中读取速度。

我如何着手更改下面在 Actionscript 3 中完成的代码以执行此操作,因为我希望更容易更改数字并测试速度计应用程序再次使用不同的速度信息工作。

您还可以让我知道如何将数字放入 .txt 文件中以供读取。

目前我只是使用手机中的 gps 二进制记录速度文件来测试它,但我无法更改这个 .dat 文件的值,所以我无法测试一些最高速度。

这是我将如何纠正以使用 txt 文件的代码:

package
{
import flash.events.EventDispatcher;
import flash.events.GeolocationEvent;
import flash.events.TimerEvent;
import flash.filesystem.File;
import flash.filesystem.FileMode;
import flash.filesystem.FileStream;
import flash.utils.Timer;

public class GeolocationSimulate
    extends EventDispatcher
    implements IGeolocation
{   
    static private const DEFAULT_DELAY :Number = 1000;
    static private const FILE          :String = "gps.dat";

    private var filestream :FileStream;
    private var timer      :Timer;

    public function GeolocationSimulate()
    {
        timer = new Timer( DEFAULT_DELAY );
        timer.addEventListener( TimerEvent.TIMER, handleTimer );
        timer.start();

        var file :File = File.userDirectory;
        file = file.resolvePath( FILE );            
        filestream = new FileStream();
        filestream.open( file, FileMode.READ );
    }

    public function setRequestedUpdateInterval( interval :Number ) :void
    {
        timer.delay = interval;
    }

    private function handleTimer( e :TimerEvent ) :void
    {
        if( filestream != null )
        {
            var speed :Number;

            if( filestream.bytesAvailable )
            {
                speed = filestream.readFloat();
            }
            else
            {
                filestream.position = 0;
                speed = filestream.readFloat();
            }

            dispatchEvent(
                new GeolocationEvent(
                    GeolocationEvent.UPDATE,
                    false,
                    false,
                    0,
                    0,
                    0,
                    0,
                    0,
                    speed,
                    0,
                    0
                )
            );
        }
    }
}

}

4

1 回答 1

0

不确定这是否是您想要的,但您可以通过这种方式将文本写入文件:

    var file :File = File.userDirectory;
    file = file.resolvePath( FILE );            
    filestream = new FileStream();
    filestream.open( file, FileMode.WRITE); (or FileMode.APPEND if you want to add text to end of existing file)
    filestream.writeUTFBytes(yourTextHere);
    filestream.close();
于 2013-04-20T20:36:09.343 回答