こんにちは、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
)
);
}
}
}
}