使用儲存空間Adobe AIR 2 以及更新的版本 在 AIR 2 中,當大量儲存體磁碟區掛接或卸下時,您會察覺到。StorageVolumeInfo 類別會定義一個 Singleton 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 應用程式的目錄檢視。 |
|