我正在使用Windows上的4.1 SDK在Flash Builder 4中创建一个Android应用程序。该应用程序首先从Internet下载一些图像并将其保存在desktopDirectory中。现在我想在我的flex移动应用程序中显示下载的图像。
问题:
图像正在从互联网上成功下载并成功保存在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平板电脑上测试我的应用程序。
答案 0 :(得分: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);
}