W środowisku AIR 2 można wykrywać podłączanie i odłączanie woluminów pamięci masowej. Klasa StorageVolumeInfo definiuje obiekt
storageVolumeInfo
typu singleton. Obiekt
StorageVolumeInfo.storageVolumeInfo
wywołuje zdarzenie
storageVolumeMount
po podłączeniu woluminu pamięci masowej. Natomiast zdarzenie
storageVolumeUnmount
wywoływane jest po odłączeniu woluminu. Zdarzenia te są zdefiniowane w klasie StorageVolumeChangeEvent.
Uwaga:
W nowoczesnych dystrybucjach systemu Linux obiekt StorageVolumeInfo wywołuje zdarzenia
storageVolumeMount
i
storageVolumeUnmount
wyłącznie w odniesieniu do urządzeń fizycznych i dysków sieciowych podłączonych w określonych miejscach.
Właściwość
storageVolume
klasy StorageVolumeChangeEvent jest obiektem StorageVolume. Klasa StorageVolume definiuje podstawowe właściwości woluminu pamięci masowej:
-
drive
— litera stacji dysków przypisana do woluminu w systemie Windows (w innych systemach operacyjnych
null
)
-
fileSystemType
— typ systemu plików na woluminie (np. "FAT", "NTFS", "HFS" lub "UFS").
-
isRemoveable
— określa, czy wolumin jest wymienny (
true
), czy nie (
false
).
-
isWritable
— określa, czy na woluminie możliwy jest zapis (
true
), czy nie (
false
).
-
name
— nazwa woluminu.
-
rootDirectory
— obiekt File odpowiadający katalogowi głównemu woluminu.
Klasa StorageVolumeChangeEvent zawiera również właściwość
rootDirectory
. Właściwość
rootDirectory
, która jest obiektem File odwołującym się do katalogu głównego podłączonego lub odłączonego woluminu pamięci masowej.
Właściwość
storageVolume
obiektu StorageVolumeChangeEvent jest niezdefiniowana (
null
) w przypadku odłączonego woluminu pamięci masowej. Można jednak uzyskać dostęp do właściwości
rootDirectory
zdarzenia.
Poniższy przykładowy kod wyświetla nazwę i ścieżkę woluminu pamięci masowej w momencie jego podłączenia:
StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_MOUNT, onVolumeMount);
function onVolumeMount(event:StorageVolumeChangeEvent):void
{
trace(event.storageVolume.name, event.rootDirectory.nativePath);
}
Poniższy przykładowy kod wyświetla nazwę i ścieżkę woluminu pamięci masowej w momencie jego odłączenia:
StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_UNMOUNT, onVolumeUnmount);
function onVolumeUnmount(event:StorageVolumeChangeEvent):void
{
trace(event.rootDirectory.nativePath);
}
Obiekt
StorageVolumeInfo.storageVolumeInfo
zawiera metodę
getStorageVolumes()
. Ta metoda zwraca wektor obiektów StorageVolume odpowiadających aktualnie podłączonym woluminom pamięci masowej. Poniższy kod ilustruje sposób generowania listy nazw i katalogów głównych wszystkich podłączonych woluminów pamięci masowej:
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);
}
Uwaga:
W nowych dystrybucjach systemu Linux metoda
getStorageVolumes()
zwraca obiekty odpowiadające urządzeniom fizycznym i napędom sieciowym podłączonym w określonych lokalizacjach.
Metoda
File.getRootDirectories()
tworzy listę katalogów głównych (zobacz
Wskazywanie katalogu głównego systemu plików
. Jednak obiekty StorageVolume (wyliczane przez metodę
StorageVolumeInfo.getStorageVolumes()
) udostępniają więcej informacji o woluminach pamięci masowej.
Właściwość
spaceAvailable
właściwości
rootDirectory
obiektu StorageVolume umożliwia odczytanie ilości miejsca dostępnego na woluminie pamięci masowej. (Zobacz
Określanie ilości miejsca dostępnego na woluminie
).