0

air for android を使用してフォルダとその内容をダウンロードすることはできますか? iPhoneでも同じコードを使用したいと思います。

ダウンロードしたコンテンツを参照できるように、アプリケーション ストレージに保存する必要があります。

この質問で参照されているように、コンテンツをダウンロードできることを知っています: Air For Android を使用してコンテンツをダウンロードする

しかし、フォルダ全体をダウンロードして、アプリケーション ディレクトリに再度保存することはできますか?

ありがとう

@lukevain? :)

4

2 に答える 2

0

これをWebサーバーからダウンロードしていますか?その場合、これは機能しません。phpスクリプトを使用して、リモートディレクトリ内のすべてのファイルを一覧表示することをお勧めします。

これがローカルの場合、これを使用できます。

//using the application storage dir. This will work on iOS and Android
var f:File = File.applicationStorageDirectory.resolvePath("yourFolder/"); 
//you can also use getDirectoryListingAsync to have this run in the background
var filesList:Array = f.getDirectoryListing();
for (var i:int = 0; i < filesList.length; i++) {
    trace(filesList[i].nativePath);
}
于 2012-08-28T00:52:40.057 に答える
0

これは、サーバーからフォルダーのコンテンツを取得する方法の答えではありませんが、ローカル マシンで選択したフォルダーを検索する方法です。3 レベルの深さしかなく、拡張子が null であるかどうかを確認し、フォルダーであると想定したため、フォルダーを見つけるための最良の方法ではない可能性があります。次に、そのフォルダーを検索します。とにかくここです。

テキスト フィールドを作成し、それに「daText」というインスタンス名を付ける必要があります。

コードは次のとおりです。

import flash.filesystem.*;
import flash.media.*;
var myFolder:String = "images/"; /// change this to the folder of your choice :)

var desktop:File = File.applicationDirectory.resolvePath(myFolder);
var files:Array = desktop.getDirectoryListing();
for (var i:uint = 0; i < files.length; i++)
{

    if (files[i].extension == null)
    {

        daText.text +=  files[i].name + "\n";
        var anotherArray:File = File.applicationDirectory.resolvePath(myFolder+files[i].name);
        var h:Array = anotherArray.getDirectoryListing();
        for (var a:uint = 0; a < h.length; a++)
        {
            daText.text +=  "----" + h[a].name + "\n";
            if (h[a].extension == null)
            {

                var oneMoreArray:File = File.applicationDirectory.resolvePath(myFolder+files[i].name+"/"+h[a].name+"/");
                var C:Array = oneMoreArray.getDirectoryListing();
                for (var B:uint = 0; B < C.length; B++)
                {
                    daText.text +=  "*******"+C[B].name + "\n";
                }
            }
        }
    }

}
于 2012-08-28T03:34:54.010 に答える