0

こんにちは、Android用のairを使用してflash pro cs6で作成しているアプリで、.datファイルではなく.txtファイルから速度を読み取る必要があります。

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 に答える