编程语言
首页 > 编程语言> > android-使用nativePath在Flex移动应用程序中不显示图像

android-使用nativePath在Flex移动应用程序中不显示图像

作者:互联网

我正在Windows上使用4.1 SDK在Flash Builder 4中创建一个android应用程序.该应用程序首先从Internet下载一些图像,并将其保存在desktopDirectory中.现在,我想在我的Flex移动应用程序中显示下载的图像.

问题:

图像已成功从Internet下载并成功保存在desktopDirectory中.

现在,当我尝试使用nativePath显示图像时,将不显示该图像.显示带有问号的蓝色小图标,而不显示图像.我正在使用的代码如下:

displayContainer.removeAllElements();
var image:spark.components.Image = new spark.components.Image();
var imageFile:File = File.desktopDirectory.resolvePath(desktopFilePath);
if(imageFile.exists)
{
    var imagePath:String = File.desktopDirectory.resolvePath(desktopFilePath).nativePath;

    image.source = imagePath;
    trace("Image Path: " + imagePath);
    displayContainer.addElementAt(image,1);
}

当我跟踪图像文件是否存在时,表明文件存在.但是该文件未显示在应用程序中.

但是,当我在代码中对图像路径进行硬编码时,将显示图像:

<s:Image id="a1" source="data/02.jpg" />

因此,图像在那里,但是路径无法通过程序解析.

我究竟做错了什么?请指导.

我正在android平板电脑上测试我的应用程序.

解决方法:

我没有使用文件nativePath,而是使用文件url,并且得到了解决问题的方法.请查看下面的代码,该代码正在运行:

displayContainer.removeAllElements();
var image:spark.components.Image = new spark.components.Image();
var imageFile:File = File.desktopDirectory.resolvePath(desktopFilePath);
if(imageFile.exists)
{
    var imagePath:String = File.desktopDirectory.resolvePath(desktopFilePath).url;

    image.source = imagePath;
    trace("Image Path: " + imagePath);
    displayContainer.addElementAt(image,1);
}

标签:air,flex4-5,apache-flex,actionscript-3,android
来源: https://codeday.me/bug/20191201/2078554.html