Arbeiten mit SpeichermedienAdobe AIR 2 und höher In AIR 2 kann das Mounten und Unmounten von Massenspeichermedien erkannt werden. Die StorageVolumeInfo-Klasse definiert ein storageVolumeInfo-Singleton-Objekt. Das StorageVolumeInfo.storageVolumeInfo-Objekt setzt ein storageVolumeMount-Ereignis ab, wenn ein Speichermedium gemountet wird. Beim Unmounten eines Speichermediums setzt es ein storageVolumeUnmount-Ereignis ab. Die StorageVolumeChangeEvent-Klasse definiert diese Ereignisse. Hinweis: In modernen Linux-Distributionen setzt das StorageVolumeInfo-Objekt nur storageVolumeMount- und storageVolumeUnmount-Ereignisse für physische Geräte und Netzwerkgeräte ab, die an bestimmten Orten bereitgestellt werden.
Die storageVolume-Eigenschaft der StorageVolumeChangeEvent-Klasse ist ein StorageVolume-Objekt. Die StorageVolume-Klasse definiert grundlegende Eigenschaften des Speichermediums:
Die StorageVolumeChangeEvent-Klasse enthält auch die rootDirectory-Eigenschaft. Die rootDirectory-Eigenschaft ist ein File-Objekt, das auf das Stammverzeichnis des Speichermediums verweist, für das ein Mounten oder Unmounten durchgeführt wurde. Die storageVolume-Eigenschaft des StorageVolumeChangeEvent-Objekts ist für ein nicht gemountetes Speichermedium nicht definiert (null). Sie können jedoch auf die rootDirectory-Eigenschaft des Ereignisses zugreifen. Der folgende Code gibt den Namen und den Dateipfad eines Speichermediums beim Mounten aus: StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_MOUNT, onVolumeMount);
function onVolumeMount(event:StorageVolumeChangeEvent):void
{
trace(event.storageVolume.name, event.rootDirectory.nativePath);
}
Der folgende Code gibt den Dateipfad eines Speichermediums beim Unmounten aus: StorageVolumeInfo.storageVolumeInfo.addEventListener(StorageVolumeChangeEvent.STORAGE_VOLUME_UNMOUNT, onVolumeUnmount);
function onVolumeUnmount(event:StorageVolumeChangeEvent):void
{
trace(event.rootDirectory.nativePath);
}
Das StorageVolumeInfo.storageVolumeInfo-Objekt enthält eine getStorageVolumes()-Methode. Diese Methode gibt einen Vektor der StorageVolume-Objekte zurück, die den derzeit gemounteten Speichermedien entsprechen. Mit dem folgenden Code werden die Namen und Stammverzeichnisse aller gemounteten Speichermedien aufgelistet: 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);
}
Hinweis: Auf modernen Linux-Distributionen gibt die getStorageVolumes()-Methode Objekte zurück, die physischen Geräten und an bestimmten Orten gemounteten Netzwerklaufwerken entsprechen.
Die File.getRootDirectories()-Methode listet die Stammverzeichnisse auf (siehe Verweisen auf das Stammverzeichnis des Dateisystems). Das StorageVolume-Objekt (von der StorageVolumeInfo.getStorageVolumes()-Methode aufgezählt) liefert jedoch mehr Informationen über die Speichermedien. Mit der spaceAvailable-Eigenschaft der rootDirectory-Eigenschaft eines StorageVolume-Objekts kann der verfügbare Speicherplatz auf einem Speichermedium festgestellt werden. (Siehe Ermitteln des auf einem Datenträger verfügbaren Speicherplatzes.) Informationen zu Speichermedien auf AIR für TV-Geräten finden Sie unter Verzeichnisansicht für AIR für TV-Anwendungen. |
|