1. 目标: 将字节流图片保存在安卓本地路径,如 "/data/mypppd/"下,
file = File.documentsDirectory.resolvePath("/data/mypppd/"+countPoint+".jpg");
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.WRITE);
fileStream.writeBytes(bytes[countPoint]);
fileStream.close();
2. 目标: 从安卓本地目录读取图片文件显示(比如用来显示广告图片)
如
从"/data/mypppd/"下读取图片显示,事先不知道该目录下有几个文件,提供一种解决方案,初始化一个数组,这里长度设为7,显示时依次循环,遇到不存在的直接跳到下一次循环,这样就能依次显示0-7张图片中的任一种情况。
a. 从本地读取图片文件(保存在urlReq中即可通过load访问)
var file:Array = new Array();
var urlReq:Array = new Array();
for (var j:int = 0; j < 7; j++)
{
var path:String = "/data/mypppd/"+ (j+1) + ".jpg";
file[j] = File.documentsDirectory.resolvePath(path);
urlReq[j] = new URLRequest(file[j].url);
}
b. 显示图片
protected function myload():void
{
img1 = new Image;
load = new Loader;
//监听文件不存在时error事件
load.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, LoadErrorHandler);
//if (urlReq[index] != null)
//装载图片到load中
load.load(urlReq[index]);
//全局变量index,控制图片序号,初始化为0
index++;
if (index >= 7)
index = 0;
//图片装载完成事件
load.contentLoaderInfo.addEventListener(Event.COMPLETE, imgLoaded);
}//图片文件不存在时继续调用myload(),寻找下一张
private function LoadErrorHandler(event:IOErrorEvent):void
{
trace(event.toString());
if (index >= 7)
index = 0;
myload();
}//加载结束后调用函数
private function imgLoaded(e:Event):void
{
//将加载的图片显示在名称为pic的image控件中,
pic.source=load.content;
//可见
image.visible = true;
}
FLEX AIR 读写安卓本地文件,布布扣,bubuko.com
时间: 2024-08-09 22:03:00