3

我正在使用 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" />

因此图像在那里,但路径没有以编程方式解析。

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

我正在安卓平板电脑上测试我的应用程序。

4

1 回答 1

3

我没有使用文件 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);
}
于 2012-06-28T10:43:01.143 回答