|
Flash CS4-Ressourcen |
SharedObjectObject | +-SharedObject public dynamic class SharedObject extends Object In der Flash Lite-Version der SharedObject-Klasse können Flash SWF-Dateien beim Schließen des Objekts Daten auf dem Gerät speichern und diese Daten bei der erneuten Wiedergabe vom Gerät laden. Für gemeinsame Flash Lite-Objekte wird eine Anzahl von Name-Wert-Paaren auf dem Gerät gespeichert. Hinweis: Der Name „SharedObject“ ist von der Flash-Klasse „SharedObject“ abgeleitet. In der Flash-Version dieser Klasse ist es möglich, dass mehrere Flash SWF-Dateien gemeinsam auf die gespeicherten Daten zugreifen. Die Flash Lite-Version der „SharedObject“ -Klasse unterstützt die gemeinsame Verwendung der Daten aus unterschiedlichen Flash SWF-Dateien jedoch nicht. In Flash Lite gilt eine SWF-Datei als andere Version, wenn sie durch Ändern der ursprünglichen Version entstanden ist, selbst wenn sie den gleichen Namen trägt. Dies unterscheidet sich von Flash Player. Dort gelten SWF-Dateien als identisch, wenn die entsprechende URL und der Name gleich sind, selbst wenn die SWF-Datei geändert wurde. In Flash Lite können zwei unterschiedliche Versionen einer SWF-Datei nicht auf die gemeinsamen Objekte der jeweils anderen Version zugreifen. Zur Konsistenz mit der Flash-Plattform werden im Flash Lite Player dasselbe ActionScript-Konstrukt und dieselben Aufrufkonventionen verwendet. In den folgenden Beispielen werden die mit gemeinsamen Objekten verfügbaren Möglichkeiten vorgestellt.
Hinweis: Da der Speicherplatz auf Mobilgeräten begrenzt ist, sind die Daten nicht zuverlässig permanent vorhanden. Unter bestimmten Umständen werden die ältesten Daten durch die Plattform vom Gerät gelöscht. Verwenden Sie zum Erstellen eines lokalen gemeinsamen Objekts die folgende Syntax: var so:shared object = shared object.getLocal("mySharedObject");
Auf einem Handset kann das Lesen und Schreiben der Daten einige Zeit in Anspruch nehmen. Um sicherzustellen, dass Daten sofort bei Anforderung aus der Anwendung verfügbar sind, müssen Sie in Flash Lite 2.0 einen Listener einrichten. Der Player startet den Listener, wenn das Gerät die Daten des gemeinsamen Objekts geladen hat. Methoden, die auf die von getLocal() zurückgegebene SharedObject-Instanz zugreifen, müssen bis zum Start des Listeners warten, bevor auf die Daten zugegriffen werden kann. BeispielIm folgenden Beispiel erstellt eine SWF-Datei eine Listener-Funktion mit dem Namen Prefs und anschließend ein gemeinsames Objekt. Der Player ruft die Funktion loadCompletePrefs auf, sobald die Daten verfügbar sind. function loadCompletePrefs (mySO:SharedObject) {
if (0 == mySO.getSize() )
{
// If the size is 0, we need to initialize the data:
mySO.data.name = "Sigismund";
mySO.data.email = "siggy@macromedia.com";
}
else
{
// Trace all the data in mySO:
trace( "Prefs:" );
for (var idx in mySO.data) {
trace( " " + idx +": " + mySO.data[idx] );
}
}
}
SharedObject.addListener( "Prefs", loadCompletePrefs );
// We can now create the shared object:
var Prefs:SharedObject = SharedObject.getLocal("Prefs");
Wenn der Player den Listener benachrichtigt hat, dass die Daten verfügbar sind, kann die Anwendung das vom Aufruf der getLocal()-Methode zurückgegebene gemeinsame Objekt so verwenden wie in Flash. Durch die Anwendung können während der Wiedergabe Eigenschaften hinzugefügt, geändert oder entfernt werden. Beim Entladen des Inhalts wird das gemeinsame Objekt unter Umständen auf das Gerät geschrieben. Um jedoch sicherzustellen, dass dies wirklich geschieht, muss die Anwendung durch Aufruf der flush()-Methode einen Schreibvorgang erzwingen. Gemeinsame Flash Lite-Objekte sind nur für lokal gespeicherte SWF-Dateien verfügbar. SWF-Dateien, die in einem netzwerkfähigen Browser wiedergegeben werden, können keine gemeinsamen Flash Lite-Objekte verwenden. Die Gesamtspeichergröße für gemeinsame Flash Lite-Objekte pro SWF-Datei ist durch das Gerät auf einen vordefinierten Wert begrenzt. Diese Größe kann mit der SharedObject.getMaxSize()-Methode ermittelt werden. Hinweis: Gemeinsame Remote-Objekte werden in Flash Lite 2.0 nicht unterstützt. Übersicht über Eigenschaften
Von der Object-Klasse vererbte Eigenschaften Übersicht über Methoden
Von der Object-Klasse vererbte Methoden |