Operazioni con volumi di memorizzazioneAdobe AIR 2 e versioni successive In AIR 2, potete rilevare quando volumi di memorizzazione di massa vengono montati o rimossi. La classe StorageVolumeInfo definisce un oggetto storageVolumeInfo singleton. L'oggetto StorageVolumeInfo.storageVolumeInfo invia un evento storageVolumeMount quando un volume di memorizzazione viene montato, mentre invia un evento storageVolumeUnmount quando il volume viene rimosso. La classe StorageVolumeChangeEvent definisce questi eventi. Nota: nelle distribuzioni Linux moderne, l'oggetto StorageVolumeInfo invia solo eventi storageVolumeMount e storageVolumeUnmount per i dispositivi fisici e le unità di rete montate in particolari posizioni.
La proprietà storageVolume della classe StorageVolumeChangeEvent è un oggetto StorageVolume. La classe StorageVolume definisce le proprietà di base del volume di memorizzazione:
La classe StorageVolumeChangeEvent include anche una proprietà rootDirectory, ovvero un oggetto File che fa riferimento alla directory principale del volume di memorizzazione che è stato montato o rimosso. La proprietà storageVolume dell'oggetto StorageVolumeChangeEvent non è definita (null) per un volume non montato. Tuttavia, potete accedere alla proprietà rootDirectory dell'evento. Il codice seguente restituisce il nome e il percorso file di un volume di memorizzazione quando viene montato: StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_MOUNT, onVolumeMount);
function onVolumeMount(event:StorageVolumeChangeEvent):void
{
trace(event.storageVolume.name, event.rootDirectory.nativePath);
}
Il codice seguente restituisce il percorso file di un volume di memorizzazione quando viene rimosso: StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_UNMOUNT, onVolumeUnmount);
function onVolumeUnmount(event:StorageVolumeChangeEvent):void
{
trace(event.rootDirectory.nativePath);
}
L'oggetto StorageVolumeInfo.storageVolumeInfo include un metodo getStorageVolumes() che restituisce un vettore di oggetti StorageVolume corrispondenti ai volumi di memorizzazione attualmente montati. Il codice seguente mostra come elencare i nomi e le directory principali di tutti i volumi di memorizzazione montati: 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);
}
Nota: nelle distribuzioni Linux moderne, il metodo getStorageVolumes() restituisce oggetti che corrispondono ai dispositivi fisici e alle unità di rete montate in particolari posizioni.
Il metodo File.getRootDirectories() elenca le directory principali (vedete Puntamento alla directory principale di sistema. Tuttavia, gli oggetti StorageVolume (enumerati dal metodo StorageVolumeInfo.getStorageVolumes()) forniscono ulteriori informazioni sui volumi di memorizzazione. Potete utilizzare la proprietà spaceAvailable della proprietà rootDirectory di un oggetto StorageVolume per recuperare lo spazio disponibile su un volume di memorizzazione. (Vedete Rilevamento dello spazio disponibile su un volume.) Per informazioni sui volumi di memorizzazione su dispositivi AIR per TV, vedete Visualizzazione directory per applicazioni AIR per TV. |
|