首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于安卓文件的AS3 Air

用于安卓文件的AS3 Air
EN

Stack Overflow用户
提问于 2016-06-23 00:51:05
回答 1查看 651关注 0票数 0

你好,谢谢你的帮助.

我有以下功能,应该在应用程序存储目录的子文件夹中显示所有图像:

代码语言:javascript
复制
public function mygallery():void
{
        var gallery:File = File.applicationStorageDirectory.resolvePath("IMAGES/");
        var gfiles:Array = gallery.getDirectoryListing();

        var gcount:int = 0;
        gcount = gfiles.length;

        var x_counter:Number = 0;
        var y_counter:Number = 0;

        createContainer();
        callThumbs();

        function createContainer():void
        {
            container_mc = new MovieClip();
            container_mc.x = gx;
            container_mc.y = gy;
            //container_mc.width = gthumbw;
            //container_mc.height = gthumbh;
            addChild(container_mc);
        }

        function callThumbs():void
        {
            for (var j:uint = 0; j < gcount; j++)
            {
                var thumb_url = gfiles[j].nativePath;
                var thumb_loader = new Loader();
                thumb_loader.load(new URLRequest(thumb_url));
                thumb_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, thumbLoaded);

                thumb_loader.x = (gthumbw+gspw)*x_counter;
                thumb_loader.y = (gthumbh+gsph)*y_counter;
                if (x_counter+1 < gcol)
                {
                    x_counter++;
                }else
                {
                    x_counter = 0;
                    y_counter++;
                }
                //trace(gfiles[j].nativePath);
            }
        }

        function thumbLoaded(e:Event):void
        {
            var my_thumb:Loader = Loader(e.target.loader);

            my_thumb.width = gthumbw;
            my_thumb.height = gthumbh;

            container_mc.addChild(my_thumb);
        }
}

gcount返回文件夹中正确的文件数,但由于某种原因,图像根本不显示。

当我在windows中运行它时,它工作得很好,这使我相信这要么是Android的沙箱问题,要么是我使用文件路径的错误。

如有任何建议,我们深表感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-23 04:36:29

如果使用Loader,则应该引用File对象的url属性而不是nativePath。这将为您提供一个Loader友好的app-storage:/方案,而不是file:/风格的参考。

但是,首先也是最重要的是,无论何时加载文件,都应该侦听错误:

代码语言:javascript
复制
thumb_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
thumb_loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37980542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档