たURLRequestクラスとURLLoaderあなたは、インターネットからいくつかのデータを取得することができますAdobe AIRを使用してファイルをダウンロードして保存することはできますか?
0
A
答えて
6
....私はアンドロイドのためのフラッシュAIRアプリケーションを作って、私は、ファイルをダウンロードし、アプリケーションのローカルディレクトリに事前に
感謝を保存する必要があります、FileStreamをは(あなたは彼らがそれを保存する場所を選択する場合のFileReferenceを)あなたのようにローカルに保存することができます
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
creationComplete="windowedapplication1_creationCompleteHandler(event)">
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
protected function windowedapplication1_creationCompleteHandler(event:FlexEvent):void
{
// TODO Auto-generated method stub
var urlLoader:URLLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, complete_handler);
urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
urlLoader.load(new URLRequest("http://www.shaunhusain.com/CheckboxList/CheckboxList.swf"));
}
private function complete_handler(event:Event):void
{
var data:ByteArray = event.target.data;
var fr:FileReference = new FileReference();
fr.save(data, 'test.swf');
var fileStream:FileStream = new FileStream();
trace(File.applicationDirectory.nativePath);
fileStream.open(new File(File.applicationDirectory.nativePath+"\\test.swf"),FileMode.WRITE);
fileStream.writeBytes(data, 0, data.length);
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
</s:WindowedApplication>
EDIT中: AS3モバイルプロジェクトのバージョン:
package
{
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.filesystem.File;
import flash.filesystem.FileMode;
import flash.filesystem.FileStream;
import flash.net.FileReference;
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
import flash.utils.ByteArray;
public class DownloadFileMobileAS3 extends Sprite
{
public function DownloadFileMobileAS3()
{
super();
// support autoOrients
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
createLoader();
}
protected function createLoader():void
{
// TODO Auto-generated method stub
var urlLoader:URLLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, complete_handler);
urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
urlLoader.load(new URLRequest("http://www.shaunhusain.com/CheckboxList/CheckboxList.swf"));
}
private function complete_handler(event:Event):void
{
var data:ByteArray = event.target.data;
var fr:FileReference = new FileReference();
fr.save(data, 'test.swf');
var fileStream:FileStream = new FileStream();
trace("something");
trace(File.applicationDirectory);
trace(File.applicationDirectory.nativePath);
trace(File.applicationStorageDirectory.nativePath);
fileStream.open(new File(File.applicationStorageDirectory.nativePath+"\\test.swf"),FileMode.WRITE);
fileStream.writeBytes(data, 0, data.length);
}
}
}
上記のコードに2つのオプションを追加しました。ファイル参照部分を取り出すか、ファイルストリーム部分を取り出すことをお勧めします。そうでなければ、2回保存されます。
モバイルセクションを追加したばかりですが、実際にはAndroidのファイルを保存するためのダイアログが表示されますが、これまでに一度も見たことのないダイアログが表示されますそれをオーディオファイル、画像ファイル、ビデオファイルをオプションまたはデフォルト位置として/mnt/sdcard/test.swfに保存します。私はそこに保存して、ES Explorerを使って見ることができました(ただし、データが実際には正しいと思われることを確認する良い方法はありませんでした)。 applicationDirectoryを使用していたものが私の上で失敗していました。それをトレースして、nativePathが表示されていないので、値を持っていたapplicationStorageDirectoryに切り替えました。私の電話が根っこをしている私は完全にファイルを確認する方法が実際にはあるがエラーはありません。あなたがこれを試しても、あなたがまだ遭遇している特定の問題があれば教えてください。
関連する問題
- 1. Adobe AIR - ローカルデータを保存
- 2. Adobe AIRのファイル保護
- 3. Adobe AIRはファイルの拡張子を持つファイルを保存しません
- 4. Adobe Airを使用してFacebookのアプリケーションを作成できますか?
- 5. Adobe AIRを使用してAndroidモバイルアプリケーションを開発する
- 6. Adobe Air Appでバンドルして.app/.exeファイルを実行する
- 7. Adobe AIR CSSで@importを使用できますか?
- 8. Adobe Air - ウィンドウのサイズと位置を保存する
- 9. Adobe Flex/AirはRails 3.2と協議していますか?
- 10. Adobe AIR 3.0 - ADTを使用してCaptiveランタイム.APPファイルを作成する
- 11. iOS用AIRを使用したファイルのダウンロードと保存
- 12. Adobe Air + FlexでJanrain Engage(RPX)を使用していますか?
- 13. Adobe AirでHTTPServiceクラスを使用してHTTPボディを設定する
- 14. Adobe Airファイルは開けません
- 15. Adobe Air - 2.0または2.5として公開
- 16. Adobe Airでの機能の使用
- 17. Adobe AIR - キャプティブランタイム
- 18. Adobe Air - Analytics
- 19. Adobe Air stop();
- 20. Adobe AIR readLine
- 21. Adobe AIRサンプルアプリケーション?
- 22. Adobe AIR - コントロールスキャナ
- 23. Adobe AIR、メモリリーク
- 24. Adobe Air Database
- 25. Adobe Air - アプリケーションアップデータ
- 26. Flash/AIR - オンラインイメージをダウンロードしてローカルに保存することはできますか?
- 27. Adobe AIR 2.0を使用してデータベースSQLiteを暗号化する方法
- 28. Adobe AIR - イメージ付きカスタムプリローダー
- 29. Adobe Airは他のウィンドウを追跡できますか?
- 30. Adobe Flash FileReference Saveメソッド - Windows 7でファイルタイプとして保存
私はフラッシュのためにこのコードを使用していますが、私はフラッシュのためにスーツを作るためにすべてをしていたが、働いていませんでした助けてくれてありがとう。あなたはこのコードをフラッシュのために合うようにする方法を知っている.. –
ちょっとパボ、アプリケーションをコンテナとして使用し、作成完了イベントを使用しています。これはFlexの何かに本当に依存しているとは思えませんが、Flashで利用できるはずです...私はフラッシュモバイルプロジェクトを作成して投げます私が何か問題を抱えているかどうかを調べるために、問題があるかもしれないと思う唯一のことは、モバイルプラットフォーム上でどのように動作するのかわからないからです。保存するファイルや場所を選択していますが、AndroidやiOSで認識されている内蔵のファイルシステムブラウザはありません。 – shaunhusain
答えを更新しました。また、プロジェクトを作成するときに外部ストレージへの書き込みを許可することを確認したので、それを-app.xmlファイルに追加し、最終的にデバイスにインストールされたapkに追加しました。 – shaunhusain