簡體   English   中英

適用於Android的AS3 Air文件路徑

[英]AS3 Air for Android filepath

您好,謝謝您的幫助...

我具有以下功能,應在應用程序存儲目錄的子文件夾中顯示所有圖像:

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的沙箱問題,或者我使用的文件路徑不正確。

任何意見是極大的贊賞

如果使用Loader,則應引用File對象的url屬性而不是nativePath 這將為您提供一個Loader友好的app-storage:/方案,而不是file:/樣式參考。

不過,最重要的是,每次加載文件時,您都應該偵聽錯誤:

thumb_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
thumb_loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM