この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
AIR for AndroidでSDカードにファイルアクセスするサンプルを作ってみました。 テキストエリアの文字列を読み書きするだけの簡単なものです。
ポイントはFile.userDirectoryでSDカードのルートディレクトリを取得できることです。 それ以外はデスクトップのAIRと同じです。
あとSDカードに読み書きするための権限が必要なのでADFファイル内の android.permission.WRITE_EXTERNAL_STORAGE をコメントアウトしておく必要があります。
以下がソースです。
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark">
<fx:Script>
<![CDATA[
private function read():void {
var file:File = File.userDirectory.resolvePath("sample.txt");
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.READ);
textInput.text = fileStream.readMultiByte(file.size, File.systemCharset);
fileStream.close();
}
private function write():void {
var file:File = File.userDirectory.resolvePath("sample.txt");
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.WRITE);
fileStream.writeMultiByte(textInput.text, File.systemCharset);
fileStream.close();
}
]]>
</fx:Script>
<s:VGroup width="100%" height="100%">
<s:TextArea id="textInput" width="100%" height="100%"/>
<s:HGroup width="100%">
<s:Button width="100%" label="READ" click="read()"/>
<s:Button width="100%" label="WRITE" click="write()"/>
</s:HGroup>
</s:VGroup>
</s:Application>