ストレージボリュームの操作Adobe AIR 2 以降 AIR 2 では、マスストレージボリュームのマウントまたはアンマウントを検出できます。StorageVolumeInfo クラスは、シングルトンオブジェクト storageVolumeInfo を定義します。StorageVolumeInfo.storageVolumeInfo オブジェクトは、ストレージボリュームがマウントされたときに、storageVolumeMount イベントを送出します。また、ボリュームがアンマウントされたときには storageVolumeUnmount イベントを送出します。StorageVolumeChangeEvent クラスでは、これらのイベントを定義します。 注意: 最新の Linux ディストリビューションでは、StorageVolumeInfo オブジェクトは、特定の場所にマウントされた物理ドライブおよびネットワークドライブに対して storageVolumeMount および storageVolumeUnmount イベントのみを送出します。
StorageVolumeChangeEvent クラスの storageVolume プロパティは StorageVolume オブジェクトです。StorageVolume クラスは、次のようなストレージボリュームの基本的なプロパティを定義します。
StorageVolumeChangeEvent クラスには rootDirectory プロパティも含まれています。rootDirectory プロパティは File オブジェクトで、マウントまたはアンマウントされたストレージボリュームのルートディレクトリを参照します。 StorageVolumeChangeEvent オブジェクトの storageVolume プロパティは、アンマウントされたボリュームに対しては定義されていません(null)。ただし、イベントの rootDirectory プロパティにアクセスすることはできます。 次のコードでは、ストレージボリュームがマウントされたときに、その名前とファイルパスを出力します。 StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_MOUNT, onVolumeMount); function onVolumeMount(event:StorageVolumeChangeEvent):void { trace(event.storageVolume.name, event.rootDirectory.nativePath); } 次のコードでは、ストレージボリュームがアンマウントされたときに、そのファイルパスを出力します。 StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_UNMOUNT, onVolumeUnmount); function onVolumeUnmount(event:StorageVolumeChangeEvent):void { trace(event.rootDirectory.nativePath); } StorageVolumeInfo.storageVolumeInfo オブジェクトには getStorageVolumes() メソッドが含まれています。このメソッドは、現在マウントされているストレージボリュームに対応する StorageVolume オブジェクトのベクトルを返します。次のコードは、マウントされているすべてのストレージボリュームの名前とルートディレクトリのリストを表示する方法を示しています。 var volumes:Vector.<StorageVolume> = new Vector.<StorageVolume>; volumes = StorageVolumeInfo.storageVolumeInfo.getStorageVolumes(); for (var i:int = 0; i < volumes.length; i++) { trace(volumes[i].name, volumes[i].rootDirectory.nativePath); } 注意: 最新の Linux ディストリビューションでは、getStorageVolumes() メソッドは、物理デバイスおよび特定の場所にマウントされたネットワークドライブに対応するオブジェクトを返します。
File.getRootDirectories() メソッドによって、ルートディレクトリがリストされます(ファイルシステムルートの参照を参照)。ただし、StorageVolume オブジェクト(StorageVolumeInfo.getStorageVolumes() メソッドによって列挙)のほうが、ストレージボリュームに関する情報がより詳細に表示されます。 StorageVolume オブジェクトの rootDirectory プロパティの spaceAvailable プロパティを使用すると、ストレージボリューム上で利用可能な領域を確認できます(ボリューム上の利用可能な領域の特定を参照)。 テレビ用 AIR デバイスでのストレージボリュームについては、テレビ用 AIR アプリケーションのディレクトリ表示を参照してください。 |
|